VERSION 1.0.0 • REAL BLOCKCHAIN EXECUTION

Complete API Documentation

Execute real blockchain transactions through the Elsa pipeline system. Pay-per-use with X402 micropayments on Base network.

HTTP REST APIPIPELINE SYSTEMX402 PAYMENTS

Quick Start

1. SETUP X402 CLIENT

import { withPaymentInterceptor } from 'x402-axios';
import axios from 'axios';
import { createWalletClient, http } from 'viem';
import { base } from 'viem/chains';

// Create wallet client
const walletClient = createWalletClient({
  account: privateKeyToAccount(PRIVATE_KEY),
  chain: base,
  transport: http('https://mainnet.base.org')
});

// Apply X402 payment interceptor
const client = withPaymentInterceptor(
  axios.create({ baseURL: 'https://x402-api.heyelsa.ai' }),
  walletClient
);

2. MAKE API CALLS

// Get portfolio (costs $0.01)
const portfolio = await client.post('/api/get_portfolio', {
  wallet_address: '0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb7'
});

// Execute swap (costs $0.02)
const swap = await client.post('/api/execute_swap', {
  from_chain: 'base',
  from_token: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913', // USDC
  from_amount: '100',
  to_chain: 'base',
  to_token: '0x4200000000000000000000000000000000000006',   // WETH
  wallet_address: '0x...',
  slippage: 2.0,
  dry_run: false  // Real execution
});

💡 PAYMENT TOKEN SELECTION

Pay with USDC (default):
https://x402-api.heyelsa.ai/api/endpoint_name
Pay with ELSA token:
https://x402-api.heyelsa.ai/api/elsa/endpoint_name
Pay with HYPERTHON (Base mainnet, 1:1 USDC):HACKATHON ONLY — TODAY
https://x402-api.heyelsa.ai/api/hyperthon/endpoint_name

HYPERTHON is available for today only during the hackathon. Contact the Hyperthon organizers to obtain HYPERTHON tokens.

All three paths support the same endpoints with identical functionality. The only difference is the payment token used for X402 micropayments on Base network.

Pipeline Transaction System

All execute endpoints use the Elsa pipeline for transaction orchestration. The pipeline handles approvals, swaps, and monitoring.

PIPELINE FLOW

  1. Call execute endpoint → receive pipeline_id
  2. Monitor status with /api/get_transaction_status
  3. When status is "sign_pending", sign the tx_data
  4. Submit signed transaction to blockchain
  5. Submit transaction hash to pipeline via /api/submit_transaction_hash
  6. Continue monitoring until "success" status

REAL SWAP EXAMPLE

// 1. Execute swap
const result = await client.post('/api/execute_swap', {
  from_chain: 'base',
  from_token: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913', // USDC
  from_amount: '100',
  to_chain: 'base',
  to_token: '0x4200000000000000000000000000000000000006',   // WETH
  wallet_address: '0x...',
  slippage: 2.0,
  dry_run: false  // Real execution
});

// 2. Monitor pipeline
const status = await client.post('/api/get_transaction_status', {
  pipeline_id: result.data.result.pipeline_id
});

// 3. Sign when ready
if (status.data.status[0].status === 'sign_pending') {
  const hash = await walletClient.sendTransaction(status.data.status[0].tx_data);

  // 4. Submit transaction hash back to pipeline
  await client.post('/api/submit_transaction_hash', {
    task_id: status.data.status[0].task_id,
    tx_hash: hash,
    status: 'submitted'
  });
}

API Endpoints

BASE URL

Pay with USDC:
https://x402-api.heyelsa.ai/api/
Pay with ELSA token:
https://x402-api.heyelsa.ai/api/elsa/
Pay with HYPERTHON (Base mainnet only):HACKATHON — TODAY ONLY
https://x402-api.heyelsa.ai/api/hyperthon/

Available for today only during the hackathon. Contact the Hyperthon organizers to get HYPERTHON tokens.

All endpoints listed below work with all three base URLs. Simply change the path prefix to switch payment tokens.

Portfolio & Analytics

POST /api/search_token

Search for tokens across all blockchains

or /api/elsa/search_token

$0.001

REQUEST

{
  "symbol_or_address": "USDC",
  "limit": 5
}

RESPONSE

{
  "success": true,
  "result": {
    "results": [
      {
        "symbol": "USDC",
        "name": "USD Coin",
        "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "chain": "base",
        "priceUSD": "1.000"
      }
    ]
  }
}

