What carries over unchanged
- The broker and the binding.
CapabilityBrokerandnonce = keccak256(abi.encode(order))are the same bytecode on any chain. The security argument in the threat model does not depend on the network. - Real USDC settles directly. Circle’s native USDC implements EIP-3009
transferWithAuthorization, the exact function the broker calls. On a chain with native USDC (for example Arbitrum One), you settle in real USDC with noTestUSDC. The order’spayTokenis the real USDC address. - The SDK.
@caplane-network/sdkresolves addresses from a registry. Point it at your deployment’s registry (or bake your own chain config) andconnect()works against mainnet the same way.
What is testnet-only
TestUSDCand the faucet. On testnet,TestUSDCexposes a permissionlessmintand the faucet automates it so a tester can get paid-in tokens. On mainnet there is no faucet: a consumer holds real USDC. The faucet service exists only to remove that friction on a testnet.- The permissionless mint. A mintable token is a test convenience. Production settles real value in real USDC.
The checklist
- Deploy the contracts to the target chain:
CapabilityBrokerand the adapters you want (AllocationAdapter,GasSponsorshipAdapter,TimeboostAdapter, …). The deploy scripts incontracts/scriptare the template. Before mainnet with real funds, a full external audit is the prudent step; the demo ships an internal adversarial audit (see security). - Use the chain’s real USDC as
payToken(Circle’s native USDC, which supports EIP-3009). Do not deployTestUSDCon mainnet. - Write the registry. Put the mainnet addresses in a
deployments/<chain>.json; the SDK and the services read addresses from there, never hard-coded. Add the chain to the SDK’s baked config (or pass a customdeploymentsDir) and cut a new SDK version. - Run a relayer with a gas key funded in the chain’s native token. It earns
feeBps; size yourfeeFloorBpsto cover mainnet gas. The hosted edge (rate limit, concurrency cap, gas circuit-breaker) is the same one command withRELAYER_HARDENED=1. See run a relayer. - Providers deploy and price their adapters in real USDC, gate
grantto the broker, and optionally register for discovery. See sell a capability.
You run it; no one gatekeeps
Caplane is facilitator-free by construction. There is no Caplane-operated coordinator a production deployment depends on: you (or any provider, or any relayer operator) deploy the contracts, run the services, and settle. Anyone can fork the repository and stand up their own broker, adapters, and relayer on any chain. The primitive is the product; the hosted testnet services are one instance of it. The two declared limits hold on mainnet as on testnet: the gas-sponsorship underlying is commoditized, and the Timeboost resale market has largely collapsed. The value is the atomic, facilitator-free settlement of any scarce on-chain capability, which is chain-independent.See also
- The binding and security: why it is safe on any chain.
- Deployments: the testnet registry the production one mirrors.
- Run a relayer and sell a capability: the operator and provider paths.

