Docs / Addresses
Build on Ordeo
Networks, addresses and how to check a deployment
Ordeo runs on Robinhood Chain mainnet. Nothing is deployed yet: every address below reads “Not deployed yet” until it is set in the site’s contract configuration.
On this page
Network
| Setting | Value |
|---|---|
| Network | Robinhood Chain mainnet |
| Chain id | 4663 (0x1237) |
| Native currency | ETH, 18 decimals |
| Public RPC | https://rpc.mainnet.chain.robinhood.com |
| Fallback RPC (reads) | https://robinhood-rpc.publicnode.com |
| Explorer | https://robinhoodchain.blockscout.com |
Ordeo contracts
| Contract | Address |
|---|---|
| ORDEO token | Not launched yet |
| OrdeoShroud | Not deployed yet |
| OrdeoTradeDesk | Not deployed yet |
| OrdeoYieldSplit | 0xd9cbcd9648d3eca02be499cbf0dab89339d54c76 |
| OrdeoKeyLedger | 0x0e34be7e115e7e76354fd3bd47b300ea250bc349 |
| OrdeoAttestor | 0xcfb6a0246527b6a382270c03bd5f3d8283d230f5 |
| OrdeoSponge2 | 0xa10d8b060347400aabfc16d338d649650d637279 |
| OrdeoSponge3 | 0xfffa4c17744afeff68eadd13f89746d55fdd9b56 |
| OrdeoChallengeLog | 0xd0aaabd9477d05d76063cf42a1b014932cc68281 |
| OrdeoConstraintSum | 0x739573d3836b88f5d720eceee738450861679f61 |
| Pool deployment block | Not deployed yet |
Addresses are set in one place, src/config/contracts.ts, and the token address in src/config/brand.ts. While the pool, its deployment block and the real token address are empty, the app runs in practice mode and sends no transactions.
Pons and Uniswap v4 addresses
| Contract | Address |
|---|---|
| Launch factory (Pons V2) | 0x7eD598BcEf8bd9Edd8C97A195C6d13f40801EC7e |
| Pons meme hook (v4 hook) | 0xE5e702641Ea86F4ae6cC3cDaeD2B886f976Be044 |
| Uniswap v4 quoter | 0x8Dc178eFB8111BB0973Dd9d722ebeFF267c98F94 |
| Universal router | 0x8876789976dEcBfCbBbe364623C63652db8C0904 |
| Permit2 | 0x000000000022D473030F116dDEE9F6B43aC78BA3 |
Each of these was checked to have code on Robinhood Chain mainnet. They belong to Pons and Uniswap, not to Ordeo.
Deploy order and constructor arguments
- 01
OrdeoSponge2, OrdeoSponge3
Hash libraries (poseidon-solidity 0.0.5, MIT, unmodified). No arguments.
- 02
OrdeoChallengeLog, OrdeoConstraintSum
Libraries of the generated verifier. No arguments.
- 03
OrdeoAttestor
No arguments; linked to
OrdeoChallengeLogandOrdeoConstraintSum. The verification key is compiled in. - 04
OrdeoKeyLedger
No arguments.
- 05
OrdeoYieldSplit
(address team, address holders, address ponsFactory). Team and holders must differ from each other and from zero; the factory must have code and report a fee escrow with code.holdersis the harvester’s wallet. - 06
Launch ORDEO on Pons
With the splitter as creator fee recipient, paired with ETH. This fixes the token address.
- 07
OrdeoShroud
(address verifier, address token, address feeSink, uint256 shieldFeeBps, uint256 transferFeeBps, uint256 unshieldFeeEth, uint256 unshieldFeeToken), linked toOrdeoSponge2andOrdeoSponge3.feeSinkis the splitter. Proposed values: shield 10 bps, transfer 10 bps, 0.0001 ETH and 10 ORDEO (times the token’s decimals). The owner confirms them before deploying. - 08
OrdeoTradeDesk
(address ponsFactory, address poolManager, address pool). All three must have code; the token is read from the pool.
Checking an address with verify-deployment
npm run verify-deployment -- <address> [--kind <contract>] [--tx <creation tx>] [--rpc <url>]
- It compares the deployed runtime code byte for byte with the build committed in this repository (
npm run contracts:artifacts -- --checkproves that file is a fresh build). - Only three kinds of bytes may differ, and each is then checked on its own: a library’s own address, linked library addresses (each verified the same way) and immutables, decoded by name and compared to their expected values.
- The contract kind is taken from
--kindor found by exact match, never guessed from size. - With
--tx, the creation input must equal this build’s creation code followed by constructor arguments equal to the deployed immutables.
Any failure exits non-zero.
Verifying source on Blockscout
Source verification on https://robinhoodchain.blockscout.com must use exactly the build settings in contracts/foundry.toml:
| Setting | Value |
|---|---|
| Compiler | solc 0.8.28 |
| Optimizer | On, 200 runs |
| EVM version | paris |
| via-IR | Off |
| Metadata hash | None (no CBOR metadata appended) |
- Open the contract’s address on the explorer and choose to verify and publish its source.
- Use the Solidity standard JSON input. Foundry prints it with
forge verify-contract --show-standard-json-input. - Give the library addresses:
OrdeoSponge2andOrdeoSponge3for the pool,OrdeoChallengeLogandOrdeoConstraintSumfor the verifier. - Paste the ABI-encoded constructor arguments, the same ones verify-deployment checks.
- Verify the libraries first, then the verifier, registry and splitter, then the pool and router.