POST /api/get_token_price

Get real-time token price

$0.002

REQUEST

{
  "token_address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
  "chain": "base"
}

POST /api/get_balances

Get wallet token balances

$0.005

REQUEST

{
  "wallet_address": "0x0D224DB2830A32bc75212A0ec6f0008C2B3ae5b5"
}

RESPONSE

{
  "balances": [
    {
      "asset": "USDC",
      "balance": "1250.50",
      "balance_usd": "1250.50",
      "chain": "base"
    }
  ]
}

POST /api/get_portfolio

Comprehensive portfolio analysis

$0.01

DESCRIPTION

Get a comprehensive view of wallet holdings including balances, DeFi positions, staking positions, and perpetual trading positions across Avantis and Hyperliquid.

REQUEST

{
  "wallet_address": "0x0D224DB2830A32bc75212A0ec6f0008C2B3ae5b5"
}

RESPONSE

{
  "wallet_address": "0x0D224DB...",
  "total_value_usd": "12345.67",
  "chains": ["ethereum", "base", "arbitrum"],
  "portfolio": {
    "balances": [...],
    "defi_positions": [...],
    "staking_positions": [...],
    "perpetual_positions": {
      "avantis": [...],
      "hyperliquid": [...]
    }
  }
}

POST /api/analyze_wallet

Wallet behavior and risk analysis

$0.02

DESCRIPTION

Analyze wallet activity, behavior patterns, and risk profile including perpetual trading positions across Avantis and Hyperliquid.

REQUEST

{
  "wallet_address": "0x0D224DB2830A32bc75212A0ec6f0008C2B3ae5b5"
}

POST /api/get_pnl_report

Profit and loss analysis

$0.015

REQUEST

{
  "wallet_address": "0x0D224DB2830A32bc75212A0ec6f0008C2B3ae5b5",
  "time_period": "30_days"
}

Trading

POST /api/get_swap_quote

Get optimal swap routing and pricing

$0.01

REQUEST

{
  "from_chain": "base",
  "from_token": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",  // USDC
  "from_amount": "100",
  "to_chain": "base",
  "to_token": "0x4200000000000000000000000000000000000006",      // WETH
  "wallet_address": "0x0D224DB2830A32bc75212A0ec6f0008C2B3ae5b5",
  "slippage": 2.0
}

RESPONSE

{
  "quote": {
    "from_amount": "100",
    "estimatedOutput": "0.0283",
    "price_impact": "0.12",
    "gas_estimate": "0.45",
    "route": ["USDC", "WETH"]
  }
}

POST /api/execute_swap

Execute real blockchain swap

$0.02

REQUEST

{
  "from_chain": "base",
  "from_token": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
  "from_amount": "100",
  "to_chain": "base",
  "to_token": "0x4200000000000000000000000000000000000006",
  "wallet_address": "0x0D224DB2830A32bc75212A0ec6f0008C2B3ae5b5",
  "slippage": 2.0,
  "dry_run": false
}

RESPONSE (Pipeline Created)

{
  "pipeline_id": "pip_123456789",
  "tasks": [
    {
      "type": "approval",
      "status": "sign_pending",
      "tx_data": {
        "to": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "data": "0x095ea7b3...",
        "value": "0x0"
      }
    },
    {
      "type": "swap",
      "status": "pending"
    }
  ]
}

POST /api/create_limit_order

Create limit order via CoW Protocol

$0.05

REQUEST

{
  "from_chain": "ethereum",
  "from_token": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
  "from_amount": "1000",
  "to_token": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
  "limit_price": "0.0003",
  "wallet_address": "0x0D224DB2830A32bc75212A0ec6f0008C2B3ae5b5",
  "valid_for_hours": 24,
  "dry_run": false
}

POST /api/get_limit_orders

View limit orders

$0.002

REQUEST

{
  "wallet_address": "0x0D224DB2830A32bc75212A0ec6f0008C2B3ae5b5"
}

POST /api/cancel_limit_order

Cancel pending limit order

$0.01

REQUEST

{
  "order_id": "0x123...",
  "wallet_address": "0x0D224DB2830A32bc75212A0ec6f0008C2B3ae5b5",
  "dry_run": false
}

Perpetual Trading

POST /api/get_available_perp_pairs

List available perpetual trading pairs

$0.002

DESCRIPTION

