24b66dab (main)
and
67795f9b (PR)
[ADDED]
lighter-robinhood
+1572 -0
+1 -0
"lighter-robinhood"
+1 -0
"lighter-robinhood"
+1 -0
"Lighter on Robinhood"
+1 -0
"Lighter on RH"
+1 -0
null
+1 -0
1782864000
+7 -0
{
"redWarning": {
"text": "Critical contracts can be upgraded by an EOA which could result in the loss of all funds.",
"detailAnchor": "permissions"
},
"unverifiedContracts": []
}
+49 -0
{
"badges": [
{
"id": "AppChain",
"type": "VM",
"name": "Application-specific chain",
"description": "This project is built to operate a specific application",
"action": {
"type": "scalingFilter",
"id": "vm",
"value": "AppChain"
}
},
{
"id": "EthereumBlobs",
"type": "DA",
"name": "Ethereum with blobs",
"description": "This project is posting its data to Ethereum as blobs",
"action": {
"type": "publicDaHighlight",
"slug": "ethereum"
}
}
],
"description": "Lighter on Robinhood is an application-specific ZK rollup deployed on Robinhood Chain. It is a fork of Lighter adapted to use Global Dollar (USDG) as its quote and margin asset.",
"links": {
"websites": [
"https://lighter.xyz",
"https://robinhood.com/chain/"
],
"explorers": [
"https://robinhoodchain.blockscout.com/"
],
"documentation": [
"https://robinhood.com/us/en/support/articles/robinhood-wallet-perpetual-futures/",
"https://docs.robinhood.com/chain/",
"https://docs.lighter.xyz"
],
"repositories": [
"https://github.com/elliottech/lighter-contracts",
"https://github.com/elliottech/lighter-prover"
],
"socialMedia": [
"https://x.com/Lighter_xyz",
"https://x.com/RobinhoodApp",
"https://discord.gg/lighterxyz"
]
}
}
+1 -0
null
+1 -0
null
+16 -0
[
{
"title": "Lighter contracts deployed on Robinhood Chain",
"url": "https://robinhoodchain.blockscout.com/tx/0x56119cbe72da40648b646b402e71c66a174a4e0e62a10d3a90f9c3b0d8ecdad3",
"date": "2026-06-26T00:00:00Z",
"description": "The USDG-based Lighter fork is deployed on Robinhood Chain.",
"type": "general"
},
{
"title": "Robinhood launches Lighter perpetuals integration",
"url": "https://robinhood.com/us/en/newsroom/robinhood-accelerates-global-expansion-robinhood-chain-mainnet-stock-tokens-agentic-trading/",
"date": "2026-07-01T00:00:00Z",
"description": "Robinhood announces Lighter perpetual futures in Robinhood Wallet on public mainnet.",
"type": "general"
}
]
+1 -0
null
+53 -0
[
{
"address": "0x94bAB9693Ba2f6358507eFfcbd372b0660AFfF9d",
"sinceTimestamp": 1782477747,
"tokens": [
"ETH",
"USDG",
"AAPL",
"AMZN",
"GOOGL",
"META",
"MSFT",
"NVDA",
"TSLA",
"ORCL",
"SPCX",
"BABA",
"USAR",
"USO",
"COIN",
"CRCL",
"QQQ",
"SPY",
"SGOV",
"SLV",
"AMD",
"INTC",
"MU",
"SNDK",
"CRWV",
"PLTR"
],
"contract": {
"isVerified": true,
"address": "robinhood:0x94bAB9693Ba2f6358507eFfcbd372b0660AFfF9d",
"upgradeability": {
"proxyType": "zkLighter proxy",
"admins": [
"robinhood:0x43CfF77CD060A155dCe5deb12B93b875f69F2716"
],
"implementations": [
"robinhood:0x6C23703ba62a845893758ea35E5eD854639ef8BA",
"robinhood:0x57af7CA7F40Ee33ac974c4eE864932241671c7D4"
]
},
"chain": "robinhood",
"description": "Main Lighter contract on Robinhood Chain. It escrows USDG used as margin as well as ETH and Robinhood tokenized equities and ETFs used for spot trading, and credits the corresponding balances inside Lighter.",
"url": "https://robinhoodchain.blockscout.com/address/0x94bAB9693Ba2f6358507eFfcbd372b0660AFfF9d#code"
},
"chain": "robinhood",
"chainId": 4663
}
]
+1 -0
null
+1 -0
null
+1 -0
null
+24 -0
{
"capability": "appchain",
"daLayer": [
"Robinhood Chain"
],
"hostChain": {
"id": "robinhood",
"slug": "robinhood",
"name": "Robinhood Chain"
},
"layer": "layer3",
"proofSystem": {
"type": "Validity",
"zkCatalogId": "lighterprover"
},
"purposes": [
"Exchange"
],
"stage": "Stage 0",
"type": "ZK Rollup",
"vm": [
"AppChain"
]
}
+97 -0
{
"message": {
"type": "warning",
"text": "There is no available node software that can reconstruct the state from L1 data, hence there is no way to verify that this system is a rollup."
},
"missing": {
"nextStage": "Stage 1",
"requirements": [
"Users' withdrawals can be censored by the permissioned operators.",
"Upgrades executed by actors with more centralized control than a Security Council provide less than 7d for users to exit if the permissioned operator is down or censoring.",
"The Security Council is not properly set up."
],
"principle": "Compromising ≥75% of the Security Council should be the only way (other than bugs) for a rollup to indefinitely block an L2→L1 message (e.g. a withdrawal) or push an invalid L2→L1 message (e.g. an invalid withdrawal) with a <7d exit window."
},
"stage": "Stage 0",
"summary": [
{
"stage": "Stage 0",
"requirements": [
{
"satisfied": true,
"description": "A complete and functional proof system is deployed."
},
{
"satisfied": true,
"description": "The project calls itself a rollup."
},
{
"satisfied": true,
"description": "State roots are posted to Ethereum L1."
},
{
"satisfied": true,
"description": "Inputs for the state transition function are posted to Ethereum L1."
},
{
"satisfied": false,
"description": "No source-available node exists that can recreate the state from L1 data."
}
]
},
{
"stage": "Stage 1",
"requirements": [
{
"satisfied": false,
"description": "Users' withdrawals can be censored by the permissioned operators."
},
{
"satisfied": false,
"description": "Upgrades executed by actors with more centralized control than a Security Council provide less than 7d for users to exit if the permissioned operator is down or censoring."
},
{
"satisfied": false,
"description": "The Security Council is not properly set up."
},
{
"satisfied": true,
"description": "The proof system meets the minimum trusted setup requirements defined in the L2BEAT [trusted setup assessment framework](https://forum.l2beat.com/t/the-trusted-setups-framework-for-zk-catalog/381).",
"upcoming": true
},
{
"satisfied": false,
"description": "Prover source code is not published.",
"upcoming": true
},
{
"satisfied": false,
"description": "Not all onchain verifiers' smart contracts can be independently regenerated from the verifier source code.",
"upcoming": true
},
{
"satisfied": false,
"description": "Not all program sources are public or not all program hashes can be independently regenerated.",
"upcoming": true
}
],
"principle": {
"satisfied": false,
"description": "Compromising ≥75% of the Security Council should be the only way (other than bugs) for a rollup to indefinitely block an L2→L1 message (e.g. a withdrawal) or push an invalid L2→L1 message (e.g. an invalid withdrawal) with a <7d exit window."
}
},
{
"stage": "Stage 2",
"requirements": [
{
"satisfied": false,
"description": "Upgrades unrelated to onchain provable bugs provide less than 30d to exit."
},
{
"satisfied": false,
"description": "The Security Council's actions are not confined to onchain provable bugs."
}
]
}
]
}
+118 -0
{
"host": {
"stateValidation": {
"value": "Fraud proofs (INT)",
"description": "Fraud proofs only allow 2 WHITELISTED actors watching the chain to prove that the state is incorrect. Interactive proofs (INT) require multiple transactions over time to resolve. The challenge protocol can be subject to delay attacks. There is a 6d 8h challenge period.",
"executionDelay": 172800,
"executionDelayMode": "if-challenged",
"challengeDelay": 549816,
"permissioned": true,
"defenderAdvantage": "not-applicable",
"sentiment": "bad",
"orderHint": 2,
"initialBond": {
"value": "1.0"
},
"secondLine": "6d 8h challenge period\n+ 2d execution delay"
},
"dataAvailability": {
"value": "Onchain",
"description": "All of the data needed for proof construction is published on Ethereum L1.",
"sentiment": "good",
"orderHint": null
},
"exitWindow": {
"value": "None",
"description": "There is no window for users to exit in case of an unwanted upgrade since contracts are instantly upgradable.",
"sentiment": "bad",
"orderHint": -345600
},
"sequencerFailure": {
"value": "No mechanism",
"description": "There is no guaranteed mechanism to have transactions included if the sequencer is down or censoring. Although users can enqueue messages in the L1 delayed inbox and call forceInclusion on the SequencerInbox, the chain runs ArbOS 61 transaction filtering: an authorized filterer can register any transaction hash in the ArbFilteredTransactionsManager precompile (0x00…0074), after which the state transition function forcibly fails that transaction, including force-included ones, without delay.",
"sentiment": "bad"
},
"proposerFailure": {
"value": "Self propose",
"description": "Anyone can become a Proposer after 28d of inactivity from the currently whitelisted Proposers.",
"sentiment": "good",
"orderHint": 2419200,
"secondLine": "28d delay"
}
},
"self": {
"stateValidation": {
"value": "Validity proofs (SN)",
"description": "SNARKs are succinct zero knowledge proofs that ensure state correctness, but require trusted setup.",
"sentiment": "good",
"orderHint": null,
"permissioned": true,
"executionDelay": 0,
"secondLine": "No execution delay"
},
"dataAvailability": {
"value": "Onchain (SD)",
"description": "All of the data (SD = state diffs) needed for proof construction is published onchain.",
"sentiment": "good",
"orderHint": null
},
"exitWindow": {
"value": "None",
"description": "There is no window for users to exit in case of an unwanted upgrade since contracts are instantly upgradable.",
"sentiment": "bad",
"orderHint": -1209600
},
"sequencerFailure": {
"value": "Force via host chain",
"description": "Users can submit priority requests directly on Robinhood Chain. If a request remains unprocessed for more than 14d, desert mode can be activated. The deployed DesertVerifier does not validate withdrawal proofs, so this mechanism does not provide a safe escape hatch.",
"sentiment": "warning",
"orderHint": 1209600
},
"proposerFailure": {
"value": "Unsafe escape hatch",
"description": "If operators stop processing priority requests, desert mode can be activated. The deployed DesertVerifier does not validate withdrawal proofs, allowing users to claim balances that are not part of the last verified state.",
"sentiment": "bad",
"orderHint": null
}
},
"stacked": {
"stateValidation": {
"value": "Fraud proofs (INT)",
"description": "Fraud proofs only allow 2 WHITELISTED actors watching the chain to prove that the state is incorrect. Interactive proofs (INT) require multiple transactions over time to resolve. The challenge protocol can be subject to delay attacks. There is a 6d 8h challenge period.",
"executionDelay": 172800,
"executionDelayMode": "if-challenged",
"challengeDelay": 549816,
"permissioned": true,
"defenderAdvantage": "not-applicable",
"sentiment": "bad",
"orderHint": 2,
"initialBond": {
"value": "1.0"
},
"secondLine": "6d 8h challenge period\n+ 2d execution delay"
},
"dataAvailability": {
"value": "Onchain",
"description": "All of the data needed for proof construction is published on the base chain, which ultimately gets published on Ethereum.",
"sentiment": "good",
"orderHint": null
},
"exitWindow": {
"value": "None",
"description": "There is no window for users to exit in case of an unwanted upgrade since contracts are instantly upgradable.",
"sentiment": "bad",
"orderHint": -345600
},
"sequencerFailure": {
"value": "No mechanism",
"description": "There is no guaranteed mechanism to have transactions included if the sequencer is down or censoring. Although users can enqueue messages in the L1 delayed inbox and call forceInclusion on the SequencerInbox, the chain runs ArbOS 61 transaction filtering: an authorized filterer can register any transaction hash in the ArbFilteredTransactionsManager precompile (0x00…0074), after which the state transition function forcibly fails that transaction, including force-included ones, without delay.",
"sentiment": "bad"
},
"proposerFailure": {
"value": "Unsafe escape hatch",
"description": "If operators stop processing priority requests, desert mode can be activated. The deployed DesertVerifier does not validate withdrawal proofs, allowing users to claim balances that are not part of the last verified state.",
"sentiment": "bad",
"orderHint": null
}
}
}
+20 -0
[
{
"layer": {
"value": "Robinhood Chain",
"secondLine": "Calldata",
"sentiment": "good",
"description": "Lighter state differences are posted as calldata on Robinhood Chain. Robinhood Chain ultimately posts its transaction data to Ethereum blobs.",
"projectId": "robinhood"
},
"bridge": {
"value": "Enshrined",
"sentiment": "good",
"description": "The validating bridge has access to all the data, as it is posted onchain.",
"projectId": "ethereum"
},
"mode": {
"value": "State diffs"
}
}
]
+137 -0
{
"dataAvailability": [
{
"name": "State differences posted on Robinhood Chain",
"description": "The state differences required to reconstruct and prove the Lighter state are included directly in commitBatch calldata on Robinhood Chain. Unlike the Ethereum deployment, the Lighter contract does not read EIP-4844 blob hashes. Robinhood Chain subsequently batches its own transaction data to Ethereum blobs.",
"risks": [],
"references": [
{
"title": "Example commitBatch transaction on Robinhood Chain",
"url": "https://robinhoodchain.blockscout.com/tx/0x73360fb1c909946ab6eba200a1dfc8c70065c04784dadcbc0ca090c1788fd7a3"
},
{
"title": "Robinhood Chain architecture documentation",
"url": "https://docs.robinhood.com/chain/"
}
]
}
],
"exitMechanisms": [
{
"name": "Regular exit",
"description": "The user initiates the withdrawal by submitting a regular transaction on this chain. When the block containing that transaction is settled the funds become available for withdrawal on L1. ZK proofs are required to settle blocks. Finally the user submits an L1 transaction to claim the funds.",
"risks": [],
"references": []
},
{
"name": "Unsafe desert-mode escape hatch",
"description": "After desert mode is activated, users are expected to exit by proving their balance against the last verified state root. The deployed DesertVerifier does not validate these proofs, so withdrawal balances are not constrained by the last verified state.",
"risks": [
{
"category": "Funds can be stolen if",
"text": "desert mode is activated and users withdraw balances that are not part of the last verified state.",
"isCritical": true
}
],
"references": [
{
"title": "Deployed DesertVerifier on Robinhood Chain",
"url": "https://robinhoodchain.blockscout.com/address/0x443cc0c7f773d0955e3bd8da393b708152cfa5bc"
}
]
}
],
"forceTransactions": {
"name": "Priority requests can be submitted on Robinhood Chain",
"description": "Users can submit priority requests directly to the Lighter contract on Robinhood Chain. If the operators leave the oldest request unprocessed for more than 14d, anyone can activate desert mode. The deployed DesertVerifier does not validate withdrawal proofs, so desert mode does not provide a safe escape hatch.",
"risks": [
{
"category": "Funds can be stolen if",
"text": "desert mode is activated, because withdrawals are not constrained by a valid proof.",
"isCritical": true
}
],
"references": [
{
"title": "Lighter contract on Robinhood Chain",
"url": "https://robinhoodchain.blockscout.com/address/0x94bAB9693Ba2f6358507eFfcbd372b0660AFfF9d"
}
]
},
"operator": {
"name": "Centralized operators",
"description": "Only the centralized operators can submit batches and verify them with a ZK proof, i.e. advance the state of the protocol. The network governor can add or remove validators.",
"risks": [
{
"category": "MEV can be extracted if",
"text": "the operator exploits their centralized position and frontruns user transactions."
}
],
"references": []
},
"otherConsiderations": [
{
"name": "USDG is the quote and margin asset",
"description": "Unlike the Ethereum deployment, this fork uses Global Dollar (USDG) instead of USDC as the quote and margin asset.",
"risks": [],
"references": [
{
"title": "Robinhood Chain token contracts",
"url": "https://docs.robinhood.com/chain/contracts/"
},
{
"title": "Robinhood Wallet perpetual futures documentation",
"url": "https://robinhood.com/us/en/support/articles/robinhood-wallet-perpetual-futures/"
}
]
},
{
"name": "External oracles used for index prices",
"description": "Lighter uses external oracles to determine index prices. External signatures are not verified by the settlement contract and the sequencer must be trusted to truthfully report data.",
"risks": [
{
"category": "Funds can be lost if",
"text": "the oracle prices are manipulated."
}
],
"references": [
{
"title": "Lighter docs - Fair Price Marking",
"url": "https://docs.lighter.xyz/perpetual-futures/fair-price-marking"
}
]
}
],
"stateValidation": {
"description": "Each update to the system state must be accompanied by a ZK proof that ensures that the new state was derived by correctly applying a series of valid transactions to the previous state. These proofs are verified on Robinhood Chain by a smart contract. In desert mode, users are expected to provide proofs of their balances to exit, but the deployed DesertVerifier does not validate them.",
"categories": [
{
"title": "Verification Keys Generation",
"description": "Lighter uses a Plonk-based proof system which requires a trusted setup. The verification keys are hardcoded in the verifier contract on-chain. The Lighter prover repository contains a [script](https://github.com/elliottech/lighter-prover/blob/main/build_circuits.sh) that regenerates circuits and verification keys, but it does not reproduce the verification keys used by this deployment.",
"references": [
{
"title": "ZK Lighter verifier verification keys",
"url": "https://robinhoodchain.blockscout.com/address/0xA3c70B197AcE329D9e09C753DA7874B78F1D00f4"
}
]
},
{
"title": "Validity proofs",
"description": "State updates are verified by the ZkLighterVerifier contract. In desert mode, the DesertVerifier does not validate withdrawal proofs, allowing users to withdraw balances that are not part of the last verified state.",
"risks": [
{
"category": "Funds can be stolen if",
"text": "desert mode is activated and users withdraw balances that are not part of the last verified state.",
"isCritical": true
}
],
"references": [
{
"title": "Deployed DesertVerifier implementation",
"url": "https://robinhoodchain.blockscout.com/address/0x443cc0c7f773d0955e3bd8da393b708152cfa5bc"
}
]
}
]
}
}
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+4 -0
{
"associatedTokens": [],
"warnings": []
}
+756 -0
[
{
"mode": "auto",
"id": "lighter-robinhood-AAPL",
"priceId": "apple-robinhood-tokenized-stock",
"symbol": "AAPL",
"name": "Apple • Robinhood Token",
"iconUrl": "https://coin-images.coingecko.com/coins/images/102174123/large/0xaf3d76f1834a1d425780943c99ea8a608f8a93f9.png?1782444598",
"amount": {
"type": "balanceOfEscrow",
"chain": "robinhood",
"sinceTimestamp": 1782477747,
"address": "0xaF3D76f1834A1d425780943C99Ea8A608f8a93f9",
"decimals": 18,
"escrowAddress": "0x94bAB9693Ba2f6358507eFfcbd372b0660AFfF9d"
},
"valueForSummary": {
"type": "value",
"amount": {
"type": "const",
"sinceTimestamp": 1782477747,
"value": "0",
"decimals": 0
},
"priceId": "apple-robinhood-tokenized-stock"
},
"category": "rwaRestricted",
"source": "canonical",
"isAssociated": false
},
{
"mode": "auto",
"id": "lighter-robinhood-AMD",
"priceId": "amd-robinhood-tokenized-stock",
"symbol": "AMD",
"name": "AMD • Robinhood Token",
"iconUrl": "https://coin-images.coingecko.com/coins/images/102174114/large/0x86923f96303d656e4aa86d9d42d1e57ad2023fdc.png?1782444575",
"amount": {
"type": "balanceOfEscrow",
"chain": "robinhood",
"sinceTimestamp": 1782477747,
"address": "0x86923f96303D656E4aa86D9d42D1e57ad2023fdC",
"decimals": 18,
"escrowAddress": "0x94bAB9693Ba2f6358507eFfcbd372b0660AFfF9d"
},
"valueForSummary": {
"type": "value",
"amount": {
"type": "const",
"sinceTimestamp": 1782477747,
"value": "0",
"decimals": 0
},
"priceId": "amd-robinhood-tokenized-stock"
},
"category": "rwaRestricted",
"source": "canonical",
"isAssociated": false
},
{
"mode": "auto",
"id": "lighter-robinhood-AMZN",
"priceId": "amazon-robinhood-tokenized-stock",
"symbol": "AMZN",
"name": "Amazon • Robinhood Token",
"iconUrl": "https://coin-images.coingecko.com/coins/images/102174126/large/0x12f190a9f9d7d37a250758b26824b97ce941bf54.png?1782444606",
"amount": {
"type": "balanceOfEscrow",
"chain": "robinhood",
"sinceTimestamp": 1782477747,
"address": "0x12f190a9F9d7D37a250758b26824B97CE941bF54",
"decimals": 18,
"escrowAddress": "0x94bAB9693Ba2f6358507eFfcbd372b0660AFfF9d"
},
"valueForSummary": {
"type": "value",
"amount": {
"type": "const",
"sinceTimestamp": 1782477747,
"value": "0",
"decimals": 0
},
"priceId": "amazon-robinhood-tokenized-stock"
},
"category": "rwaRestricted",
"source": "canonical",
"isAssociated": false
},
{
"mode": "auto",
"id": "lighter-robinhood-BABA",
"priceId": "alibaba-robinhood-tokenized-stock",
"symbol": "BABA",
"name": "Alibaba • Robinhood Token",
"iconUrl": "https://coin-images.coingecko.com/coins/images/102174135/large/0xad25ac6c84d497db898fa1e8387bf6af3532a1c4.png?1782444629",
"amount": {
"type": "balanceOfEscrow",
"chain": "robinhood",
"sinceTimestamp": 1782477747,
"address": "0xad25Ac6C84D497db898fa1E8387bf6Af3532a1c4",
"decimals": 18,
"escrowAddress": "0x94bAB9693Ba2f6358507eFfcbd372b0660AFfF9d"
},
"valueForSummary": {
"type": "value",
"amount": {
"type": "const",
"sinceTimestamp": 1782477747,
"value": "0",
"decimals": 0
},
"priceId": "alibaba-robinhood-tokenized-stock"
},
"category": "rwaRestricted",
"source": "canonical",
"isAssociated": false
},
{
"mode": "auto",
"id": "lighter-robinhood-COIN",
"priceId": "coinbase-robinhood-tokenized-stock",
"symbol": "COIN",
"name": "Coinbase • Robinhood Token",
"iconUrl": "https://coin-images.coingecko.com/coins/images/102174136/large/0x6330d8c3178a418788df01a47479c0ce7ccf450b.png?1782444632",
"amount": {
"type": "balanceOfEscrow",
"chain": "robinhood",
"sinceTimestamp": 1782477747,
"address": "0x6330D8C3178a418788dF01a47479c0ce7CCF450b",
"decimals": 18,
"escrowAddress": "0x94bAB9693Ba2f6358507eFfcbd372b0660AFfF9d"
},
"valueForSummary": {
"type": "value",
"amount": {
"type": "const",
"sinceTimestamp": 1782477747,
"value": "0",
"decimals": 0
},
"priceId": "coinbase-robinhood-tokenized-stock"
},
"category": "rwaRestricted",
"source": "canonical",
"isAssociated": false
},
{
"mode": "auto",
"id": "lighter-robinhood-CRCL",
"priceId": "circle-internet-group-robinhood-tokenized-stock",
"symbol": "CRCL",
"name": "Circle Internet Group • Robinhood Token",
"iconUrl": "https://coin-images.coingecko.com/coins/images/102174121/large/0xdf0992e440dd0be65bd8439b609d6d4366bf1cb5.png?1782444593",
"amount": {
"type": "balanceOfEscrow",
"chain": "robinhood",
"sinceTimestamp": 1782477747,
"address": "0xdF0992E440dD0be65BD8439b609d6D4366bf1CB5",
"decimals": 18,
"escrowAddress": "0x94bAB9693Ba2f6358507eFfcbd372b0660AFfF9d"
},
"valueForSummary": {
"type": "value",
"amount": {
"type": "const",
"sinceTimestamp": 1782477747,
"value": "0",
"decimals": 0
},
"priceId": "circle-internet-group-robinhood-tokenized-stock"
},
"category": "rwaRestricted",
"source": "canonical",
"isAssociated": false
},
{
"mode": "auto",
"id": "lighter-robinhood-CRWV",
"priceId": "coreweave-robinhood-tokenized-stock",
"symbol": "CRWV",
"name": "CoreWeave • Robinhood Token",
"iconUrl": "https://coin-images.coingecko.com/coins/images/102174127/large/0x5f10a1c971b69e47e059e1dc91901b59b3fb49c3.png?1782444608",
"amount": {
"type": "balanceOfEscrow",
"chain": "robinhood",
"sinceTimestamp": 1782477747,
"address": "0x5f10A1C971B69e47e059e1dC91901B59b3fB49C3",
"decimals": 18,
"escrowAddress": "0x94bAB9693Ba2f6358507eFfcbd372b0660AFfF9d"
},
"valueForSummary": {
"type": "value",
"amount": {
"type": "const",
"sinceTimestamp": 1782477747,
"value": "0",
"decimals": 0
},
"priceId": "coreweave-robinhood-tokenized-stock"
},
"category": "rwaRestricted",
"source": "canonical",
"isAssociated": false
},
{
"mode": "auto",
"id": "lighter-robinhood-ETH",
"priceId": "ethereum",
"symbol": "ETH",
"name": "Ether",
"iconUrl": "https://assets.coingecko.com/coins/images/279/large/ethereum.png?1595348880",
"amount": {
"type": "balanceOfEscrow",
"chain": "robinhood",
"sinceTimestamp": 1782477747,
"address": "native",
"decimals": 18,
"escrowAddress": "0x94bAB9693Ba2f6358507eFfcbd372b0660AFfF9d"
},
"valueForSummary": {
"type": "value",
"amount": {
"type": "const",
"sinceTimestamp": 1782477747,
"value": "0",
"decimals": 0
},
"priceId": "ethereum"
},
"category": "ether",
"source": "canonical",
"isAssociated": false
},
{
"mode": "auto",
"id": "lighter-robinhood-GOOGL",
"priceId": "alphabet-class-a-robinhood-tokenized-stock",
"symbol": "GOOGL",
"name": "Alphabet Class A • Robinhood Token",
"iconUrl": "https://coin-images.coingecko.com/coins/images/102174124/large/0x2e0847e8910a9732eb3fb1bb4b70a580adad4fe3.png?1782444601",
"amount": {
"type": "balanceOfEscrow",
"chain": "robinhood",
"sinceTimestamp": 1782477747,
"address": "0x2e0847E8910a9732eB3fb1bb4b70a580ADAD4FE3",
"decimals": 18,
"escrowAddress": "0x94bAB9693Ba2f6358507eFfcbd372b0660AFfF9d"
},
"valueForSummary": {
"type": "value",
"amount": {
"type": "const",
"sinceTimestamp": 1782477747,
"value": "0",
"decimals": 0
},
"priceId": "alphabet-class-a-robinhood-tokenized-stock"
},
"category": "rwaRestricted",
"source": "canonical",
"isAssociated": false
},
{
"mode": "auto",
"id": "lighter-robinhood-INTC",
"priceId": "intel-robinhood-tokenized-stock",
"symbol": "INTC",
"name": "Intel • Robinhood Token",
"iconUrl": "https://coin-images.coingecko.com/coins/images/102174118/large/0xc72b96e0e48ecd4dc75e1e45396e26300bc39681.png?1782444585",
"amount": {
"type": "balanceOfEscrow",
"chain": "robinhood",
"sinceTimestamp": 1782477747,
"address": "0xc72b96e0E48ecd4DC75E1e45396e26300BC39681",
"decimals": 18,
"escrowAddress": "0x94bAB9693Ba2f6358507eFfcbd372b0660AFfF9d"
},
"valueForSummary": {
"type": "value",
"amount": {
"type": "const",
"sinceTimestamp": 1782477747,
"value": "0",
"decimals": 0
},
"priceId": "intel-robinhood-tokenized-stock"
},
"category": "rwaRestricted",
"source": "canonical",
"isAssociated": false
},
{
"mode": "auto",
"id": "lighter-robinhood-META",
"priceId": "meta-platforms-robinhood-tokenized-stock",
"symbol": "META",
"name": "Meta Platforms • Robinhood Token",
"iconUrl": "https://coin-images.coingecko.com/coins/images/102174122/large/0xc0d6457c16cc70d6790dd43521c899c87ce02f35.png?1782444595",
"amount": {
"type": "balanceOfEscrow",
"chain": "robinhood",
"sinceTimestamp": 1782477747,
"address": "0xc0D6457C16Cc70d6790Dd43521C899C87ce02f35",
"decimals": 18,
"escrowAddress": "0x94bAB9693Ba2f6358507eFfcbd372b0660AFfF9d"
},
"valueForSummary": {
"type": "value",
"amount": {
"type": "const",
"sinceTimestamp": 1782477747,
"value": "0",
"decimals": 0
},
"priceId": "meta-platforms-robinhood-tokenized-stock"
},
"category": "rwaRestricted",
"source": "canonical",
"isAssociated": false
},
{
"mode": "auto",
"id": "lighter-robinhood-MSFT",
"priceId": "microsoft-robinhood-tokenized-stock",
"symbol": "MSFT",
"name": "Microsoft • Robinhood Token",
"iconUrl": "https://coin-images.coingecko.com/coins/images/102174116/large/0xe93237c50d904957cf27e7b1133b510c669c2e74.png?1782444580",
"amount": {
"type": "balanceOfEscrow",
"chain": "robinhood",
"sinceTimestamp": 1782477747,
"address": "0xe93237C50D904957Cf27E7B1133b510C669c2e74",
"decimals": 18,
"escrowAddress": "0x94bAB9693Ba2f6358507eFfcbd372b0660AFfF9d"
},
"valueForSummary": {
"type": "value",
"amount": {
"type": "const",
"sinceTimestamp": 1782477747,
"value": "0",
"decimals": 0
},
"priceId": "microsoft-robinhood-tokenized-stock"
},
"category": "rwaRestricted",
"source": "canonical",
"isAssociated": false
},
{
"mode": "auto",
"id": "lighter-robinhood-MU",
"priceId": "micron-technology-robinhood-tokenized-stock",
"symbol": "MU",
"name": "Micron Technology • Robinhood Token",
"iconUrl": "https://coin-images.coingecko.com/coins/images/102174111/large/0xff080c8ce2e5feadaca0da81314ae59d232d4afd.png?1782444567",
"amount": {
"type": "balanceOfEscrow",
"chain": "robinhood",
"sinceTimestamp": 1782477747,
"address": "0xfF080c8ce2E5feadaCa0Da81314Ae59D232d4afD",
"decimals": 18,
"escrowAddress": "0x94bAB9693Ba2f6358507eFfcbd372b0660AFfF9d"
},
"valueForSummary": {
"type": "value",
"amount": {
"type": "const",
"sinceTimestamp": 1782477747,
"value": "0",
"decimals": 0
},
"priceId": "micron-technology-robinhood-tokenized-stock"
},
"category": "rwaRestricted",
"source": "canonical",
"isAssociated": false
},
{
"mode": "auto",
"id": "lighter-robinhood-NVDA",
"priceId": "nvidia-robinhood-tokenized-stock",
"symbol": "NVDA",
"name": "NVIDIA • Robinhood Token",
"iconUrl": "https://coin-images.coingecko.com/coins/images/102174110/large/0xd0601ce157db5bdc3162bbac2a2c8af5320d9eec.png?1782444565",
"amount": {
"type": "balanceOfEscrow",
"chain": "robinhood",
"sinceTimestamp": 1782477747,
"address": "0xd0601CE157Db5bdC3162BbaC2a2C8aF5320D9EEC",
"decimals": 18,
"escrowAddress": "0x94bAB9693Ba2f6358507eFfcbd372b0660AFfF9d"
},
"valueForSummary": {
"type": "value",
"amount": {
"type": "const",
"sinceTimestamp": 1782477747,
"value": "0",
"decimals": 0
},
"priceId": "nvidia-robinhood-tokenized-stock"
},
"category": "rwaRestricted",
"source": "canonical",
"isAssociated": false
},
{
"mode": "auto",
"id": "lighter-robinhood-ORCL",
"priceId": "oracle-robinhood-tokenized-stock",
"symbol": "ORCL",
"name": "Oracle • Robinhood Token",
"iconUrl": "https://coin-images.coingecko.com/coins/images/102174128/large/0xb0992820e760d836549ba69bc7598b4af75dee03.png?1782444611",
"amount": {
"type": "balanceOfEscrow",
"chain": "robinhood",
"sinceTimestamp": 1782477747,
"address": "0xb0992820E760d836549ba69BC7598b4af75dEE03",
"decimals": 18,
"escrowAddress": "0x94bAB9693Ba2f6358507eFfcbd372b0660AFfF9d"
},
"valueForSummary": {
"type": "value",
"amount": {
"type": "const",
"sinceTimestamp": 1782477747,
"value": "0",
"decimals": 0
},
"priceId": "oracle-robinhood-tokenized-stock"
},
"category": "rwaRestricted",
"source": "canonical",
"isAssociated": false
},
{
"mode": "auto",
"id": "lighter-robinhood-PLTR",
"priceId": "palantir-technologies-robinhood-tokenized-stock",
"symbol": "PLTR",
"name": "Palantir Technologies • Robinhood Token",
"iconUrl": "https://coin-images.coingecko.com/coins/images/102174117/large/0x894e1ec2d74ffe5aef8dc8a9e84686accb964f2a.png?1782444583",
"amount": {
"type": "balanceOfEscrow",
"chain": "robinhood",
"sinceTimestamp": 1782477747,
"address": "0x894E1EC2D74FFE5AEF8Dc8A9e84686acCB964F2A",
"decimals": 18,
"escrowAddress": "0x94bAB9693Ba2f6358507eFfcbd372b0660AFfF9d"
},
"valueForSummary": {
"type": "value",
"amount": {
"type": "const",
"sinceTimestamp": 1782477747,
"value": "0",
"decimals": 0
},
"priceId": "palantir-technologies-robinhood-tokenized-stock"
},
"category": "rwaRestricted",
"source": "canonical",
"isAssociated": false
},
{
"mode": "auto",
"id": "lighter-robinhood-QQQ",
"priceId": "invesco-qqq-robinhood-tokenized-stock",
"symbol": "QQQ",
"name": "Invesco QQQ • Robinhood Token",
"iconUrl": "https://coin-images.coingecko.com/coins/images/102174119/large/0xd5f3879160bc7c32ebb4dc785f8a4f505888de68.png?1782444588",
"amount": {
"type": "balanceOfEscrow",
"chain": "robinhood",
"sinceTimestamp": 1782477747,
"address": "0xD5f3879160bc7c32ebb4dC785F8a4F505888de68",
"decimals": 18,
"escrowAddress": "0x94bAB9693Ba2f6358507eFfcbd372b0660AFfF9d"
},
"valueForSummary": {
"type": "value",
"amount": {
"type": "const",
"sinceTimestamp": 1782477747,
"value": "0",
"decimals": 0
},
"priceId": "invesco-qqq-robinhood-tokenized-stock"
},
"category": "rwaRestricted",
"source": "canonical",
"isAssociated": false
},
{
"mode": "auto",
"id": "lighter-robinhood-SGOV",
"priceId": "ishares-0-3-month-treasury-bond-etf-robinhood-tokenized-stock",
"symbol": "SGOV",
"name": "iShares 0-3 Month Treasury Bond • Robinhood Token",
"iconUrl": "https://coin-images.coingecko.com/coins/images/102174130/large/0x92fd66527192e3e61d4ddd13322aa222de86f9b5.png?1782444616",
"amount": {
"type": "balanceOfEscrow",
"chain": "robinhood",
"sinceTimestamp": 1783468800,
"address": "0x92FD66527192E3e61d4DDd13322Aa222DE86F9B5",
"decimals": 18,
"escrowAddress": "0x94bAB9693Ba2f6358507eFfcbd372b0660AFfF9d"
},
"valueForSummary": {
"type": "value",
"amount": {
"type": "const",
"sinceTimestamp": 1783468800,
"value": "0",
"decimals": 0
},
"priceId": "ishares-0-3-month-treasury-bond-etf-robinhood-tokenized-stock"
},
"category": "rwaRestricted",
"source": "canonical",
"isAssociated": false
},
{
"mode": "auto",
"id": "lighter-robinhood-SLV",
"priceId": "ishares-silver-trust-robinhood-tokenized-stock",
"symbol": "SLV",
"name": "iShares Silver Trust • Robinhood Token",
"iconUrl": "https://coin-images.coingecko.com/coins/images/102174120/large/0x411efb0e7f985935daec3d4c3ebaea0d0ad7d89f.png?1782444590",
"amount": {
"type": "balanceOfEscrow",
"chain": "robinhood",
"sinceTimestamp": 1782477747,
"address": "0x411eFb0E7f985935DAec3D4C3ebaEa0d0AD7D89f",
"decimals": 18,
"escrowAddress": "0x94bAB9693Ba2f6358507eFfcbd372b0660AFfF9d"
},
"valueForSummary": {
"type": "value",
"amount": {
"type": "const",
"sinceTimestamp": 1782477747,
"value": "0",
"decimals": 0
},
"priceId": "ishares-silver-trust-robinhood-tokenized-stock"
},
"category": "rwaRestricted",
"source": "canonical",
"isAssociated": false
},
{
"mode": "auto",
"id": "lighter-robinhood-SNDK",
"priceId": "sandisk-corporation-robinhood-tokenized-stock",
"symbol": "SNDK",
"name": "Sandisk Corporation • Robinhood Token",
"iconUrl": "https://coin-images.coingecko.com/coins/images/102174113/large/0xb90a19ff0af67f7779aff50a882a9cff42446400.png?1782444573",
"amount": {
"type": "balanceOfEscrow",
"chain": "robinhood",
"sinceTimestamp": 1782477747,
"address": "0xB90A19fF0Af67f7779afF50A882A9CfF42446400",
"decimals": 18,
"escrowAddress": "0x94bAB9693Ba2f6358507eFfcbd372b0660AFfF9d"
},
"valueForSummary": {
"type": "value",
"amount": {
"type": "const",
"sinceTimestamp": 1782477747,
"value": "0",
"decimals": 0
},
"priceId": "sandisk-corporation-robinhood-tokenized-stock"
},
"category": "rwaRestricted",
"source": "canonical",
"isAssociated": false
},
{
"mode": "auto",
"id": "lighter-robinhood-SPCX",
"priceId": "spacex-robinhood-tokenized-stock",
"symbol": "SPCX",
"name": "SpaceX • Robinhood Token",
"iconUrl": "https://coin-images.coingecko.com/coins/images/102174129/large/0x4a0e65a3eccec6dbe60ae065f2e7bb85fae35eea.png?1782444614",
"amount": {
"type": "balanceOfEscrow",
"chain": "robinhood",
"sinceTimestamp": 1782477747,
"address": "0x4a0E65A3EcceC6dBe60AE065F2e7bb85Fae35eEa",
"decimals": 18,
"escrowAddress": "0x94bAB9693Ba2f6358507eFfcbd372b0660AFfF9d"
},
"valueForSummary": {
"type": "value",
"amount": {
"type": "const",
"sinceTimestamp": 1782477747,
"value": "0",
"decimals": 0
},
"priceId": "spacex-robinhood-tokenized-stock"
},
"category": "rwaRestricted",
"source": "canonical",
"isAssociated": false
},
{
"mode": "auto",
"id": "lighter-robinhood-SPY",
"priceId": "spdr-s-p-500-etf-trust-robinhood-tokenized-stock",
"symbol": "SPY",
"name": "SPDR S&P 500 ETF Trust • Robinhood Token",
"iconUrl": "https://coin-images.coingecko.com/coins/images/102174115/large/0x117cc2133c37b721f49de2a7a74833232b3b4c0c.png?1782444578",
"amount": {
"type": "balanceOfEscrow",
"chain": "robinhood",
"sinceTimestamp": 1782477747,
"address": "0x117cc2133c37B721F49dE2A7a74833232B3B4C0C",
"decimals": 18,
"escrowAddress": "0x94bAB9693Ba2f6358507eFfcbd372b0660AFfF9d"
},
"valueForSummary": {
"type": "value",
"amount": {
"type": "const",
"sinceTimestamp": 1782477747,
"value": "0",
"decimals": 0
},
"priceId": "spdr-s-p-500-etf-trust-robinhood-tokenized-stock"
},
"category": "rwaRestricted",
"source": "canonical",
"isAssociated": false
},
{
"mode": "auto",
"id": "lighter-robinhood-TSLA",
"priceId": "tesla-robinhood-tokenized-stock",
"symbol": "TSLA",
"name": "Tesla • Robinhood Token",
"iconUrl": "https://coin-images.coingecko.com/coins/images/102174112/large/0x322f0929c4625ed5bad873c95208d54e1c003b2d.png?1782444570",
"amount": {
"type": "balanceOfEscrow",
"chain": "robinhood",
"sinceTimestamp": 1782477747,
"address": "0x322F0929c4625eD5bAd873c95208D54E1c003b2d",
"decimals": 18,
"escrowAddress": "0x94bAB9693Ba2f6358507eFfcbd372b0660AFfF9d"
},
"valueForSummary": {
"type": "value",
"amount": {
"type": "const",
"sinceTimestamp": 1782477747,
"value": "0",
"decimals": 0
},
"priceId": "tesla-robinhood-tokenized-stock"
},
"category": "rwaRestricted",
"source": "canonical",
"isAssociated": false
},
{
"mode": "auto",
"id": "lighter-robinhood-USAR",
"priceId": "usa-rare-earth-robinhood-tokenized-stock",
"symbol": "USAR",
"name": "USA Rare Earth • Robinhood Token",
"iconUrl": "https://coin-images.coingecko.com/coins/images/102174132/large/0xd917b029c761d264c6a312bbbcda868658ef86a6.png?1782444621",
"amount": {
"type": "balanceOfEscrow",
"chain": "robinhood",
"sinceTimestamp": 1783468800,
"address": "0xd917B029C761D264c6A312BBbcDA868658eF86a6",
"decimals": 18,
"escrowAddress": "0x94bAB9693Ba2f6358507eFfcbd372b0660AFfF9d"
},
"valueForSummary": {
"type": "value",
"amount": {
"type": "const",
"sinceTimestamp": 1783468800,
"value": "0",
"decimals": 0
},
"priceId": "usa-rare-earth-robinhood-tokenized-stock"
},
"category": "rwaRestricted",
"source": "canonical",
"isAssociated": false
},
{
"mode": "auto",
"id": "lighter-robinhood-USDG",
"priceId": "global-dollar",
"symbol": "USDG",
"name": "Global Dollar",
"iconUrl": "https://coin-images.coingecko.com/coins/images/51281/large/GDN_USDG_Token_200x200.png?1730484111",
"amount": {
"type": "balanceOfEscrow",
"chain": "robinhood",
"sinceTimestamp": 1782477747,
"address": "0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168",
"decimals": 6,
"escrowAddress": "0x94bAB9693Ba2f6358507eFfcbd372b0660AFfF9d"
},
"valueForSummary": {
"type": "value",
"amount": {
"type": "const",
"sinceTimestamp": 1782477747,
"value": "0",
"decimals": 0
},
"priceId": "global-dollar"
},
"category": "stablecoin",
"source": "canonical",
"isAssociated": false
},
{
"mode": "auto",
"id": "lighter-robinhood-USO",
"priceId": "united-states-oil-fund-robinhood-tokenized-stock",
"symbol": "USO",
"name": "United States Oil Fund • Robinhood Token",
"iconUrl": "https://coin-images.coingecko.com/coins/images/102174125/large/0xa30fa36db767ad9ed3f7a60fc79526fb4d56d344.png?1782444603",
"amount": {
"type": "balanceOfEscrow",
"chain": "robinhood",
"sinceTimestamp": 1782477747,
"address": "0xa30FA36Db767ad9eD3f7a60fC79526fB4d56D344",
"decimals": 18,
"escrowAddress": "0x94bAB9693Ba2f6358507eFfcbd372b0660AFfF9d"
},
"valueForSummary": {
"type": "value",
"amount": {
"type": "const",
"sinceTimestamp": 1782477747,
"value": "0",
"decimals": 0
},
"priceId": "united-states-oil-fund-robinhood-tokenized-stock"
},
"category": "rwaRestricted",
"source": "canonical",
"isAssociated": false
}
]
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+1 -0
null
+74 -0
{
"robinhood": {
"roles": [],
"actors": [
{
"id": "Lighter-Validator-2,-Lighter-Validator-1-and-Lighter-Validator-3",
"name": "Lighter Validator 2, Lighter Validator 1 and Lighter Validator 3",
"accounts": [
{
"address": "robinhood:0x114E0f5a71D169DdfBAef41160A0Ac789f7015cA",
"type": "EOA",
"isVerified": true,
"name": "0x114E…15cA",
"url": "https://robinhoodchain.blockscout.com/address/0x114E0f5a71D169DdfBAef41160A0Ac789f7015cA",
"displayName": "Lighter Validator 2"
},
{
"address": "robinhood:0x19f3e744b6e8FbA3Bc3737437dC82E394638b88b",
"type": "EOA",
"isVerified": true,
"name": "0x19f3…b88b",
"url": "https://robinhoodchain.blockscout.com/address/0x19f3e744b6e8FbA3Bc3737437dC82E394638b88b",
"displayName": "Lighter Validator 1"
},
{
"address": "robinhood:0x8eC9b15e83E69418350d7286e9679e4DcEf7001f",
"type": "EOA",
"isVerified": true,
"name": "0x8eC9…001f",
"url": "https://robinhoodchain.blockscout.com/address/0x8eC9b15e83E69418350d7286e9679e4DcEf7001f",
"displayName": "Lighter Validator 3"
}
],
"chain": "robinhood",
"description": "* Can interact with Governance\n * can commit, verify, execute batches, and revert committed but not yet executed batches ",
"discoveryDrivenData": true
},
{
"id": "Lighter-Governor",
"name": "Lighter Governor",
"accounts": [
{
"address": "robinhood:0x42cDb51c23D03c69c05Fa691c3B5517Ace876213",
"type": "EOA",
"isVerified": true,
"name": "0x42cD…6213",
"url": "https://robinhoodchain.blockscout.com/address/0x42cDb51c23D03c69c05Fa691c3B5517Ace876213",
"displayName": "Lighter Governor"
}
],
"chain": "robinhood",
"description": "* Can upgrade **with 21d delay**\n * Lighter [via: UpgradeGatekeeper with 21d delay]\n * ZkLighterVerifier [via: UpgradeGatekeeper with 21d delay]\n * Governance [via: UpgradeGatekeeper with 21d delay]\n* Can interact with Governance\n * manage validators, update the address that manages the insurance fund, update the treasury address that collects fees from markets, add and update markets and assets ",
"discoveryDrivenData": true
},
{
"id": "Lighter-Security-Council",
"name": "Lighter Security Council",
"accounts": [
{
"address": "robinhood:0x4972E0CaCb2AC45644BA054838e96fF4f6f7eFDb",
"type": "EOA",
"isVerified": true,
"name": "0x4972…eFDb",
"url": "https://robinhoodchain.blockscout.com/address/0x4972E0CaCb2AC45644BA054838e96fF4f6f7eFDb",
"displayName": "Lighter Security Council"
}
],
"chain": "robinhood",
"description": "* Can interact with UpgradeGatekeeper\n * can reduce the upgrade delay to zero seconds ",
"discoveryDrivenData": true
}
]
}
}
+182 -0
{
"addresses": {
"robinhood": [
{
"name": "UpgradeGatekeeper",
"isVerified": true,
"address": "robinhood:0x43CfF77CD060A155dCe5deb12B93b875f69F2716",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "robinhood",
"description": "Governance contract functioning like an upgrade timelock for downstream contracts. The current delay is 21d and can be entirely skipped by 0x4972E0CaCb2AC45644BA054838e96fF4f6f7eFDb.\n* Roles:\n * **getMaster**: Lighter Governor\n * **securityCouncilAddress**: Lighter Security Council",
"discoveryDrivenData": true,
"url": "https://robinhoodchain.blockscout.com/address/0x43CfF77CD060A155dCe5deb12B93b875f69F2716#code"
},
{
"name": "DesertVerifier",
"isVerified": true,
"address": "robinhood:0x443Cc0c7f773D0955E3Bd8DA393b708152cFA5Bc",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "robinhood",
"description": "The verifier used for desert-mode withdrawals. It does not validate proofs or public inputs.\n",
"discoveryDrivenData": true,
"url": "https://robinhoodchain.blockscout.com/address/0x443Cc0c7f773D0955E3Bd8DA393b708152cFA5Bc#code"
},
{
"name": "Lighter",
"isVerified": true,
"address": "robinhood:0x94bAB9693Ba2f6358507eFfcbd372b0660AFfF9d",
"upgradeability": {
"proxyType": "zkLighter proxy",
"admins": [
"robinhood:0x43CfF77CD060A155dCe5deb12B93b875f69F2716"
],
"implementations": [
"robinhood:0x6C23703ba62a845893758ea35E5eD854639ef8BA",
"robinhood:0x57af7CA7F40Ee33ac974c4eE864932241671c7D4"
]
},
"chain": "robinhood",
"description": "The main rollup contract. It processes L2 batches, manages token deposits and withdrawals, allows users to submit priority requests and controls desert mode (escape hatch). This variant uses a configurable quote asset and commits state differences through host-chain calldata instead of EIP-4844 blob hashes. Logic is split between two contracts because of code-size limits, with many operations delegated to AdditionalZkLighter.\n* Roles:\n * **admin**: UpgradeGatekeeper; ultimately Lighter Governor",
"upgradableBy": [
{
"id": "Lighter-Governor",
"name": "Lighter Governor",
"delay": "21d"
}
],
"discoveryDrivenData": true,
"url": "https://robinhoodchain.blockscout.com/address/0x94bAB9693Ba2f6358507eFfcbd372b0660AFfF9d#code"
},
{
"name": "ZkLighterVerifier",
"isVerified": true,
"address": "robinhood:0xe1aFBE2D670eFF0e7C8A41F080792C011916ac31",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"robinhood:0x43CfF77CD060A155dCe5deb12B93b875f69F2716"
],
"implementations": [
"robinhood:0xA3c70B197AcE329D9e09C753DA7874B78F1D00f4"
]
},
"chain": "robinhood",
"pastUpgrades": [],
"description": "The main ZK verifier of Lighter, settles the proofs of correct L2 state transition in the case of normal rollup operation.\n* Roles:\n * **admin**: UpgradeGatekeeper; ultimately Lighter Governor",
"upgradableBy": [
{
"id": "Lighter-Governor",
"name": "Lighter Governor",
"delay": "21d"
}
],
"discoveryDrivenData": true,
"url": "https://robinhoodchain.blockscout.com/address/0xe1aFBE2D670eFF0e7C8A41F080792C011916ac31#code"
},
{
"name": "Governance",
"isVerified": true,
"address": "robinhood:0xf6F6Bd6eEA2b9A2041328732CcAe4c5e1DD278B7",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"robinhood:0x43CfF77CD060A155dCe5deb12B93b875f69F2716"
],
"implementations": [
"robinhood:0x3468Dcab5a2D81Af207B3e301DFA889321989a61"
]
},
"chain": "robinhood",
"pastUpgrades": [],
"description": "Manages the list of validators and the network governor.\n* Roles:\n * **admin**: UpgradeGatekeeper; ultimately Lighter Governor\n * **networkGovernor**: Lighter Governor\n * **validators**: Lighter Validator 1, Lighter Validator 2, Lighter Validator 3",
"upgradableBy": [
{
"id": "Lighter-Governor",
"name": "Lighter Governor",
"delay": "21d"
}
],
"discoveryDrivenData": true,
"url": "https://robinhoodchain.blockscout.com/address/0xf6F6Bd6eEA2b9A2041328732CcAe4c5e1DD278B7#code"
}
]
},
"escrows": [
{
"address": "0x94bAB9693Ba2f6358507eFfcbd372b0660AFfF9d",
"sinceTimestamp": 1782477747,
"tokens": [
"ETH",
"USDG",
"AAPL",
"AMZN",
"GOOGL",
"META",
"MSFT",
"NVDA",
"TSLA",
"ORCL",
"SPCX",
"BABA",
"USAR",
"USO",
"COIN",
"CRCL",
"QQQ",
"SPY",
"SGOV",
"SLV",
"AMD",
"INTC",
"MU",
"SNDK",
"CRWV",
"PLTR"
],
"contract": {
"isVerified": true,
"address": "robinhood:0x94bAB9693Ba2f6358507eFfcbd372b0660AFfF9d",
"upgradeability": {
"proxyType": "zkLighter proxy",
"admins": [
"robinhood:0x43CfF77CD060A155dCe5deb12B93b875f69F2716"
],
"implementations": [
"robinhood:0x6C23703ba62a845893758ea35E5eD854639ef8BA",
"robinhood:0x57af7CA7F40Ee33ac974c4eE864932241671c7D4"
]
},
"chain": "robinhood",
"description": "Main Lighter contract on Robinhood Chain. It escrows USDG used as margin as well as ETH and Robinhood tokenized equities and ETFs used for spot trading, and credits the corresponding balances inside Lighter.",
"url": "https://robinhoodchain.blockscout.com/address/0x94bAB9693Ba2f6358507eFfcbd372b0660AFfF9d#code"
},
"chain": "robinhood",
"chainId": 4663
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "desert mode is activated, because withdrawals are not constrained by a valid proof.",
"isCritical": true
},
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
],
"zkVerifiers": [
"robinhood:0xA3c70B197AcE329D9e09C753DA7874B78F1D00f4"
]
}
+7 -0
{
"baseTimestamp": 1783954937,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+1 -0
null
+1 -0
null
+21 -0
+21 -0
{
"creator": "Lighter",
"projectsForTvs": [
{
"projectId": "lighter",
"sinceTimestamp": 1759356000
},
{
"projectId": "lighter-robinhood",
"sinceTimestamp": 1782502424
}
],
"proofSystemInfo": "## Description\n\nLighter prover is a zk proving system for Lighter L2 based on [Plonky2](https://github.com/0xPolygonZero/plonky2/tree/main) circuits. It verifies the logic for regular state transition of Lighter L2, as well as state transitions in the “desert mode” when L2 is shut down and users exit, using different sets of circuits. The circuits are proven with a STARK which is wrapped into a Plonk SNARK before settling onchain.\n\n## Proof system\n\n[Plonky2](https://github.com/0xPolygonZero/plonky2) implements a circuit aritmetization based on TurboPlonk over Goldilocks field, but it replaces KZG polynomial commitment scheme with a FRI-based polynomial testing scheme. In this way proving Plonky2 circuits requires no trusted setup, i.e. it is a STARK. \n\nHowever Lighter wraps these STARK in a [gnark](https://github.com/Consensys/gnark) implementation of Plonk over BN254 curve, which requires a trusted setup.\n\n### Lighter Circuits\n\nThe proof system operates on Lighter STF circuits and desert mode circuits. All published circuits are available [here](https://github.com/elliottech/lighter-prover/tree/main). \n\nLighter proof system defines circuits for proving all transactions, including internal, L1 and L2 transactions. The full list of available transactions that define Lighter STF can be seen [here](https://github.com/elliottech/lighter-prover/tree/main/circuit/src/transactions). \n\nTransaction circuits use custom implementations for arithmetic operations ([bigint](https://github.com/elliottech/lighter-prover/tree/main/circuit/src/bigint), [uint](https://github.com/elliottech/lighter-prover/tree/main/circuit/src/uint)), cryptographic primitives ([ecdsa](https://github.com/elliottech/lighter-prover/tree/main/circuit/src/ecdsa) on the Secp256k1 curve, [eddsa](https://github.com/elliottech/lighter-prover/tree/main/circuit/src/eddsa) on the ECgFp5 curve, [keccak](https://github.com/elliottech/lighter-prover/tree/main/circuit/src/keccak), [poseidon_bn128](https://github.com/elliottech/lighter-prover/tree/main/circuit/src/poseidon_bn128)) and other helper circuits.\n\n### Desert circuits\n\nLighter also provides [desert exit circuits](https://github.com/elliottech/lighter-prover/tree/main/desertexit) that allow users to permissionlessly exit L2 when it is in the desert mode. Users can use desert circuit to generate a proof of ownership of all their positions locally, which could be submitted on L1 for withdrawing funds.\n\n### Recursion\n\nLighter prover implements recursive aggregation of transaction proofs to make the whole pipeline more efficient and parallelizable. First, fixed-size blocks of consecutive transactions are processed and proven by [BlockTx circuit](https://github.com/elliottech/lighter-prover/blob/main/circuit/src/block_tx_constraints.rs), which can be done on separate machines. Next, arbitrary number of BlockTx proofs are aggregated into a single proof by [BlockTxChain circuit](https://github.com/elliottech/lighter-prover/blob/main/circuit/src/block_tx_chain_constraints.rs), which includes continuity checks across all BlockTx proofs.",
"techStack": {
"snark": [
{
"id": "Plonky2",
"type": "Plonk",
"name": "Plonky2",
"description": "Toolkit for developing transparent SNARKs based on PLONK and FRI developed by Polygon Zero team."
},
{
"id": "Goldilocks",
"type": "Field",
"name": "Goldilocks",
"description": "Prime field of order p = 2**64 - 2**32 + 1."
},
{
"id": "CustomCircuits",
"type": "Other",
"name": "App-specific circuits",
"description": "This project uses custom app-specific ZK circuits."
}
],
"finalWrap": [
{
"id": "Gnark",
"type": "Plonk",
"name": "Gnark",
"description": "Consensys implementation of Plonk proving system written in Go."
},
{
"id": "BN254",
"type": "curve",
"name": "BN254",
"description": "BN254, aka BN256, aka alt_bn128 pairing-friendly 254-bit prime field Weierstrass elliptic curve."
}
]
},
"trustedSetups": [
{
"proofSystem": {
"id": "Gnark",
"type": "Plonk",
"name": "Gnark",
"description": "Consensys implementation of Plonk proving system written in Go."
},
"id": "AztecIgnition",
"name": "Aztec Ignition",
"participantCount": 176,
"risk": "green",
"shortDescription": "Aztec Ignition is a trusted setup ceremony that was run by Aztec for KZG commitment over BN254 curve in 2019. It included 176 participants and was publicly open for participation.",
"longDescription": "Aztec Ignition is a trusted setup ceremony for KZG commitments over BN254 curve that was run by Aztec for KZG commitment over BN254 curve in 2019. \nIt included 176 participants and was publicly open for participation.\n\n- Github repo to download and verify the ceremony artifacts: [https://github.com/AztecProtocol/ignition-verification](https://github.com/AztecProtocol/ignition-verification).\n- Github repo with instructions for ceremony participants: [https://github.com/AztecProtocol/Setup](https://github.com/AztecProtocol/Setup).\n- Ceremony announcement with a call to participate: [https://aztec.network/blog/announcing-ignition](https://aztec.network/blog/announcing-ignition)."
}
],
"verifierHashes": [
{
"hash": "0x16992bb868b32c1f4bd94d70267468928932f15df9b6ac22e62719f26b0eb221",
"name": "Lighter verifier",
"proofSystem": {
"id": "Gnark",
"type": "Plonk",
"name": "Gnark",
"description": "Consensys implementation of Plonk proving system written in Go."
},
"knownDeployments": [
{
"address": "eth:0xAa0b5b65890162C5C96D82F088822247EC5Df5D6"
}
],
"verificationStatus": "successful",
"attesters": [
{
"id": "l2beat",
"name": "L2BEAT",
"link": "https://l2beat.com"
}
],
"verificationSteps": "The verification process below is based on the `build_circuits.sh` [script](https://github.com/elliottech/lighter-prover/blob/main/build_circuits.sh) in the lighter-prover repo. It consumed around 100 GiB of memory at the peak, so we recommend rerunning it on a machine with 128 GiB of RAM.\n\nThe steps below are for Ubuntu 22.04 OS.\n\n1. Install rust, gcc, go version 1.21 and later.\n\n```\ncurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n. .cargo/env\n\nsudo apt update\nsudo apt install build-essential\n\n# one way to install latest go on Ubuntu 22.04\nwget https://go.dev/dl/go1.21.0.linux-amd64.tar.gz\nsudo tar -xvf go1.21.0.linux-amd64.tar.gz\nsudo mv go /usr/local\nexport GOROOT=/usr/local/go\nexport GOPATH=$HOME/go\nexport PATH=$GOPATH/bin:$GOROOT/bin:$PATH\nsource ~/.profile\n```\n\n2. Run the correct version of the script to regenerate the keys.\n\n```\ngit clone https://github.com/elliottech/lighter-prover.git\ncd lighter-prover\ngit checkout 90af1be311ffce17e6c58f9983fa5ec1c8d3a097\nchmod +x build_circuits.sh\n./build_circuits.sh\n```\n\nThe script will generate the `final::....sol` file that contains the verifier smart contract with the verification keys.",
"description": "Custom verifier ID: SHA256 hash of all VK_... values from the smart contract, abi packed in the same order they are defined."
},
{
"hash": "0x1ea7019dfa94b4b4c58254a958d8fa81a2a8d5d651477acae75bd9405ee5f181",
"name": "Lighter on Robinhood verifier",
"proofSystem": {
"id": "Gnark",
"type": "Plonk",
"name": "Gnark",
"description": "Consensys implementation of Plonk proving system written in Go."
},
"knownDeployments": [
{
"address": "robinhood:0xA3c70B197AcE329D9e09C753DA7874B78F1D00f4"
}
],
"verificationStatus": "notVerified",
"description": "Custom verifier ID: SHA256 hash of all VK_... values from the smart contract, abi packed in the same order they are defined."
},
{
"hash": "0x6048c1a7d7e5439f458f927009811f3d95775d8b52775688db857cf6c70a816f",
"name": "Lighter Desert verifier",
"sourceLink": "https://github.com/elliottech/lighter-prover/tree/aec951b36ffcdb67818ff7e237209d547b4bb78f/desertexit/circuits",
"proofSystem": {
"id": "Gnark",
"type": "Plonk",
"name": "Gnark",
"description": "Consensys implementation of Plonk proving system written in Go."
},
"knownDeployments": [
{
"address": "eth:0x2aDBd91742B64105a097bC37D20Ebbca9a496085"
}
],
"verificationStatus": "successful",
"attesters": [
{
"id": "l2beat",
"name": "L2BEAT",
"link": "https://l2beat.com"
}
],
"verificationSteps": "The verification process below is based on the `build.sh` [script](https://github.com/elliottech/lighter-prover/blob/main/desertexit/build.sh) in the lighter-prover repo. It consumed around 100 GiB of memory at the peak, so we recommend rerunning it on a machine with 128 GiB of RAM.\n\nThe steps below are for Ubuntu 22.04 OS.\n\n1. Install rust, gcc, go version 1.21 and later.\n\n```\ncurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh\n. .cargo/env\n\nsudo apt update\nsudo apt install build-essential\nsudo apt install jq\n\n# one way to install latest go on Ubuntu 22.04\nwget https://go.dev/dl/go1.21.0.linux-amd64.tar.gz\nsudo tar -xvf go1.21.0.linux-amd64.tar.gz\nsudo mv go /usr/local\nexport GOROOT=/usr/local/go\nexport GOPATH=$HOME/go\nexport PATH=$GOPATH/bin:$GOROOT/bin:$PATH\nsource ~/.profile\n```\n\n2. Run the correct version of the script to regenerate the keys.\n\n```\ngit clone https://github.com/elliottech/lighter-prover.git\ncd lighter-prover/desertexit\ngit checkout aec951b36ffcdb67818ff7e237209d547b4bb78f\nchmod +x build.sh\n./build.sh\n```\n\nThe script will generate the `desertwrapper::....sol` file in the `lighter-prover/desertexit/artifacts` directory that contains the verifier smart contract with the verification keys.",
"description": "Custom verifier ID: SHA256 hash of all VK_... values from the smart contract, abi packed in the same order they are defined."
}
]
}
+10 -0
+10 -0
{
"badges": [
{
"id": "EVM",
"type": "VM",
"name": "EVM",
"description": "This project uses the Ethereum Virtual Machine to run its smart contracts and supports the Solidity programming language",
"action": {
"type": "scalingFilter",
"id": "vm",
"value": "EVM"
}
},
{
"id": "EthereumBlobs",
"type": "DA",
"name": "Ethereum with blobs",
"description": "This project is posting its data to Ethereum as blobs",
"action": {
"type": "publicDaHighlight",
"slug": "ethereum"
}
},
{
"id": "Orbit",
"type": "Stack",
"name": "Built on Arbitrum Orbit",
"description": "The project is built on Arbitrum Orbit",
"action": {
"type": "scalingFilter",
"id": "stack",
"value": "Arbitrum"
}
},
{
"id": "L3HostChain",
"type": "Other",
"name": "L3 Host Chain",
"description": "This project serves as a host chain for L3s",
"action": {
"type": "selfScalingFilter",
"id": "hostChain"
}
}
],
"description": "Robinhood Chain is an Arbitrum Orbit Layer 2 operated by Robinhood, focused on tokenized real-world assets (such as stocks and ETFs) and onchain financial services including 24/7 trading, lending, and borrowing.\n\nRobinhood Chain is part of Robinhood's broader mission to democratize access to global financial markets and to empower users and developers with modern blockchain tools.",
"links": {
"websites": [
"https://robinhood.com/chain/"
],
"bridges": [
"https://portal.arbitrum.io/bridge?destinationChain=robinhood-chain&sourceChain=ethereum"
],
"documentation": [
"https://docs.robinhood.com/chain"
],
"explorers": [
"https://robinhoodchain.blockscout.com"
],
"socialMedia": [
"https://x.com/RobinhoodApp"
]
}
}