DOGMACAPITAL
WorkspaceContracts
On chain

Contracts

Everything DOGMA CAPITAL owns on Robinhood Chain, with a live code check against the chain rather than against our own deploy log. Addresses are CREATE-derived from the deployer at a fixed nonce, so they were reserved and predictable before a single transaction was sent.

Contracts
8
0 carrying code
Chain
Robinhood Chain
ID 4663 · mainnet
Router fee
0.25%
capped at 1.00% in the bytecode
Role wallets
10
1 hot
Reserved, not yet deployed. None of these addresses carries code yet. They are the exact addresses contracts/scripts/deploy.js will produce when run from the deployer at nonce 0 - the deployer refuses to run at any other nonce, and aborts if a deployed address does not land on the reserved one.

The suite

In deployment order
Nonce Contract Address Roles Code State Tx
0 DogmaVenueRegistry 0xe81a0C5a4446bF1eC985d065C130CcBDBaa5d9F5 Venue allowlist, Routing surface - Reserved -
The on-chain list of liquidity venues the aggregator reads. Deployed first because the Quoter, the Book and the Router all take it as a constructor argument.
1 DogmaAssetRegistry 0x47CCcc16D18A8aF397c98C09E42E67D8596dF26d Instrument universe, Listing control - Reserved -
Every instrument the terminal will price, with its class, decimals and quote asset. The front end boots off this contract, not off a server-side file.
2 DogmaQuoter 0xefbB66D602fB3fC80A4Bb9939712Cd1192eEFFd2 Exact sizing - Reserved -
Prices a size against one venue. V2 in closed form; V3 by starting the real pool swap and reverting inside the pool callback before anything settles.
3 DogmaBook 0x410F79a42EB6B9d4F712398CC1B730Cd5Ae8a53d Liquidity aggregation, Split solver - Reserved -
Consolidates every venue into one sorted book and solves the split the router executes. Read-only in effect - it changes no state anywhere.
4 DogmaTreasury 0x2451d5428569151ea9C5a9caF48e7a59c8b87702 Fee custody, Revenue split - Reserved -
Every fee lands here and is split by published shares. Sweeping is permissionless; the destinations are fixed on the books.
5 DogmaRouter 0x43Be2E6f5ae6245e52BF38e22a80802Cf9c41773 Smart order routing, Router fee take - Reserved -
Settles a split route in one transaction and enforces the signed minimum output, or reverts. Fee is capped at 1.00% in the deployed bytecode.
6 DogmaToken 0x3a2746cAAf865E6d131B3d00343aAD22f5863FC4 DGMA desk token - Reserved -
Fixed-supply ERC-20 with EIP-2612 permit. No mint, no tax, no pause. Staked for a desk tier.
7 DogmaStaking 0xC487f33CAD90eb1cee38D3f22A2A3049cE4E5B3A Desk tiers, Fee rebates - Reserved -
Stake DGMA to hold a tier. Rewards are funded, never minted, so the runway is visible on chain before anyone stakes.
Source for every one of these is in contracts/ and is self-contained. Nothing is imported from an external package, so the deployed bytecode can be matched byte for byte against the repository through the explorer's standard-JSON verification.

Role wallets

Addresses only: no key is stored anywhere the web server can read
Role Address Responsibilities Rate Balance Key
keeper 0x33d632cF94F7F8D92372Ade00a7978087Fe7d3f7 Keeper, Automation
The only hot key. Sweeps the treasury, refreshes registry state and can suspend a venue or an instrument. Holds no funds.
n/a 0 ETH Hot
deployer 0xf5eFA1e96D1EcA1e98c6cB045D08D5E94f9F08ef Deployer, Contract owner
Signs every DOGMA CAPITAL contract deployment at nonce 0..N and owns the result. Holds no revenue - fund it with gas only.
n/a 0 ETH Cold
insurance 0x82361d530Ea9c37268947a3CDbE6a1c3e08EDed5 Insurance fund, Execution backstop
Backstop reserve. Makes users whole for an execution failure caused by DOGMA CAPITAL rather than by a venue.
10% of router fees 0 ETH Cold
listing_fee 0xc695e1e3483809DF915527a2914c5b554e79D40C Listing fee
Collects the one-off fee charged when an instrument is listed into DogmaAssetRegistry.
0.01 ETH flat 0 ETH Cold
market_maker 0xaE9d3F7BD8Bbf6A5692867EBbb8Cf66EaB8188dA Inventory, Quote seeding
Holds working inventory used to seed quotes on thin listings. Operational capital, not revenue.
n/a 0 ETH Cold
operations 0x7880898AB9158130B773EA19e0F5e3FcDb39ee3d Operations, Infrastructure costs
Funds RPC, indexing and terminal infrastructure. A DogmaTreasury beneficiary.
20% of router fees 0 ETH Cold
reserve 0x4e392B38704243F7f6Bb1AbBea46737F81fC19Fb Cold reserve (standby)
Cold standby. Receives nothing today; exists so any role above can be rotated to a fresh key without a redeploy.
n/a 0 ETH Cold
reward_funder 0xE2d552F25B8bD91817df3e728D41e1812C2AaF88 Staking reward funder
Tops up the DogmaStaking reward pool. Outbound only - never a fee destination.
n/a 0 ETH Cold
router_fee 0x95cba54c26279Ea19f4Da836e6362ed8a39AdF31 Router fee - standby sink
Standby destination for the DogmaRouter input-side fee. Live routing points at the DogmaTreasury contract.
0.25% of routed notional 0 ETH Cold
treasury 0xCb2136Cb3e51E0FA2Bca302902Ecd49b7b883272 Protocol treasury, Primary revenue
The desk primary revenue wallet. Receives the protocol share of every fee distributed by DogmaTreasury.
70% of router fees 0 ETH Cold
One key per role, deliberately. A compromised fee key cannot move treasury funds, and the keeper, the only key that is ever hot, holds no revenue at all and is authorised for upkeep calls only.

Why the addresses were known in advance

A CREATE address is a pure function of the deploying account and its nonce. Generate the deployer key, and every contract address the deploy will produce is determined before any transaction exists.

That is what lets these addresses be published, funded and referenced ahead of the deploy. It also makes the deployer's two rails meaningful: it refuses to run unless the nonce is 0, and it aborts on the first address that does not land where it was reserved.

The result is that nobody has to take the desk's word for which contract they are trading through. The address was committed to first.

What each contract can and cannot do

Router: settles a route and enforces the signed minimum. Takes no custody beyond one call, and its fee is capped at 1.00% in the deployed bytecode; no owner key can raise it past that.

Book and Quoter: read-only. They hold no funds, have no owner, and cannot move a token. Their worst possible behaviour is returning a wrong number, which the router's minimum-output check then rejects on the user's behalf.

Treasury: sweeping is permissionless. Anyone may trigger the distribution; the money can still only travel to the beneficiaries already on the books.

Registries: the owner lists; the keeper may only suspend. A compromised keeper can degrade the desk but can never widen what it may touch.