Get a list of available perpetual trading pairs across providers. Supports Avantis (Base, Arbitrum) and Hyperliquid.

REQUEST

{
  "provider": "all"
}

PARAMETERS

provider (string, optional) - "avantis", "hyperliquid", or "all" (default: "all")

RESPONSE

{
  "success": true,
  "pairs": {
    "avantis": [
      {
        "pair": "ETH-USD",
        "chain": "base",
        "max_leverage": 50
      }
    ],
    "hyperliquid": [
      {
        "pair": "BTC-USD",
        "max_leverage": 50
      }
    ]
  }
}

POST /api/get_perp_positions

Query perpetual trading positions

$0.005

DESCRIPTION

Get all open perpetual positions for a wallet across Avantis and Hyperliquid providers.

REQUEST

{
  "wallet_address": "0x0D224DB2830A32bc75212A0ec6f0008C2B3ae5b5",
  "provider": "all"
}

PARAMETERS

wallet_address (string, required) - Wallet address to check
provider (string, optional) - "avantis", "hyperliquid", or "all" (default: "all")

RESPONSE

{
  "success": true,
  "positions": {
    "avantis": [
      {
        "pair": "ETH-USD",
        "size": "1.5",
        "side": "long",
        "leverage": 10,
        "entry_price": "2500.00",
        "pnl": "150.00"
      }
    ],
    "hyperliquid": []
  }
}

POST /api/get_perp_details

Get Hyperliquid market details for a specific token

$0.002

DESCRIPTION

Get detailed market information for a specific perpetual contract on Hyperliquid, including funding rates and open interest.

REQUEST

{
  "token": "ETH"
}

PARAMETERS

token (string, required) - Token symbol (e.g., "ETH", "BTC")

RESPONSE

{
  "success": true,
  "details": {
    "token": "ETH",
    "mark_price": "2500.00",
    "funding_rate": "0.0001",
    "open_interest": "1000000",
    "max_leverage": 50
  }
}

POST /api/open_perp_position

Open a new perpetual position

$0.03

DESCRIPTION

Open a new long or short perpetual position on Avantis (Base, Arbitrum) or Hyperliquid. Supports stop loss and take profit parameters. User confirmation required for non-dry-run executions.

REQUEST

{
  "provider": "avantis",
  "chain": "base",
  "pair": "ETH-USD",
  "collateral_token": "USDC",
  "collateral_amount": "1000",
  "leverage": 10,
  "side": "long",
  "wallet_address": "0x0D224DB2830A32bc75212A0ec6f0008C2B3ae5b5",
  "stop_loss": "2400",
  "take_profit": "2600",
  "dry_run": false
}

PARAMETERS

provider (string, required) - "avantis" or "hyperliquid"
chain (string, required for Avantis) - "base" or "arbitrum"
pair (string, required) - Trading pair (e.g., "ETH-USD")
collateral_token (string, required) - Collateral token symbol
collateral_amount (string, required) - Amount of collateral
leverage (number, required) - Leverage multiplier (max 50x for Hyperliquid)
side (string, required) - "long" or "short"
wallet_address (string, required) - Wallet address
stop_loss (string, optional) - Stop loss price
take_profit (string, optional) - Take profit price
dry_run (boolean, optional) - Test mode (default: false)

RESPONSE (Pipeline Created)

{
  "success": true,
  "pipeline_id": "pip_perp_123456",
  "tasks": [
    {
      "task_id": "task_abc123",
      "action_type": "perp_open",
      "status": "sign_pending",
      "tx_data": {
        "to": "0x...",
        "data": "0x...",
        "value": "0x0"
      }
    }
  ]
}

POST /api/close_perp_position

Close a perpetual position

$0.02

DESCRIPTION

Close a perpetual position fully or partially (1-100%). Supports both Avantis and Hyperliquid providers.

REQUEST

{
  "provider": "avantis",
  "chain": "base",
  "pair": "ETH-USD",
  "position_id": "pos_123",
  "close_percentage": 100,
  "wallet_address": "0x0D224DB2830A32bc75212A0ec6f0008C2B3ae5b5",
  "dry_run": false
}

PARAMETERS

provider (string, required) - "avantis" or "hyperliquid"
chain (string, required for Avantis) - "base" or "arbitrum"
pair (string, required) - Trading pair
position_id (string, required) - Position identifier
close_percentage (number, required) - Percentage to close (1-100)
wallet_address (string, required) - Wallet address
dry_run (boolean, optional) - Test mode (default: false)

