List Providers
SDK methodCALLmoney.providers
- Registry is grouped by provider type (swap, bridge, price).
- Auto-routing uses chain and network compatibility from this registry.
# SDK method (no HTTP endpoint)
# Use JavaScript snippet instead.
Example success response
{
"swap": [
{
"name": "jupiter",
"chains": [
"solana"
]
}
],
"bridge": [
{
"name": "debridge",
"chains": [
"ethereum",
"base",
"solana"
],
"networks": [
"mainnet"
]
}
],
"price": [
{
"name": "dexscreener",
"chains": [
"ethereum",
"base",
"solana"
]
}
]
}Example failure responses
Failure
{
"code": "INTERNAL_ERROR",
"message": "Failed to read provider registry."
}Recovery: Check server logs and provider registration order in sdk/src/index.ts.
Set API Key
SDK methodCALLmoney.setApiKey
- API key is stored in ~/.money/config.json under apiKeys[provider].
# SDK method (no HTTP endpoint)
# Use JavaScript snippet instead.
Example success response
{
"provider": "jupiter",
"saved": true,
"maskedApiKey": "yo****ey",
"savedAt": "2026-03-05T14:35:35.157Z"
}Example failure responses
Failure
{
"code": "INVALID_PARAMS",
"message": "Missing required param: apiKey"
}Recovery: Pass a non-empty apiKey string.
Failure
{
"code": "INVALID_PARAMS",
"message": "Missing required param: provider"
}Recovery: Use a registered provider name like "jupiter".
- Selected provider is returned even if execution fails.
- Quote tests are provider + wallet setup sensitive.
# SDK method (no HTTP endpoint)
# Use JavaScript snippet instead.
Example success response
{
"operation": "quote",
"request": {
"operation": "quote",
"chain": "solana",
"from": "SOL",
"to": "USDC",
"amount": "1",
"network": "mainnet",
"slippageBps": 50,
"provider": "jupiter"
},
"selectedProvider": {
"name": "jupiter",
"chains": [
"solana"
]
},
"result": {
"fromToken": "SOL",
"toToken": "USDC",
"fromAmount": "1",
"toAmount": "2450.12",
"rate": "1 SOL = 2450.12 USDC",
"priceImpact": "0.31",
"provider": "jupiter",
"chain": "solana",
"network": "mainnet",
"note": ""
},
"execution": {
"ok": true,
"at": "2026-03-05T14:35:35.156Z"
}
}Example failure responses
Failure
{
"code": "CHAIN_NOT_CONFIGURED",
"message": "Chain \"solana\" is not configured for mainnet."
}Recovery: Run setup first: await money.setup({ chain: "solana", network: "mainnet" })
Failure
{
"code": "UNSUPPORTED_OPERATION",
"message": "Swap/quote requires mainnet. Testnet DEXes have no liquidity."
}Recovery: Use network: "mainnet" for quote tests.