Networks, Deployments, and ABIs
Multiswap exposes one Dispatcher address per deployment. Pool-aware functions are called on the Dispatcher and include the pool address as their first argument.
Browse all currently available pools. The pool directory groups deployments by network and is the canonical public entry point.
Current testnet deployments
Monad Testnet
Monad Testnet is one current deployment available for integration testing.
| Field | Value |
|---|---|
| Chain ID | 10143 |
| Native asset | MON |
| Dispatcher | 0x1c6106495a7e8917931F6a17622d03a339ff0bEc |
| Network pools | app.caval.re/monad-testnet/pools |
| Explorer | testnet.monadexplorer.com |
Deployment facts can change during testnet iteration. The app's generated deployment manifest and the onchain Dispatcher tree are authoritative.
Contract model
The Dispatcher is an immutable selector router. Installed modules provide pool reads, quotes, settlement, intents, deposit phases, staking, and administrative functions without requiring integrators to call module addresses directly.
client → Dispatcher → installed module
↳ pool-specific state
Minimum integration ABI
An exchange integration normally needs these functions:
function subAccounts(address absolute) view returns (address[]);
function poolSummary(address pool) view returns (PoolSummary);
function reserveAssetInfos(address pool, uint256 start, uint256 limit)
view returns (ReserveAssetInfo[]);
function quoteMultiswapForSettlement(
address pool,
QuoteAmount[] payAssets,
QuoteAllocation[] receiveAssets
) view returns (
QuoteItem[] payQuotes,
QuoteItem[] receiveQuotes,
QuoteItem[] feeQuotes,
int256[] receiveAllocations,
int256 priceOfUSD
);
function multiswap(
address pool,
Amount[] payAssets,
Allocation[] receiveAssets
) payable;
For signed execution, also include:
function nonces(address payer) view returns (uint256);
function domainSeparator() view returns (bytes32);
function multiswapWithSignature(MultiswapIntentData intent, bytes signature) payable;
The int256 values in read and quote structs are packed Multiswap Float values. Settlement amounts and minimums are ordinary token base units.
The ABI fragments used by the reference app live beside its quote, pool, Multiswap, and intent clients. Integrators should pin those fragments to a reviewed contract commit rather than infer an ABI from the current module list at runtime.