RESPONSE (Pipeline Created)

{
  "success": true,
  "pipeline_id": "pip_perp_close_123",
  "tasks": [
    {
      "task_id": "task_def456",
      "action_type": "perp_close",
      "status": "sign_pending",
      "tx_data": {...}
    }
  ]
}

POST /api/modify_perp_position

Modify position leverage or collateral (Avantis only)

$0.02

DESCRIPTION

Modify the leverage or collateral of an existing perpetual position. Only available for Avantis provider on Base and Arbitrum.

REQUEST

{
  "provider": "avantis",
  "chain": "base",
  "pair": "ETH-USD",
  "position_id": "pos_123",
  "new_leverage": 15,
  "additional_collateral": "500",
  "wallet_address": "0x0D224DB2830A32bc75212A0ec6f0008C2B3ae5b5",
  "dry_run": false
}

PARAMETERS

provider (string, required) - Must be "avantis"
chain (string, required) - "base" or "arbitrum"
pair (string, required) - Trading pair
position_id (string, required) - Position identifier
new_leverage (number, optional) - New leverage value
additional_collateral (string, optional) - Additional collateral to add
wallet_address (string, required) - Wallet address
dry_run (boolean, optional) - Test mode (default: false)

RESPONSE (Pipeline Created)

{
  "success": true,
  "pipeline_id": "pip_perp_modify_123",
  "tasks": [
    {
      "task_id": "task_ghi789",
      "action_type": "perp_modify",
      "status": "sign_pending",
      "tx_data": {...}
    }
  ]
}

Prediction Markets

POST /api/polymarket_search_markets

Search Polymarket prediction markets by keyword

or /api/elsa/polymarket_search_markets

$0.002

REQUEST

{
  "search": "bitcoin"
}

RESPONSE

{
  "markets": [
    {
      "id": "0x1234...",
      "question": "Will Bitcoin exceed $100k by end of 2025?",
      "outcomes": ["Yes", "No"],
      "prices": [0.62, 0.38],
      "volume": "1250000",
      "end_date": "2025-12-31"
    }
  ]
}

POST /api/polymarket_user_status

Get Polymarket account status, Safe wallet, balances, and allowances

or /api/elsa/polymarket_user_status

$0.002

REQUEST

{
  "wallet_address": "0x0D224DB2830A32bc75212A0ec6f0008C2B3ae5b5"
}

POST /api/polymarket_user_data

Get user positions, trades, and open orders

or /api/elsa/polymarket_user_data

$0.005

REQUEST

{
  "wallet_address": "0x0D224DB2830A32bc75212A0ec6f0008C2B3ae5b5",
  "include_open_positions": true,
  "include_won_positions": true,
  "include_orders": false,  // requires encrypted_credentials
  "include_trades": false,
  "encrypted_credentials": "..."  // optional, from polymarket_init_done
}

POST /api/polymarket_init

Initialize Polymarket credential derivation — returns EIP-712 data for signing

or /api/elsa/polymarket_init

$0.002

REQUEST

{
  "wallet_address": "0x0D224DB2830A32bc75212A0ec6f0008C2B3ae5b5"
}

RESPONSE

{
  "typed_data": { ... },  // EIP-712 typed data to sign
  "timestamp": 1700000000,
  "nonce": 42
}

POST /api/polymarket_init_done

Complete Polymarket init with signed EIP-712 — returns encrypted credentials

or /api/elsa/polymarket_init_done

$0.002

REQUEST

{
  "wallet_address": "0x0D224DB2830A32bc75212A0ec6f0008C2B3ae5b5",
  "timestamp": 1700000000,
  "nonce": 42,
  "signature": "0xabc..."  // signed EIP-712 typed data
}

RESPONSE

{
  "encrypted_credentials": "..."  // pass to polymarket_user_data for order access
}

POST /api/polymarket_advanced_search

Search Polymarket markets with date range filters

or /api/elsa/polymarket_advanced_search

$0.002

REQUEST

{
  "search": "election",
  "limit": 20,
  "start_date_min": "2026-01-01",  // optional ISO date
  "start_date_max": "2026-12-31",  // optional
  "end_date_min": "2026-06-01",    // optional
  "end_date_max": "2027-01-01"     // optional
}

POST /api/create_polymarket_order

