AgnicPay

Trading API

API reference for token trading endpoints

Trading API

Endpoints for swapping tokens on Base via 0x Protocol DEX aggregation.


Execute Trade

POST /api/trade

Swap tokens on Base mainnet. Requires authenticateSignPayment middleware (API token or OAuth2).

Request Body

ParameterTypeRequiredDefaultDescription
sellTokenstringYesToken to sell (symbol like "USDC" or contract address)
buyTokenstringYesToken to buy (symbol or address)
sellAmountnumberYesAmount to sell in human-readable units (e.g., 10 for 10 USDC)
slippagePercentagenumberNo1.0Maximum slippage percentage
networkstringNo"base"Network (only "base" supported)

Example Request

curl -X POST https://api.agnic.ai/api/trade \
  -H "X-Agnic-Token: agnic_tok_YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "sellToken": "USDC",
    "buyToken": "ETH",
    "sellAmount": 10,
    "slippagePercentage": 0.5
  }'

Success Response (200)

{
  "success": true,
  "transactionHash": "0xabc123def456...",
  "sellToken": "USDC",
  "sellAmount": 10,
  "buyToken": "ETH",
  "buyAmount": "0.00396",
  "price": "2525.25",
  "slippage": "1%",
  "network": "base",
  "explorerUrl": "https://basescan.org/tx/0xabc123def456..."
}

Error Responses

StatusErrorDescription
400invalid_requestMissing or invalid parameters
400unsupported_tokenToken not recognized
400unsupported_networkOnly "base" is supported
402spending_limit_exceededTrade exceeds spending limits
402insufficient_balanceNot enough sell token balance
500trade_failedSwap execution failed on-chain

Get Trade Quote

GET /api/trade/quote

Preview a trade without executing it. Read-only endpoint.

Query Parameters

ParameterTypeRequiredDescription
sellTokenstringYesToken to sell (symbol or address)
buyTokenstringYesToken to buy (symbol or address)
sellAmountnumberYesAmount to sell

Example Request

curl "https://api.agnic.ai/api/trade/quote?sellToken=USDC&buyToken=ETH&sellAmount=10" \
  -H "X-Agnic-Token: agnic_tok_YOUR_TOKEN"

Success Response (200)

{
  "sellToken": "USDC",
  "buyToken": "ETH",
  "sellAmount": 10,
  "buyAmount": "0.00396",
  "price": "2525.25",
  "slippage": "1%",
  "gas": "0.0001",
  "network": "base"
}

List Supported Tokens

GET /api/trade/tokens

Returns all tokens available for trading. No authentication required.

Example Request

curl https://api.agnic.ai/api/trade/tokens

Success Response (200)

{
  "tokens": [
    {
      "symbol": "USDC",
      "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "decimals": 6
    },
    {
      "symbol": "ETH",
      "address": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",
      "decimals": 18
    },
    {
      "symbol": "WETH",
      "address": "0x4200000000000000000000000000000000000006",
      "decimals": 18
    }
  ],
  "network": "base"
}

Rate Limits

EndpointLimit
POST /api/trade30 req/min (shared with send)
GET /api/trade/quote1000 req/min
GET /api/trade/tokens1000 req/min

Supported Token Symbols

SymbolNameContract
USDCUSD Coin0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
ETHEtherNative (0xEeee...eEEeE)
WETHWrapped Ether0x4200000000000000000000000000000000000006
cbETHCoinbase Wrapped Staked ETH0x2Ae3F1Ec7F1F5012CFEab0185bfc7aa3cf0DEc22
DAIDai Stablecoin0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb
AEROAerodrome0x940181a94A35A4569E4529A3CDfB74e38FD98631

You can also pass any valid Base mainnet ERC-20 contract address.

On this page