Multi-Chain Support
Overview
Stove Protocol supports multi-chain trading. A single service instance can simultaneously handle orders and assets across multiple blockchain networks.
Query Supported Chains
Endpoint Information
Endpoint: GET /api/v1/chains
Description: Get a list of all blockchain networks supported by the system
Authentication: No authentication required (public endpoint)
Response Parameters
| Field | Type | Description |
|---|---|---|
| chains | array | List of supported chains |
| chains[].chain_id | int | Chain ID |
| chains[].chain_name | string | Chain name |
| chains[].rpc_url | string | RPC endpoint URL |
| chains[].explorer_url | string | Block explorer URL |
| chains[].settlement_address | string | RFQSettlement contract address |
| chains[].manager_address | string | StockTokenManager contract address |
| chains[].payer_address | string | Payer address |
| chains[].operator_address | string | Operator address |
| chains[].assets | object | Asset contract address map, key is asset symbol, value is contract address |
| chains[].default_asset | string | Default asset symbol |
| chains[].stove_router_address | string | Optional StoveRouter contract address for aggregator/DEX integrations |
| default_chain_id | int | Default chain ID |
Request Example
bash
curl -X GET "/api/v1/chains"Response Example
json
{
"code": 0,
"data": {
"chains": [
{
"chain_id": 42161,
"chain_name": "Arbitrum One Mainnet",
"rpc_url": "https://arb1.arbitrum.io/rpc",
"explorer_url": "https://arbiscan.io",
"settlement_address": "0xf7A180246c68898266e6899FA8413201A4801597",
"manager_address": "0xbc107998CaC3E3a1f8E29A9ba058499172F16e01",
"payer_address": "0xb73c43c4cf3d4d9f60862b77b615773d7e48aa80",
"operator_address": "0xe1d95e9b05c94db69812746790b77b8407c0f212",
"assets": {
"USDT": "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9"
},
"default_asset": "USDT"
},
{
"chain_id": 177,
"chain_name": "HashKey Chain Mainnet",
"rpc_url": "https://mainnet.hsk.xyz",
"explorer_url": "https://hashkey.blockscout.com",
"settlement_address": "0x945bEf6824B9aBfCdBC848aF4617256F637F4E4C",
"manager_address": "0x73d068869855C1698b389C1c0f58E6f3D934729A",
"payer_address": "0xb73c43c4cf3d4d9f60862b77b615773d7e48aa80",
"operator_address": "0xe1d95e9b05c94db69812746790b77b8407c0f212",
"assets": {
"USDT": "0xF1B50eD67A9e2CC94Ad3c477779E2d4cBfFf9029",
"USDC": "0x054ed45810DbBAb8B27668922D110669c9D88D0a"
},
"default_asset": "USDT"
},
{
"chain_id": 1672,
"chain_name": "Pharos Pacific Mainnet",
"rpc_url": "https://rpc.pharos.xyz",
"explorer_url": "https://www.pharosscan.xyz",
"settlement_address": "0xDf04E6053D550e58f18638B92FDac74c7740ACd3",
"manager_address": "0x833D1E4D08df908A12836506b960Cd43B23aA082",
"payer_address": "0xb73c43c4cf3d4d9f60862b77b615773d7e48aa80",
"operator_address": "0xe1d95e9b05c94db69812746790b77b8407c0f212",
"assets": {
"USDC": "0xc879c018db60520f4355c26ed1a6d572cdac1815"
},
"default_asset": "USDC"
},
{
"chain_id": 56,
"chain_name": "BSC Mainnet",
"rpc_url": "https://bsc-dataseed.binance.org",
"explorer_url": "https://bscscan.com",
"settlement_address": "0x6c34fE4ABdccF79769649646015F8Bf11fa99597",
"manager_address": "0x7792dCa0C9a817b68757c4B07F088b230D5C47D5",
"payer_address": "0xb73c43c4cf3d4d9f60862b77b615773d7e48aa80",
"operator_address": "0xe1d95e9b05c94db69812746790b77b8407c0f212",
"assets": {
"USDC": "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d",
"USDT": "0x55d398326f99059fF775485246999027B3197955"
},
"default_asset": "USDT",
"stove_router_address": "0x1234567890abcdef1234567890abcdef12345678"
}
],
"default_chain_id": 56
}
}Important Notes
Data Isolation
- Orders and assets on different chains are completely isolated
- The same ticker may correspond to different token addresses on different chains
- Each chain maintains independent order pools and nonce sequences
Asset Addresses
- Asset contract addresses may differ on each chain
- Before creating orders, please ensure you are using the correct asset address on the right chain