Create a Polymarket order via pipeline (requires encrypted credentials)

or /api/elsa/create_polymarket_order

$0.05

REQUEST

{
  "wallet_address": "0x0D224DB2830A32bc75212A0ec6f0008C2B3ae5b5",
  "market_id": "0x1234...",
  "token_id": "123456789",  // outcome token (Yes/No)
  "side": "BUY",             // "BUY" | "SELL"
  "price": 0.62,             // limit price 0.0–1.0
  "size": 100,               // share count
  "neg_risk": false,         // set true for neg-risk markets
  "encrypted_credentials": "...",  // from polymarket_init_done
  "dry_run": false
}

RESPONSE (Pipeline Created)

{
  "pipeline_id": "pip_abc123",
  "tasks": [ ... ]  // monitor via get_transaction_status
}

Staking & Yield

POST /api/get_stake_balances

View staking positions

$0.005

REQUEST

{
  "wallet_address": "0x0D224DB2830A32bc75212A0ec6f0008C2B3ae5b5"
}

RESPONSE

{
  "total_staked_usd": "15250.75",
  "stakes": [
    {
      "protocol": "Lido",
      "token": "ETH",
      "staked_amount": "5.0",
      "apy": "4.2"
    }
  ]
}

POST /api/get_yield_suggestions

Discover yield opportunities

$0.02

REQUEST

{
  "wallet_address": "0x0D224DB2830A32bc75212A0ec6f0008C2B3ae5b5"
}

Airdrop

SEASON 1 ENDED

Airdrop Season 1 has ended. The endpoints below remain available for historical claim checks and any pending/unclaimed allocations from Season 1. Watch for Season 2 announcements.

POST /api/check_airdrop

Check airdrop eligibility and allocation

$0.002

REQUEST

{
  "chain": "base",
  "tranche": 1,
  "eoa_address": "0x0D224DB2830A32bc75212A0ec6f0008C2B3ae5b5"
}

PARAMETERS

chain (string, required) - Blockchain network for the airdrop
tranche (number, required) - Airdrop tranche number (minimum: 1)
eoa_address (string, required) - Ethereum wallet address for airdrop check

RESPONSE

{
  "success": true,
  "chain": "base",
  "tranche": 1,
  "eoa_address": "0x0D224DB2830A32bc75212A0ec6f0008C2B3ae5b5",
  "airdrop_info": {
    "chain": "base",
    "from_address": "0x0D224DB2830A32bc75212A0ec6f0008C2B3ae5b5",
    "amount": 1000.0,
    "tranche": 1,
    "status": "available"
  },
  "timestamp": "2025-01-19T12:00:00.000Z"
}

airdrop_info.status values:

  • available - Eligible to claim
  • claimed - Already claimed

POST /api/claim_airdrop

Claim ELSA airdrop tokens

$0.001

DESCRIPTION

Creates a pipeline to claim your allocated ELSA tokens from a specific tranche. Use dry_run to preview the claim without executing. Once the pipeline is created, monitor with get_transaction_status and sign the transaction when status is "sign_pending".

REQUEST

{
  "chain": "base",
  "tranche": 1,
  "eoa_address": "0x0D224DB2830A32bc75212A0ec6f0008C2B3ae5b5",
  "dry_run": false
}

PARAMETERS

chain (string, required) - Blockchain network for the airdrop
tranche (number, required) - Airdrop tranche number (minimum: 1)
eoa_address (string, required) - Ethereum wallet address for airdrop claim
dry_run (boolean, optional) - Preview claim without executing (default: false)

RESPONSE (Pipeline Created)

{
  "success": true,
  "pipeline_id": "pip_abc123def456",
  "chain": "base",
  "tranche": 1,
  "eoa_address": "0x0D224DB2830A32bc75212A0ec6f0008C2B3ae5b5",
  "result": {
    "pipeline_id": "pip_abc123def456",
    "tasks": [
      {
        "task_id": "task_xyz789",
        "action_type": "claim_elsa_airdrop",
        "status": "sign_pending",
        "tx_data": {
          "to": "0x...",
          "data": "0x...",
          "value": "0x0"
        }
      }
    ]
  },
  "timestamp": "2025-01-19T12:00:00.000Z"
}

The response includes a pipeline_id and result object containing tasks. Use the pipeline_id with /api/get_transaction_status to monitor progress and get tx_data for signing.

Transaction Management

POST /api/get_transaction_history

Get transaction history

