API Reference
Five endpoints at https://orchestration.denaro.tech. Paid endpoints use x402 on Base Sepolia (eip155:84532). No API keys needed your wallet is your credential.
| Endpoint | Description | Price |
|---|---|---|
GET /chains | List all supported chains and tokens | Free |
GET /search-chain | Look up a chain by name | $0.001 |
GET /search-stable | Find all stablecoins for a fiat currency | $0.001 |
POST /orchestrate | Best path, on/off-ramp, and ready-to-sign tx data | $0.01 |
POST /quote | Raw Relay quote for a specific token pair | $0.01 |
#GET /chains
/chainsList all supported chains and tokensFreeReturns the full list of chains supported by Denaro, with metadata including chain ID, RPC URL, and available tokens per chain. This endpoint is free and does not require a wallet payment.
curl https://orchestration.denaro.tech/chains
# or with OWS
ows pay request https://orchestration.denaro.tech/chains[
{
"id": "base",
"chainId": 8453,
"name": "Base",
"rpcUrl": "https://mainnet.base.org",
"tokens": [
{ "symbol": "USDC", "address": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913", "decimals": 6 },
{ "symbol": "EURC", "address": "0x60a3e35cc302bfa44cb288bc5a4f316fdb1adb42", "decimals": 6 }
]
},
{
"id": "optimism",
"chainId": 10,
"name": "Optimism",
"rpcUrl": "https://mainnet.optimism.io",
"tokens": [
{ "symbol": "USDC", "address": "0x0b2c639c533813f4aa9d7837caf62653d097ff85", "decimals": 6 }
]
}
]#GET /search-chain
/search-chain?name=baseLook up a chain by name$0.001Look up a specific chain by name. Returns chain ID, RPC URL, token list, and bridge contracts.
| Parameter | Type | Description |
|---|---|---|
name | string | Chain name, e.g. base, optimism, ethereum |
ows pay request "https://orchestration.denaro.tech/search-chain?name=base"
ows pay request "https://orchestration.denaro.tech/search-chain?name=optimism"{
"id": "base",
"chainId": 8453,
"name": "Base",
"rpcUrl": "https://mainnet.base.org",
"tokens": [
{ "symbol": "USDC", "address": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913", "decimals": 6 },
{ "symbol": "EURC", "address": "0x60a3e35cc302bfa44cb288bc5a4f316fdb1adb42", "decimals": 6 }
],
"bridges": ["relay", "across"]
}#GET /search-stable
/search-stable?fiat=USDFind all stablecoins for a fiat currency$0.001Find all stablecoins pegged to a fiat currency, with contract addresses and decimals per chain. Use this before /orchestrate to confirm available tokens.
| Parameter | Type | Description |
|---|---|---|
fiat | string | Fiat currency ticker, e.g. USD, EUR, GBP |
ows pay request "https://orchestration.denaro.tech/search-stable?fiat=USD"
ows pay request "https://orchestration.denaro.tech/search-stable?fiat=EUR"[
{
"symbol": "USDC",
"name": "USD Coin",
"chains": {
"base": { "address": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913", "decimals": 6 },
"ethereum": { "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", "decimals": 6 },
"optimism": { "address": "0x0b2c639c533813f4aa9d7837caf62653d097ff85", "decimals": 6 }
}
},
{
"symbol": "USDT",
"name": "Tether",
"chains": {
"ethereum": { "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", "decimals": 6 }
}
}
]#POST /orchestrate
/orchestrateBest path, on/off-ramp, and ready-to-sign tx data$0.01The core endpoint. Given a fiat-in, fiat-out, and amount, Denaro finds all available stablecoins, fetches Relay quotes for every token combination in parallel, picks the path with the highest output, and returns the best on-ramp, off-ramp, and ready-to-execute transaction data.
| Field | Type | Description |
|---|---|---|
fiatIn | string | Source fiat ticker, e.g. "USD" |
fiatOut | string | Destination fiat ticker, e.g. "EUR" |
amount | string | Amount in fiat cents as string "10000" = $100.00 |
user | string | EVM wallet address that will sign the swap tx |
ows pay request --method POST \
--body '{"fiatIn":"USD","fiatOut":"EUR","amount":"10000","user":"0xYOUR_WALLET"}' \
https://orchestration.denaro.tech/orchestrate{
"recommendedPath": {
"originToken": {
"ticker": "USDC",
"chainId": 8453,
"address": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"decimals": 6
},
"destinationToken": {
"ticker": "EURC",
"chainId": 8453,
"address": "0x60a3e35cc302bfa44cb288bc5a4f316fdb1adb42",
"decimals": 6
},
"estimatedOutputUsd": "93.21"
},
"onRamp": {
"providerName": "Kraken",
"url": "https://kraken.com",
"feePctMin": "0.10",
"feePctMax": "0.40"
},
"offRamp": {
"providerName": "Monerium",
"url": "https://monerium.com",
"feeFixedMin": "0.00",
"feeFixedMax": "5.00",
"feeFixedCurrency": "EUR"
},
"transaction": {
"steps": [
{
"action": "swap",
"tx": {
"to": "0x...",
"data": "0x...",
"value": "0",
"chainId": 8453
}
}
]
}
}#POST /quote
/quoteRaw Relay quote for a specific token pair$0.01Raw Relay quote for a specific token pair. Use /orchestrateif you don't already know the exact tokens it finds the best pair for you. This endpoint follows the Relay /quote/v2 spec ↗.
| Field | Type | Description |
|---|---|---|
user | string | Wallet address |
originChainId | number | Source chain ID |
destinationChainId | number | Destination chain ID |
originCurrency | string | Token address (0x000...000 for native) |
destinationCurrency | string | Token address |
amount | string | Amount in token base units (wei) |
tradeType | string | "EXACT_INPUT" or "EXACT_OUTPUT" |
ows pay request --method POST \
--body '{
"user": "0xYOUR_WALLET",
"originChainId": 8453,
"destinationChainId": 10,
"originCurrency": "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"destinationCurrency": "0x0b2c639c533813f4aa9d7837caf62653d097ff85",
"amount": "10000000",
"tradeType": "EXACT_INPUT"
}' \
https://orchestration.denaro.tech/quote{
"steps": [
{
"action": "bridge",
"description": "Bridge USDC from Base to Optimism",
"tx": {
"to": "0x...",
"data": "0x...",
"value": "0",
"chainId": 8453,
"gas": "150000"
},
"estimate": {
"amountIn": "10000000",
"amountOut": "9985000",
"gasFee": { "amount": "1200", "currency": "USDC" },
"bridgeFee": { "amount": "15000", "currency": "USDC" }
}
}
],
"details": {
"currencyIn": { "currency": "USDC", "chainId": 8453, "amount": "10000000" },
"currencyOut": { "currency": "USDC", "chainId": 10, "amount": "9985000" },
"totalFeesUsd": "0.016"
}
}