Docs

Deployed Addresses

All contracts are live on Starknet Sepolia testnet. Click any address to view it on Voyager.


IntentRegistry

Your wallet talks to this contract when you place an order. It stores the on-chain commitment hash.

0x054335db86ec8759549495c69f6ce296dcb1648ea81f1add4165096968a16d39
BatchAuction

Runs the solver auction. Receives solutions, scores them, declares a winner per batch.

0x06302e0e4dd9953543cee26b3b0b8b15c324e927257251833c3bf0df36a9e1ae
BatchSettlement

Executes the winning solution. Transfers tokens atomically, verifies fills against commitments.

0x06f7e4ea6102a0a3e9353041e59f3926da4fa7e24d89deff9a4173ad69b77c4e
SolverBond

Manages solver collateral. Solvers deposit here; bad behaviour is slashed from this balance.

0x0099f26132e0918510882b574ee44ffc887053509863a02302f7dc85608790af
AssetRegistry

Whitelist of tradeable tokens. A token must be registered here before it can appear in any order.

0x0676083bbbb6af43f48458e7fdab60d13a97f305b355f46da42f390dbd5eed55
GatewayRegistry

Registry of authorised gateway operators. A gateway must be registered here before it can relay intents.

0x0487950624e26cd4892dcb2fbafe7991c2445c0837ed34142bf742c9d4df2c71

Network

NetworkStarknet Sepolia testnet
Chain ID0x534e5f5345504f4c4941
RPChttps://starknet-sepolia.drpc.org
Block explorersepolia.voyager.online

Contract interactions

The contracts are wired together. Here's who calls what:

CallerContractWhen
User walletIntentRegistryWhen placing an order
CoordinatorIntentRegistryTo open and close batch windows
SolverBatchAuctionTo submit a solution
BatchAuctionBatchSettlementWhen declaring an auction winner
BatchSettlementSolverBondTo slash a solver that fails to settle
SolverSolverBondTo deposit or withdraw their bond

Supported tokens

Every token used in an intent must be whitelisted in the AssetRegistry contract. IntentRegistry.commit_intent calls AssetRegistry.is_whitelisted for both asset_in and asset_out before accepting the intent — an unlisted token is rejected on-chain.

TokenSymbolAddress (Sepolia)DecimalsStatus
USD CoinUSDC0x053b40a647cedfca6ca84f542a0fe36736031905a9639a7f19a3c1e66bfd50806Pending whitelist
Wrapped BTCWBTCBridge from Ethereum Sepolia via Starkgate8Pending whitelist

To whitelist a token, the admin account calls whitelist_asset on the AssetRegistry. Once whitelisted, solvers can fill intents for that pair and settlement will execute the token transfer.


Source code

All contracts are written in Cairo and live in the contracts/src/ directory of the monorepo. They're open source under the MIT licence.