Transparency
What is deployed, who can do what, which rules the contracts enforce, and what has and has not been verified. Stated plainly, including what is missing.
Deployment status
Contract addresses are configured for this build. Everything below is read from those contracts.
- Network
- Robinhood Chain · chain id 4663
- RolandGenesis (ERC-721, 111 max)
- 0xF83c5203D1F6d27f11Ca8111FBB04022554e3Dd6Source on Sourcify: checking…
- RolandRenderer (on-chain SVG + metadata)immutable, no owner
- Not deployed
- RolandBurnVault (epochs, burns, pools, claims)
- 0x491915af4fF8c5114060C5FdB5731DE2A2eA6C8aSource on Sourcify: checking…
- $ROLAND burn tokenfrom configuration; not yet bound to a vault
- 0xAF6fb304C1BeD7aa1a16aE429BefF2aB117a8177Source on Sourcify: checking…
- Treasury (mint proceeds, immutable)
- Not deployed
- Mint proceeds waiting in the contract
- —
- Price mode
- —
- ETH/USD feed used by the contract
- —
- Epoch 0 opens
- —
Audit status
Not audited.
No third party has audited these contracts. They are covered by the project’s own unit, fuzz, invariant, fork and end-to-end tests (see the repository README for the exact results), which is not a substitute for an audit. Use amounts you can afford to lose entirely.
Administrative permissions
RolandGenesis · owner
- Owner (two-step transfer)
- —
- Can pause and unpause minting. In fixed-ETH mode only, can set the wei price.
- Cannot mint for free or outside the public mint, cannot exceed 37 per tier or 111 in total, cannot change a token’s tier, the artwork, the treasury address or the price feed. There is no team reserve.
RolandBurnVault · roles
| Role | Can | Holders (from role events) |
|---|---|---|
| DEFAULT_ADMIN_ROLE | Grant and revoke the roles below, unpause burns, sweep tokens that are neither reserved nor unallocated. Transfers of this role are delayed (two-step, time-locked). | none indexed |
| POOL_ADMIN_ROLE | Choose the reward token used for FUTURE fundings of a tier. Epochs that already hold a budget keep their asset. | none indexed |
| FUNDER_ROLE | Deposit reward tokens for epochs that have not opened, and assign the vault’s unallocated balance to such an epoch. | none indexed |
| PAUSER_ROLE | Pause NEW burns. Cannot pause funding, finalization or claims, and cannot unpause. | none indexed |
No role can withdraw a funded reward budget. The vault has no function that moves reserved or unallocated reward tokens anywhere except to claimants (reserved) or into a future epoch’s budget (unallocated). Admin role transfers are delayed by a configured time lock.
Rules the contracts enforce
- Reward formula: claim = floor(epochRewardBudget × walletBurn ÷ totalBurnForTier), in the reward token’s smallest unit. No multipliers, no tier ranking: one unit of $ROLAND is one unit of credit in every pool.
- Funding: only before an epoch opens; the budget is frozen at the open. A later deposit funds a later epoch. An unfunded pool refuses burns.
- Zero burns: no claim is created; the budget becomes “unallocated” and can only be assigned to a future epoch. Rounding dust is released to the same unallocated balance once every participant of that pool has claimed.
- Burning: the vault calls the token’s burnFrom and reverts unless total supply and the burner’s balance both fall by exactly the amount. A transfer to a treasury is not accepted as a burn.
- Wallet-bound rights: burn credit belongs to the wallet that burned. Transferring the NFT transfers no historical right. Splitting burns across several NFTs of a tier changes nothing.
- Claims: open when the epoch ends, permissionless finalization, one claim per wallet per (epoch, pool), no expiry, never pausable.
- Reward tokens: plain ERC-20s only. Fee-on-transfer tokens are rejected at deposit. Rebasing tokens are not supported. Issuer powers of a reward token (pause, blocklist, forced burn, upgrade) continue to apply to tokens held by the vault and to claim transfers; the vault adds no eligibility gate of its own and cannot override the issuer’s.
Tier names are pool labels. RolandCPU is not affiliated with, endorsed by or sponsored by NVIDIA, AMD, SpaceX, Robinhood or any issuer. Holding a Genesis NFT or a reward token through this protocol gives no shareholder rights and no direct legal ownership of underlying shares.
Verified infrastructure
Reference data produced by `pnpm verify:infra` from the official Robinhood Chain docs, the Chainlink reference directory, the issuer’s registry and the chain itself. It documents what exists on the network; it does not mean a pool holds or is configured with these assets.
- Mainnet
- chain id 4663 · answering
- Testnet
- chain id 46630 · answering · no Chainlink feeds, no Stock Tokens
- Chainlink ETH / USD (mainnet)
- 0x78F3556b67E17Df817D51Ef5a990cDaF09E8d3A98 decimals · heartbeat 86400s · deviation 0.5%
- L2 sequencer uptime feed
- None is published for Robinhood Chain. The mint contract supports one but is deployed without it; staleness and bounds checks are the guard.
- NVDA instrument
- NVIDIA • Robinhood Token0xd0601CE157Db5bdC3162BbaC2a2C8aF5320D9EECISIN US67066G1040 · Robinhood Assets (Jersey) Limited · pool configured with it: no (pool unset)
- AMD instrument
- AMD • Robinhood Token0x86923f96303D656E4aa86D9d42D1e57ad2023fdCISIN US0079031078 · Robinhood Assets (Jersey) Limited · pool configured with it: no (pool unset)
- SPCX instrument
- Space Exploration Technologies Corp. Class A Common Stock • Robinhood Token0x4a0E65A3EcceC6dBe60AE065F2e7bb85Fae35eEaISIN US84615Q1031 · Robinhood Assets (Jersey) Limited · pool configured with it: no (pool unset)