Skip to main content

Address publication model

SurfacePublic contract
Deployment-specific addressesPublished from the repo-owned v2/config/ethereum/addresses.json carrier; always verify the target environment before transacting
Protocol entrypointDerivaDEX uses a diamond-style contract entrypoint for protocol actions and governance-executed upgrades
Token contractsDDX governance/fee flows and USDC collateral flows remain separate token surfaces
Zero address0x0000000000000000000000000000000000000000 means the surface is not active or not published for that environment

Publication scope

This page intentionally publishes the public-facing environment set rather than every carrier environment in v2/config/ethereum/addresses.json.
Scope rulePublic contract
Published environments on this pagederivadex, staging, and testnet
Other carrier environmentsAdditional carrier environments in addresses.json are not automatically part of the public docs contract just because they exist in the repo
Environment targetingVerify both the environment label and the address set; do not rely on chain ID alone when multiple environments share the same chain

Published environment addresses

EnvironmentChain IDDerivaDEX diamondGovernanceDDXUSDCCheckpoint
derivadex10x6fb8aa6fc6f27e591423009194529ae1266600270xbfd5a73bafc692190846e04fa7b3f22325b249c20x3A880652F47bFaa771908C07Dd8673A787dAEd3A0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB480x7e9487aa950a68bacebcf8f6ff32ed30697516a6
staging111551110xa51e331dcbe8d6f987230bcfed662aab9ce176910x4e59e84ffe91bad132d0b2e0f6e0fef79e93fb360x9755e77d5cebb77d5733a0b69aace7d346bb30370x781055cc9129e1ed1298b9e8305c3733233e984f0xbeab25ea000b7b0a796d92910615821af2ab4425
testnet111551110x5d1a3b4181d3cad422f404f28e9e972d0ba4dad60x159705706583ecdf5075d917070dd8d9b8e3b4110x5b1049d81e29bad0ae77392276e030161fc4a4c80x9623ea5645d21fb21f94e582c683c011a76bb9d20x407880a3a16533af966e230108be286218d52df3

Environment targeting cautions

CautionWhy it matters
Chain ID is not enough by itselfstaging and testnet both use 11155111, so chain ID alone does not tell you which DerivaDEX address set you should target
Zero-address readings are environment-specificA surface can be inactive in one environment while a related funded or checkpoint surface is live in another
Repo carrier beats copied snippetsTreat addresses.json as the current publication carrier instead of relying on screenshots, forum posts, or older docs copies

Core contract surfaces

Address keyRoleWhy it matters
derivaDEXAddressDiamond proxy entrypointUse this address for protocol-facing contract interactions rather than facet implementation addresses
governanceAddressGovernance execution surfaceRelevant for DIPs, queued proposals, and executed parameter changes
checkpointAddressCheckpoint and settlement anchorRelevant for public settlement verification and withdrawal eligibility
registrationAddressRegistration and admission surfaceRelevant for user onboarding and access gating
specsAddressProduct and risk-parameter surfaceRelevant for market-spec and parameter changes
collateralAddressCollateral-management surfaceRelevant for deposits, withdrawals, and collateral bookkeeping
stakeAddressGovernance-staking surfaceRelevant for governance participation and staking-related flows
insuranceFundAddress / fundedInsuranceFundAddressInsurance-fund surfaceRelevant for liquidation and solvency backstop behavior
pauseAddressSafety and pause surfaceRelevant for emergency or governed market controls

Activation caveats by environment

Surface familyderivadexstagingtestnetInterpretation rule
insuranceFundAddressnon-zeronon-zerozeroDo not assume the insurance-fund entrypoint is active in every published environment
fundedInsuranceFundAddressnon-zeronon-zeronon-zeroA funded insurance-related surface can be present even when insuranceFundAddress itself is zero in another environment
pauseAddressnon-zeronon-zeronon-zeroSafety-control surfaces remain environment-specific but currently published across the public set
checkpointAddressnon-zeronon-zeronon-zeroSettlement/checkpoint verification remains environment-dependent and should be matched to the correct address set

Diamond and ABI handling rules

  • Verify the active deployment before using any address.
  • Do not assume testnet, staging, and mainnet share the same addresses.
  • When using diamond and facet ABIs, call the diamond proxy address rather than a facet implementation address unless a separate address key explicitly names a non-diamond surface.
  • Treat repo-carried address keys as the current reference carrier; do not copy addresses from historical screenshots or older posts without checking the current environment.

Public source carriers for deeper lookup

NeedRepo carrier
current published address setv2/config/ethereum/addresses.json
diamond loupe and cut interfacesv2/packages/protocol-harness/contracts/src/diamond/IDiamondLoupe.sol, v2/packages/protocol-harness/contracts/src/diamond/IDiamondCut.sol
governance facet interface and eventsv2/packages/protocol-harness/contracts/src/facets/interfaces/IGovernance.sol, v2/packages/protocol-harness/contracts/src/facets/Governance.sol
token delegation and vote eventsv2/packages/protocol-harness/contracts/src/tokens/DDX.sol

Public lookup workflow

If you need to confirm…Use this firstThen validate with…
which address to target in one environmentthe published environment table abovethe matching environment entry in v2/config/ethereum/addresses.json
which ABI or interface to bindthe core contract surface map on this pagethe relevant facet or token interface in the repo carrier
whether one function lives behind the diamondthe diamond rules on this pageloupe calls such as facetAddress(bytes4) against the diamond proxy
whether a governance action really executedthe governance process reference and public transaction evidencegovernance events emitted from the deployed contracts

ABI, facet, and event publication status

TopicPublic contract
Diamond ABI handlingUse the diamond proxy address with the ABI or interface that matches the action you are performing
Facet documentationPublic docs do not yet publish one separate page for every facet implementation; treat this page as the contract map and use the linked repo-carried interfaces when you need ABI-level detail
Event and data structuresPublic docs do not yet ship a standalone event catalog for every governance or trading facet; use the public reference pages plus the linked repo-carried interfaces and sources when event-level integration detail matters

Gas and execution-cost note

Gas behavior on Ethereum applies to deposits, withdrawals, governance actions, checkpoints, and other on-chain contract interactions. The public docs do not yet publish a timeless gas-optimization or per-function gas-cost table, so treat any gas expectations as network- and deployment-conditional unless a current public reference says otherwise.

Governance-relevant token and contract functions

Function or conceptPublic relevance
delegateAssign DDX voting power to another address
delegateBySigDelegate voting power through a signed message flow when supported
getCurrentVotesRead current voting power for an address
checkpointsInspect historical vote-accounting checkpoints for governance state

Publication caveat

This page publishes the current repo-carried address model and the contract-surface map needed for public governance and integration context. It does not yet split separate public pages for every diamond facet ABI, event catalog, or gas-optimization profile.
Last modified on April 13, 2026