Skip to content
Tape

Docs

How a tape works, how to decode one by hand, and what can go wrong.

A tape

A tape is an ERC-721 token with an ERC-6551 account bound to it. Minting deploys that account and seeds 70% of the mint price into it as working capital. The token owns the account; transferring the token transfers control of everything in it.

A tape can hold three assets: NVDA, ETH and USDG. The set is fixed at construction with no setter. In v1 every strategy trades NVDA against USDG.

The account values itself from balances it has accounted for, not from raw balanceOf. Sending tokens to a tape does not raise its score — a donation has to be converted into a share-minting deposit by the owner before it counts, and even then it is capital arriving rather than performance.

Strategies

Three kinds, all set by the tape’s owner and all public on-chain, because a strategy nobody can read cannot be copied and copying is part of the protocol.

  • Threshold — buy NVDA below a price, sell above another. One direction per crank.
  • Schedule — trade a fixed proportion at a fixed interval, one direction.
  • Band — hold a target proportion of NVDA and trade back toward it when the position drifts outside a tolerance.

Changing a strategy prints a row on the tape. The record is of what the tape did and what it was told to do, and a change that left no trace would make the record a summary rather than a log.

Execution

Cranking is permissionless. Anyone can execute any tape whose conditions are met, and the caller is paid a bounty for it, so a tape trades whether or not its owner is watching.

Every execution is priced through a Chainlink feed and bounded: the fill must land within 1.00% of the oracle-implied output. The bound is enforced twice — in the executor and again in the account against the balance change it actually measured — and a trade whose bound would round to zero is refused rather than executed.

A per-tape cooldown prevents the same tape being cranked twice in a block, and a minimum trade value stops dust-sized churn eating a small tape alive on fees.

Fees are 0.30% of the trade: 0.20% to the protocol and 0.10% to whoever cranked. Both are taken from the trade’s NVDA leg.

Scoring

A tape’s score is its price per share since mint, divided by what buying and holding NVDA over the same period would have returned. 1.00 is exactly the benchmark.

Deposits and withdrawals mint and burn shares at the prevailing price per share, so adding or removing capital does not move the score. Only trading does.

A tape needs at least four prints in an epoch to be ranked. Fewer than that is not a strategy, it is a coin flip with a number attached.

Distribution

Protocol fee revenue splits four ways:

  • 40% — performance pool, weighted by score above 1.00
  • 25% — activity pool, split equally across tapes that executed
  • 20% — buyback, to the treasury
  • 15% — operations and settlement bounties

Epochs are weekly and settled by a permissionless crank that pays its caller. Payouts land in each tape’s own account.

When no ranked tape beats the benchmark the performance pool has no recipient. It is not burned and not swept to the treasury: it carries into the next epoch’s performance pool whole, and is never taxed a second time. Carry re-enters the performance pool only, so a share of it always has to be earned by beating the benchmark.

Two consequences worth knowing. Carry is paid to whoever qualifies in the destination epoch, and the amount is visible on-chain before that epoch closes. And carry has no expiry — in a stretch where nobody beats the benchmark it accumulates rather than draining.

The distributor has no owner, no role, no guardian, no pause and no upgrade path. Every function on it is callable by anybody and none of them can redirect a payout.

When the market is closed

A tape does not trade, and an epoch does not settle, while the US equity market is shut. This is designed behaviour, not an outage.

NVDA’s feed holds its last price and stops heartbeating when the market closes. Measured on-chain, the longest gap between publications was about 52 hours — a weekend. Every price the protocol reads is staleness-checked, so during that window cranks revert and settlement waits. An epoch that ends on a Saturday settles on Monday. Nothing is lost.

Only feeds the protocol actually reads can pause it: the benchmark, plus any asset a tape genuinely holds. An asset nothing holds cannot freeze anything.

The hole encoding

The holes are not decoration shaped like data. Each character’s eight data positions carry that character’s real 7-bit code, so a tape decodes to the text printed above it.

To decode a row by hand:

  1. 1 — Read the 8 data cells of a character left to right.
  2. 2 — Skip the sprocket cell in the middle; it is always lit and carries nothing.
  3. 3 — Take them as bits 0 through 7, leftmost cell being bit 0.
  4. 4 — The byte is the ASCII code of the character printed above.

The mark in the corner of this page is one such row. It spells T: code 84, which is bits 2, 4 and 6, which is why it reads as three dots and a sprocket.

Brightness is set by the row, not the character. Every hole in a print that beat the benchmark is lit; every hole in one that missed is weak. Mixed rows do not exist.

Risk

This protocol is unaudited. No third-party security review has been completed.

Five adversarial review passes have been run against this codebase and each one found defects the previous had missed, including in the fixes the previous pass had made. That is evidence the review was real, not evidence the code is finished.

Most tapes will lose to the benchmark. That is what happens to most active strategies in every market that has existed. A tape below 1.00 is the expected case, not a malfunction.

Contracts are immutable. There is no admin key on the distributor and no upgrade path anywhere. A bug found after mint cannot be patched — it can only be worked around by deploying something new, and the tapes and their accounts stay where they are.

Execution depends on outside systems. The protocol reads Chainlink feeds and trades on Uniswap. A feed that stops publishing halts cranks and settlement for as long as the outage lasts. A pool that loses its liquidity makes fills worse.

A tape can lose money. It trades a real asset with real capital, pays fees on every execution, and nothing guarantees a strategy works. The benchmark can also fall; beating it is not the same as making money.

Not deployed. The contracts are not live, no date is set, and a required price feed for USDG has not been confirmed on the chain. Nothing on this site is an offer.

None of this is investment advice, and nobody involved is a licensed advisor.