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.
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
Stock tokens (NVDAx, SPYx…), memecoins, Uniswap v3/v4 LP positions, USDG, ETH. The Desk address holds them; the operator key never does.
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.
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.
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.
The seed is on-chain. Any POLYROB renders the identical face from it — no image file changes hands, and the face survives every host.
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.
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.
Robinhood Chain is a first-class OpenSea chain. A standard ERC-721 transfer; no marketplace integration is required.
Desk.setPermissions([treasuryKey], [true]) from the holder wallet.
polyrob desk grant --print prints the calldata and an EIP-681 QR.
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.
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.
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 sale | lock window + state() pin + signed snapshot; adopt refuses on drift |
|---|---|
| Owner-upgradeable account | implementation pin; a foreign impl is refused before any read is trusted |
| Forged journal | EIP-191 signatures per entry, digest chain, on-chain anchors; gaps are reported, never hidden |
| Two operators at once | state() pre-flight refusal; every entry names its operator |
| NFT sent into its own account | the verb refuses the cycle before broadcast; the contract reverts too |
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.
| Fact | Value | How we know |
|---|---|---|
| Gas price | 0.0545 gwei | measured, eth_gasPrice, block 65,562,119 |
| Block time | 100 ms | Arbitrum Orbit (Nitro), ETH gas, blob DA |
| ERC-6551 registry + Tokenbound AccountV3 | 0x000000006551c19487814612e58FE06813775758 | code hash equal to eth/base |
| ERC-8004 Identity + Reputation | 0x8004A169…a432 / 0x8004BAa1…9b63 | upstream README lists 4663 + 46630; bytes match |
| Stock tokens | 90+ | Jersey-issued debt securities, 18 dec, uiMultiplier(); not for US/UK persons |
| Venues | Uniswap v3 + v4, Pons V2, Lighter, Pleiades | pinned in the POLYROB tree |
| OpenSea | first-class | "125K swaps, 50K mints, 80K secondary sales" |
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.
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).
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.