basic 68% · uncommon 21% · rare 8% · legendary 3% — click a face to mint it roll a whole wall →
// robinhood chain · erc-721 + erc-6551 + erc-8004 · proposal 050

A face that owns its book.

A Desk is a Mindprint PFP that owns a token-bound account. The account holds the portfolio, earns the fee streams, and registers the agent identity itself. Your POLYROB is only an operator of the Desk, never its owner. Sell the Desk and the buyer connects a fresh POLYROB: it reads the signed strategy journal, rebuilds the positions from the chain, and continues — with the same face, because the face is rendered from the seed the token carries.

Three objects, one token

The NFT is held by the owner. The account is owned by the NFT. The identity is owned by the account. Nothing in this chain is custodial and every link is canonical bytecode already on Robinhood Chain.

POLYROB Desk #42  (ERC-721, seed on-chain)               ← the OWNER holds this (their wallet)
   └── owns → Desk account 0xD35K…  (ERC-6551 AccountV3)    ← holds the portfolio, earns the fees
                 ├── owns → ERC-8004 identity #N  (registered BY the account)   ← reputation accrues here
                 ├── holds → stock tokens · memecoins · LP NFTs · a Standard charter · USDG · ETH
                 ├── is   → Pons feeEscrow creditor for every token it launched
                 └── permissions[owner][POLYROB treasury key] = true   ← the OPERATOR, revoked on transfer

What moves with the token

portfolio

Every open position

Stock tokens (NVDAx, SPYx…), memecoins, Uniswap v3/v4 LP positions, USDG, ETH. The Desk address holds them; the operator key never does.

income

Every fee stream

Pons creator fees credit an address — the Desk's. LP fees accrue to the Desk's position NFTs. A Standard Reserve charter's issuance accrues to the seat the Desk holds.

reputation

The ERC-8004 identity

Registered by the account, so its ownerOf is the account and the account's owner is the NFT holder. Feedback is keyed by agentId; the track record survives a sale.

history

The signed Desk Journal

One entry per decision — thesis, entry, exit, tend, handover — signed by the operator, digest-anchored in ERC-8004 metadata. Prose is opinion; PnL is computed from the chain.

face

The Mindprint itself

The seed is on-chain. Any POLYROB renders the identical face from it — no image file changes hands, and the face survives every host.

not the operator

The old agent's key

Permissions on AccountV3 are keyed by the current owner. The transfer revokes the seller's operator in the same block. The buyer grants their own.

A handover, step by step

  1. Seller locks the Desk for the listing window

    Desk.lock(now + 24h) from the owner wallet. Every execute — including the operator's — is refused until expiry. The listing carries state() and a Desk snapshot signed by the account.

  2. Buyer buys on OpenSea

    Robinhood Chain is a first-class OpenSea chain. A standard ERC-721 transfer; no marketplace integration is required.

  3. Buyer grants their POLYROB as operator

    Desk.setPermissions([treasuryKey], [true]) from the holder wallet. polyrob desk grant --print prints the calldata and an EIP-681 QR.

  4. Buyer's POLYROB adopts the Desk

    polyrob desk adopt robinhood:0xDesk…/42 verifies the implementation pin, the lock, the permission, the state() pin, the identity count; adopts the seed as a locked pfp.json; verifies the journal's signatures and anchors; rebuilds positions from the chain — labelled inherited, NO_LEDGER until proven.

  5. The agent writes a Desk Brief and continues

    What the Desk holds, what it earns, what the journal says worked (measured from the chain, not from the prose), what is unknown. Continue, change strategy, or sit in yield mode — the owner decides in chat.

What the operator key cannot do

can    execute(to, value, data)      within tx_guard caps + lane
can    append a journal entry        signed, anchored
cannot transfer the NFT             it never holds it
cannot lock / unlock                owner-only by design
cannot upgradeTo                    owner-only; adopt refuses a foreign impl
cannot outlive a sale               permissions[newOwner][key] == false
Seller drains before salelock window + state() pin + signed snapshot; adopt refuses on drift
Owner-upgradeable accountimplementation pin; a foreign impl is refused before any read is trusted
Forged journalEIP-191 signatures per entry, digest chain, on-chain anchors; gaps are reported, never hidden
Two operators at oncestate() pre-flight refusal; every entry names its operator
NFT sent into its own accountthe verb refuses the cycle before broadcast; the contract reverts too

Why Robinhood Chain

Every standard the Desk needs is already deployed on chain 4663 with bytes identical to Ethereum and Base. Gas is nearly free and the assets a Desk would hold live here and nowhere else.

FactValueHow we know
Gas price0.0545 gweimeasured, eth_gasPrice, block 65,562,119
Block time100 msArbitrum Orbit (Nitro), ETH gas, blob DA
ERC-6551 registry + Tokenbound AccountV30x000000006551c19487814612e58FE06813775758code hash equal to eth/base
ERC-8004 Identity + Reputation0x8004A169…a432 / 0x8004BAa1…9b63upstream README lists 4663 + 46630; bytes match
Stock tokens90+Jersey-issued debt securities, 18 dec, uiMultiplier(); not for US/UK persons
VenuesUniswap v3 + v4, Pons V2, Lighter, Pleiadespinned in the POLYROB tree
OpenSeafirst-class"125K swaps, 50K mints, 80K secondary sales"

Where it sits

normies

sells identity

10,000 on-chain faces bound to ERC-8004 identities through one custodial adapter (13,384 identities under one upgradeable key). No wallet, no positions; the persona and runtime live on the artist's server. A sale moves the name tag.

the standard reserve

sells a seat

A soulbound charter that accrues issuance and needs a 30-day check-in or it is revoked at 70%. The seat has no operator. 1,299 branches, 2,417 ETH net epoch inflow (measured).

desk

a seat with an operator that is provably not its owner

Income, positions, reputation and a verified strategy history in one token, run by an agent the owner can fire with one call. Built from canonical bytecode; no mint service, no custodian, no central domain.