⚑ Built on Solana · Powered by Jupiter

The DEX built for AI Agents

Programmatic trading with a single API call. Best-price routing through Jupiter. Register your agent, get a wallet, and start trading β€” no frontend required.

bash
# Register your agent β€” get a wallet + API key in one call
curl -X POST https://agentdex.io/api/v1/agents/register \
  -H "Content-Type: application/json" \
  -d '{"name": "my-trading-bot"}'

# β†’ { "apiKey": "adx_abc123...", "wallet": { "publicKey": "7xK..." } }

# Swap 1 SOL β†’ USDC
curl -X POST https://agentdex.io/api/v1/swap \
  -H "Authorization: Bearer adx_abc123..." \
  -H "Content-Type: application/json" \
  -d '{
    "inputMint": "So11111111111111111111111111111111111111112",
    "outputMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "amount": "1000000000",
    "slippageBps": 50
  }'

# β†’ { "txSignature": "5xR...", "outputAmount": "176230000" }

Why AgentDEX?

Traditional DEXs are built for humans clicking buttons. AgentDEX is built for code.

⚑

One API Call to Swap

No wallet connection flow. No UI. Register, fund, swap. Three steps to autonomous trading.

πŸ”€

Jupiter-Powered Routing

Best-price execution across every Solana DEX. Same routing as Jupiter β€” zero compromise on price.

πŸ€–

Agent-Native Design

Register agents programmatically. Each gets a Solana keypair and API key. Built for automation.

πŸ“Š

Portfolio Tracking

Real-time token balances, USD values, and full trade history β€” all through the API.

⏰

Limit Orders

Set target prices and walk away. AgentDEX monitors and executes when conditions are met.

πŸ›‘οΈ

Production Ready

Rate limiting, input validation, clean errors. Built like infrastructure, not a hackathon demo.

Quickstart

Three steps. Under a minute.

1

Register your agent

typescript
const res = await fetch('https://agentdex.io/api/v1/agents/register', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ name: 'my-trading-agent' })
});
const { data } = await res.json();
// data.apiKey  β†’ "adx_8f3a..." (save this!)
// data.wallet.publicKey β†’ "7xKp..." (fund this wallet)
2

Get a quote

typescript
const SOL = 'So11111111111111111111111111111111111111112';
const USDC = 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v';

const quote = await fetch(
  `https://agentdex.io/api/v1/quote?inputMint=${SOL}&outputMint=${USDC}&amount=1000000000`
).then(r => r.json());

console.log(quote.data.outputAmount); // USDC amount (in smallest units)
console.log(quote.data.priceImpact); // "0.01%"
3

Execute the swap

typescript
const swap = await fetch('https://agentdex.io/api/v1/swap', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': 'Bearer adx_8f3a...'
  },
  body: JSON.stringify({
    inputMint: SOL,
    outputMint: USDC,
    amount: '1000000000', // 1 SOL in lamports
    slippageBps: 50        // 0.5% slippage
  })
}).then(r => r.json());

console.log(swap.data.txSignature);  // On-chain tx hash
console.log(swap.data.explorerUrl);  // Solscan link

Works with any language

python
import requests

API = "https://agentdex.io/api/v1"
KEY = "adx_8f3a..."

# Check portfolio
portfolio = requests.get(f"{API}/portfolio/{wallet}", 
    headers={"Authorization": f"Bearer {KEY}"}
).json()

# Place a limit order β€” buy BONK when price drops to $0.00001
requests.post(f"{API}/limit-order", json={
    "inputMint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "outputMint": "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263",
    "amount": "10000000",  # 10 USDC
    "targetPrice": 0.00001,
    "side": "buy"
}, headers={"Authorization": f"Bearer {KEY}"})

API Reference

Base URL: https://agentdex.io/api/v1

MethodEndpointDescriptionAuth
GET/api/v1/quoteGet a swap quotenone
POST/api/v1/swapExecute a swapoptional
GET/api/v1/prices/:mintGet token pricenone
GET/api/v1/pricesGet multiple token pricesnone
GET/api/v1/portfolio/:walletGet wallet balancesnone
GET/api/v1/portfolio/:wallet/historyGet trade historynone
POST/api/v1/limit-orderPlace a limit orderrequired
GET/api/v1/limit-orderList active limit ordersrequired
DELETE/api/v1/limit-order/:idCancel a limit orderrequired
POST/api/v1/agents/registerRegister an agentnone
GET/api/v1/agents/meGet agent inforequired
GET/api/v1/healthHealth checknone
GET/api/v1/tokens/trendingGet trending tokensnone

Authentication

http
Authorization: Bearer adx_your_api_key_here

# Get your API key by registering:
POST /api/v1/agents/register
Content-Type: application/json

{ "name": "my-agent" }

# Response:
{
  "success": true,
  "data": {
    "apiKey": "adx_8f3a1b2c3d4e5f...",
    "wallet": { "publicKey": "7xKp..." }
  }
}

Architecture


β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”       β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   AI Agent      │──────▢│   AgentDEX API   β”‚
β”‚   (Your Code)   │◀──────│   Express + TS   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜       β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                   β”‚
                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β–Ό              β–Ό              β–Ό
            β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
            β”‚ Jupiter  β”‚  β”‚  Helius  β”‚  β”‚  SQLite  β”‚
            β”‚ V6 API   β”‚  β”‚   RPC    β”‚  β”‚   (DB)   β”‚
            β”‚ (Quotes  β”‚  β”‚ (Chain   β”‚  β”‚ (Orders, β”‚
            β”‚ + Swaps) β”‚  β”‚  Data)   β”‚  β”‚ Agents)  β”‚
            β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                    β”‚              β”‚
                    β–Ό              β–Ό
            β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
            β”‚      Solana Blockchain      β”‚
            β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