$0.003

REQUEST

{
  "wallet_address": "0x0D224DB2830A32bc75212A0ec6f0008C2B3ae5b5",
  "limit": 10
}

POST /api/get_transaction_status

Monitor pipeline status

$0.001

REQUEST

{
  "pipeline_id": "pip_123456789"
}

RESPONSE

{
  "pipeline_id": "pip_123456789",
  "status": "in_progress",
  "tasks": [
    {
      "task_id": "task_abc123",
      "type": "approval",
      "status": "success",
      "tx_hash": "0xabc..."
    },
    {
      "task_id": "task_def456",
      "type": "swap",
      "status": "sign_pending",
      "tx_data": {...}
    }
  ]
}

POST /api/submit_transaction_hash

Submit signed transaction hash to pipeline

$0.005

DESCRIPTION

After signing a transaction with your wallet, submit the transaction hash back to the pipeline. This is required for multi-task pipelines (e.g., approval + swap) to track transaction status and continue with subsequent tasks.

REQUEST

{
  "task_id": "task_def456",
  "tx_hash": "0x1234567890abcdef...",
  "status": "submitted"
}

PARAMETERS

task_id (string, required) - Task ID from get_transaction_status
tx_hash (string, required) - Signed transaction hash from RPC
status (string, required) - Either "submitted" or "rejected"
error (string, optional) - Error message if status is "rejected"

RESPONSE

{
  "success": true,
  "task_id": "task_def456",
  "tx_hash": "0x1234567890abcdef...",
  "status": "submitted"
}

POST /api/submit_typed_data_signature

Submit EIP-712 typed data signature to pipeline

$0.005

DESCRIPTION

After signing an EIP-712 typed data payload with your wallet, submit the signature back to the pipeline. Used by flows that require off-chain signatures (e.g., Polymarket order authorization, limit orders) to continue with subsequent tasks.

REQUEST

{
  "task_id": "task_def456",
  "signature": "0xabcdef1234...",
  "status": "signed"
}

PARAMETERS

task_id (string, required) - Task ID from get_transaction_status
signature (string, required when status is "signed") - EIP-712 signature returned by the wallet
status (string, optional) - "signed" (default) or "rejected"
error (string, optional) - Error message if status is "rejected"

RESPONSE

{
  "success": true,
  "task_id": "task_def456",
  "signature": "0xabcdef1234...",
  "status": "signed"
}

POST /api/get_gas_prices

Current gas prices

$0.001

REQUEST

{
  "chain": "base"
}

Free Endpoints

GET /health

Server health check

FREE

RESPONSE

{
  "status": "healthy",
  "service": {
    "name": "Elsa X402 MCP Server",
    "version": "1.0.0"
  },
  "payment": {
    "protocol": "X402",
    "network": "base",
    "recipient": "0x0D224DB2830A32bc75212A0ec6f0008C2B3ae5b5"
  }
}

MCP Integration

COMING SOON

MCP integration will be available shortly

CLAUDE DESKTOP CONFIGURATION

{
  "mcpServers": {
    "elsa-x402": {
      "command": "node",
      "args": ["/path/to/elsa-x402-mcp-server/build/index.js"],
      "env": {
        "X402_NETWORK": "base",
        "X402_PAY_TO": "0x0D224DB2830A32bc75212A0ec6f0008C2B3ae5b5",
        "CDP_API_KEY_ID": "your-cdp-key-id",
        "CDP_API_KEY_SECRET": "your-cdp-key-secret"
      }
    }
  }
}

AVAILABLE MCP TOOLS

search_token
get_token_price
get_portfolio
get_balances
analyze_wallet
get_pnl_report
get_swap_quote
execute_swap
create_limit_order
get_limit_orders
cancel_limit_order
get_stake_balances
open_perp_position
close_perp_position
modify_perp_position
get_perp_positions
get_available_perp_pairs
get_perp_details

References & Resources

Learn more about the X402 protocol and related technologies powering this API.

X402 PROTOCOL

The HTTP 402 Payment Required protocol enabling machine-to-machine micropayments.

COINBASE DEVELOPER PLATFORM

CDP provides the wallet infrastructure for X402 payment processing.

BASE NETWORK

The L2 blockchain where X402 payments are processed in USDC or ELSA.

MCP PROTOCOL

Model Context Protocol for AI assistant integrations.

Need Help?

For issues or questions, reach out through our support channels