Testnet (open)
Testnet is the default environment for all examples in this documentation. Access is open — no partner agreement required.Testnet contract addresses
These are the verified deployments on ADI testnet. They are the authoritative target for every EIP-712verifyingContract field.
| Contract | Address |
|---|---|
ConditionalTokens | 0x66Ed938E9Dec9A1df6033d66560d5fe6117EE744 |
MockCollateral (mUSDC) | 0x979696A1B62d4c0F0390124447c065798ee4c70c |
CTFExchange (binary) | 0x4074c225b296E1E556c565B0C3Ddba305E63E7c4 |
NegRiskAdapter | 0x3BE93B8e19b73e1b21B65adFFEF4ef248715D21B |
NegRiskCtfExchange | 0x2eB97912c333963a21410Af1eF7E9a0aAB7631bf |
VaultFactory | 0x298F4D974a0715a8e9085EE3f48a14A421bCF5B6 |
DepositLimitRegistryProxy | 0x98C8B72d58Ec30b11Ea6Cd7fAeB1B62823D5Ffc1 |
Oracle (proxy) | 0x346f4065f9aA3CE51F06bAfff3e657bc2FbD209b |
MulticallExecutor | 0xD8b812896E4caE5D9b97394e325FcC1998225F25 |
Read-at-runtime — GET /api/platform/contracts
The address table above is the human-readable form of the canonical
contract registry. For SDK code prefer the runtime endpoint:
fetch() this at
boot rather than hardcoding constants — eliminates the entire class
of bugs from a stale prose-page after a redeploy.
wrappedCollateral is null on both testnet and mainnet — the field
is reserved for future deployments and is not used by today’s NegRisk
markets.
Getting testnet USDC
MockCollateral (0x979696A1B62d4c0F0390124447c065798ee4c70c) exposes
a public mint(address to, uint256 amount) on testnet — anyone can mint
themselves mUSDC. After minting, you still need to deposit into your
vault: see Vaults.
Testnet caveats
Testnet has compliance guards relaxed for integration testing — KYC,
geo, and the return-to-source cleared-deposit check are not enforced.
Practical consequences:
- Multi-wallet sub-accounts transact without per-wallet KYC.
- Every depositing EOA is auto-cleared as a deposit-side withdrawal
destination — no
destination_not_clearedrejection on first deposit-then-withdraw round-trip. - Withdrawal-side EDD enforcement is also suppressed on testnet —
a never-deposited destination (e.g.
0x...dEaD) is accepted withoutdestination_not_clearedreject. Production runs the full return-to-source check on every withdrawal address; do not rely on testnet behaviour to validate withdrawal-side EDD logic. - Sanctions / geo blocks do not fire.
- Matcher state is not persisted across redeploys. After a testnet restart, your open orders may disappear (warm-restart of the matcher is planned for staging+).
- Oracle on testnet resolves against mock data. Do not use testnet resolution for real backtesting.
- Faucet, admin
pause/resume/cancel, and platform kill-switch can be triggered at any time during partner testing windows — expect occasional disruptions.
Testnet redeploys — what to expect
Testnet contracts get redeployed periodically (chain upgrades, schema changes, security patches). When that happens every contract address on this page changes —VaultFactory, MockCollateral,
ConditionalTokens, CTFExchange, NegRiskAdapter, NegRiskCtfExchange,
DepositLimitRegistry, Oracle are re-deployed as a single set.
Mainnet redeploys are not done in-place. Any contract change on
mainnet ships as a new deployment with a coexistence period and
explicit migration instructions delivered via the partner channel.
Staging (on request)
Production-like environment with real AML provider, real data-source adapters, real on-chain deployments on a production-ready chain. Used for the pre-launch dry-run before a new market opens to real users. Access requires:- A signed partner agreement (NDA + API access terms).
- A whitelisted source IP for the internal network (staging surfaces are gated behind VPN).
- A dedicated partner account provisioned by ops.
Mainnet (partner onboarding)
Production environment. Base URL, chain ID, and contract addresses are delivered to partners at onboarding as part of the live-rollout runbook. Do not hardcode mainnet values from this documentation — always read them from the onboarding package so configuration remains auditable.Partner onboarding
Request mainnet access and onboarding runbook.
Status page
Real-time status of all environments.
Environment capability matrix
| Feature | Testnet | Staging | Mainnet |
|---|---|---|---|
HTTP REST (core-api) | ✅ | ✅ | ✅ |
WebSocket (ws-gateway) | ✅ | ✅ | ✅ |
/api/docs OpenAPI UI | ✅ | on request | ❌ (internal only) |
| Faucet | ✅ | ❌ | ❌ |
MOCK_AUTH_ACCEPT_ALL | ❌ | ❌ | ❌ |
| Real AML screening (Global Ledger) | mock | ✅ | ✅ |
| Real sports data sources (SDDP, etc.) | mock | ✅ | ✅ |
| On-chain settlement | ✅ (testnet chain) | ✅ | ✅ |
| HSM-backed oracle signer | ❌ | ✅ | ✅ |
Admin multi-sig on cancel / void | ❌ | ✅ | ✅ |
| Platform kill-switch | ✅ | ✅ | ✅ |