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.

EndpointDescriptionPrice
GET /chainsList all supported chains and tokensFree
GET /search-chainLook up a chain by name$0.001
GET /search-stableFind all stablecoins for a fiat currency$0.001
POST /orchestrateBest path, on/off-ramp, and ready-to-sign tx data$0.01
POST /quoteRaw Relay quote for a specific token pair$0.01

#GET /chains

GET/chainsList all supported chains and tokensFree

Returns 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.

Request
curl https://orchestration.denaro.tech/chains
# or with OWS
ows pay request https://orchestration.denaro.tech/chains
Response
[
  {
    "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

GET/search-chain?name=baseLook up a chain by name$0.001

Look up a specific chain by name. Returns chain ID, RPC URL, token list, and bridge contracts.

ParameterTypeDescription
namestringChain name, e.g. base, optimism, ethereum
Request
ows pay request "https://orchestration.denaro.tech/search-chain?name=base"
ows pay request "https://orchestration.denaro.tech/search-chain?name=optimism"
Response
{
  "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

GET/search-stable?fiat=USDFind all stablecoins for a fiat currency$0.001

Find all stablecoins pegged to a fiat currency, with contract addresses and decimals per chain. Use this before /orchestrate to confirm available tokens.

ParameterTypeDescription
fiatstringFiat currency ticker, e.g. USD, EUR, GBP
Request
ows pay request "https://orchestration.denaro.tech/search-stable?fiat=USD"
ows pay request "https://orchestration.denaro.tech/search-stable?fiat=EUR"
Response
[
  {
    "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

POST/orchestrateBest path, on/off-ramp, and ready-to-sign tx data$0.01

The 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.

FieldTypeDescription
fiatInstringSource fiat ticker, e.g. "USD"
fiatOutstringDestination fiat ticker, e.g. "EUR"
amountstringAmount in fiat cents as string "10000" = $100.00
userstringEVM wallet address that will sign the swap tx
Request
ows pay request --method POST \
  --body '{"fiatIn":"USD","fiatOut":"EUR","amount":"10000","user":"0xYOUR_WALLET"}' \
  https://orchestration.denaro.tech/orchestrate
Response
{
  "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

POST/quoteRaw Relay quote for a specific token pair$0.01

Raw 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 ↗.

FieldTypeDescription
userstringWallet address
originChainIdnumberSource chain ID
destinationChainIdnumberDestination chain ID
originCurrencystringToken address (0x000...000 for native)
destinationCurrencystringToken address
amountstringAmount in token base units (wei)
tradeTypestring"EXACT_INPUT" or "EXACT_OUTPUT"
Request
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
Response
{
  "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"
  }
}