curl -X GET "https://api.stableyard.fi/sdk/v1/supported-chains"
{
"success": true,
"data": {
"chains": [
{
"chainId": 1,
"name": "Ethereum",
"chainType": "evm",
"nativeCurrency": {
"name": "Ether",
"symbol": "ETH",
"decimals": 18
},
"tokens": [
{
"symbol": "USDC",
"address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"decimals": 6
},
{
"symbol": "USDT",
"address": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
"decimals": 6
}
],
"rpcUrl": "https://ethereum.publicnode.com",
"explorerUrl": "https://etherscan.io",
"isActive": true
},
{
"chainId": 8453,
"name": "Base",
"chainType": "evm",
"nativeCurrency": {
"name": "Ether",
"symbol": "ETH",
"decimals": 18
},
"tokens": [
{
"symbol": "USDC",
"address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"decimals": 6
}
],
"rpcUrl": "https://mainnet.base.org",
"explorerUrl": "https://basescan.org",
"isActive": true
},
{
"chainId": 137,
"name": "Polygon",
"chainType": "evm",
"nativeCurrency": {
"name": "MATIC",
"symbol": "MATIC",
"decimals": 18
},
"tokens": [
{
"symbol": "USDC",
"address": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
"decimals": 6
}
],
"rpcUrl": "https://polygon-rpc.com",
"explorerUrl": "https://polygonscan.com",
"isActive": true
},
{
"chainId": 42161,
"name": "Arbitrum",
"chainType": "evm",
"nativeCurrency": {
"name": "Ether",
"symbol": "ETH",
"decimals": 18
},
"tokens": [
{
"symbol": "USDC",
"address": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
"decimals": 6
}
],
"rpcUrl": "https://arb1.arbitrum.io/rpc",
"explorerUrl": "https://arbiscan.io",
"isActive": true
},
{
"chainId": 10,
"name": "Optimism",
"chainType": "evm",
"nativeCurrency": {
"name": "Ether",
"symbol": "ETH",
"decimals": 18
},
"tokens": [
{
"symbol": "USDC",
"address": "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85",
"decimals": 6
}
],
"rpcUrl": "https://mainnet.optimism.io",
"explorerUrl": "https://optimistic.etherscan.io",
"isActive": true
}
]
},
"requestId": "req_xyz789"
}
Get list of supported chains and tokens
curl -X GET "https://api.stableyard.fi/sdk/v1/supported-chains"
{
"success": true,
"data": {
"chains": [
{
"chainId": 1,
"name": "Ethereum",
"chainType": "evm",
"nativeCurrency": {
"name": "Ether",
"symbol": "ETH",
"decimals": 18
},
"tokens": [
{
"symbol": "USDC",
"address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"decimals": 6
},
{
"symbol": "USDT",
"address": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
"decimals": 6
}
],
"rpcUrl": "https://ethereum.publicnode.com",
"explorerUrl": "https://etherscan.io",
"isActive": true
},
{
"chainId": 8453,
"name": "Base",
"chainType": "evm",
"nativeCurrency": {
"name": "Ether",
"symbol": "ETH",
"decimals": 18
},
"tokens": [
{
"symbol": "USDC",
"address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"decimals": 6
}
],
"rpcUrl": "https://mainnet.base.org",
"explorerUrl": "https://basescan.org",
"isActive": true
},
{
"chainId": 137,
"name": "Polygon",
"chainType": "evm",
"nativeCurrency": {
"name": "MATIC",
"symbol": "MATIC",
"decimals": 18
},
"tokens": [
{
"symbol": "USDC",
"address": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
"decimals": 6
}
],
"rpcUrl": "https://polygon-rpc.com",
"explorerUrl": "https://polygonscan.com",
"isActive": true
},
{
"chainId": 42161,
"name": "Arbitrum",
"chainType": "evm",
"nativeCurrency": {
"name": "Ether",
"symbol": "ETH",
"decimals": 18
},
"tokens": [
{
"symbol": "USDC",
"address": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
"decimals": 6
}
],
"rpcUrl": "https://arb1.arbitrum.io/rpc",
"explorerUrl": "https://arbiscan.io",
"isActive": true
},
{
"chainId": 10,
"name": "Optimism",
"chainType": "evm",
"nativeCurrency": {
"name": "Ether",
"symbol": "ETH",
"decimals": 18
},
"tokens": [
{
"symbol": "USDC",
"address": "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85",
"decimals": 6
}
],
"rpcUrl": "https://mainnet.optimism.io",
"explorerUrl": "https://optimistic.etherscan.io",
"isActive": true
}
]
},
"requestId": "req_xyz789"
}
Show properties
Show chain object
curl -X GET "https://api.stableyard.fi/sdk/v1/supported-chains"
{
"success": true,
"data": {
"chains": [
{
"chainId": 1,
"name": "Ethereum",
"chainType": "evm",
"nativeCurrency": {
"name": "Ether",
"symbol": "ETH",
"decimals": 18
},
"tokens": [
{
"symbol": "USDC",
"address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"decimals": 6
},
{
"symbol": "USDT",
"address": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
"decimals": 6
}
],
"rpcUrl": "https://ethereum.publicnode.com",
"explorerUrl": "https://etherscan.io",
"isActive": true
},
{
"chainId": 8453,
"name": "Base",
"chainType": "evm",
"nativeCurrency": {
"name": "Ether",
"symbol": "ETH",
"decimals": 18
},
"tokens": [
{
"symbol": "USDC",
"address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"decimals": 6
}
],
"rpcUrl": "https://mainnet.base.org",
"explorerUrl": "https://basescan.org",
"isActive": true
},
{
"chainId": 137,
"name": "Polygon",
"chainType": "evm",
"nativeCurrency": {
"name": "MATIC",
"symbol": "MATIC",
"decimals": 18
},
"tokens": [
{
"symbol": "USDC",
"address": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
"decimals": 6
}
],
"rpcUrl": "https://polygon-rpc.com",
"explorerUrl": "https://polygonscan.com",
"isActive": true
},
{
"chainId": 42161,
"name": "Arbitrum",
"chainType": "evm",
"nativeCurrency": {
"name": "Ether",
"symbol": "ETH",
"decimals": 18
},
"tokens": [
{
"symbol": "USDC",
"address": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
"decimals": 6
}
],
"rpcUrl": "https://arb1.arbitrum.io/rpc",
"explorerUrl": "https://arbiscan.io",
"isActive": true
},
{
"chainId": 10,
"name": "Optimism",
"chainType": "evm",
"nativeCurrency": {
"name": "Ether",
"symbol": "ETH",
"decimals": 18
},
"tokens": [
{
"symbol": "USDC",
"address": "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85",
"decimals": 6
}
],
"rpcUrl": "https://mainnet.optimism.io",
"explorerUrl": "https://optimistic.etherscan.io",
"isActive": true
}
]
},
"requestId": "req_xyz789"
}
// Validate chain before deposit
async function validateChain(chainId: number): Promise<boolean> {
const response = await fetch('https://api.stableyard.fi/sdk/v1/supported-chains');
const { data } = await response.json();
const chain = data.chains.find(c => c.chainId === chainId);
return chain?.isActive ?? false;
}
// Get USDC address for a chain
async function getUsdcAddress(chainId: number): Promise<string | null> {
const response = await fetch('https://api.stableyard.fi/sdk/v1/supported-chains');
const { data } = await response.json();
const chain = data.chains.find(c => c.chainId === chainId);
const usdc = chain?.tokens.find(t => t.symbol === 'USDC');
return usdc?.address ?? null;
}