Execute real blockchain transactions through the Elsa pipeline system. Pay-per-use with X402 micropayments on Base network.
import { wrapAxiosWithPayment, x402Client } from '@x402/axios';
import { ExactEvmScheme } from '@x402/evm/exact/client';
import { createWalletClient, http } from 'viem';
import { privateKeyToAccount } from 'viem/accounts';
import { base } from 'viem/chains';
import axios from 'axios';
// x402 v2 client: register the EVM 'exact' scheme on Base (CAIP-2 eip155:8453)
const account = privateKeyToAccount(PRIVATE_KEY);
// walletClient signs/sends the swap transaction in later steps
const walletClient = createWalletClient({
account,
chain: base,
transport: http('https://mainnet.base.org')
});
const paymentClient = new x402Client().register(
'eip155:8453',
new ExactEvmScheme(account, { rpcUrl: 'https://mainnet.base.org' })
);
// Apply the X402 v2 payment interceptor
const client = wrapAxiosWithPayment(
axios.create({ baseURL: 'https://x402-v2-api.heyelsa.ai' }),
paymentClient
);// 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
});https://x402-v2-api.heyelsa.ai/api/endpoint_namehttps://x402-v2-api.heyelsa.ai/api/elsa/endpoint_nameBoth paths support the same endpoints with identical functionality. The only difference is the payment token used for X402 micropayments on Base network.
ELSA prices are derived from a live ELSA/USD feed. If that feed is unavailable, /api/elsa/* answers 503 while the USDC path keeps working โ fall back to /api/endpoint_name. The server re-checks the price every 5 minutes and re-enables ELSA automatically.GET /health reports the current state in pricing.elsaPaymentsAvailable.
This API speaks x402 v2. Payment requirements, the signed payment and the settlement receipt all travel in Base64-encoded JSON headers: PAYMENT-REQUIRED on the 402, PAYMENT-SIGNATURE on the paid request, and PAYMENT-RESPONSE on the 200. The 402 body is an empty {} โ read the header, not the body. The @x402/axios client in the quick start handles all of this for you; the details below are for hand-rolled clients.
PAYMENT-SIGNATURE header402 Payment Required with an empty JSON body and a PAYMENT-REQUIRED header listing the accepts optionsamount, and retries with the PAYMENT-SIGNATURE request header200 OK with the PAYMENT-RESPONSE headerReturned when no valid payment is provided. The body is {}; the header is a Base64-encoded PaymentRequired JSON object listing the options the client must satisfy under accepts. Browsers can read it โ it is on the CORS Access-Control-Expose-Headers list.
EXAMPLE RESPONSE
HTTP/1.1 402 Payment Required
Content-Type: application/json
PAYMENT-REQUIRED: eyJ4NDAyVmVyc2lvbiI6MiwiZXJyb3IiOiJQYXltZW50IHJlcXVpcmVkIiwicmVzb3VyY2UiOnsidXJsIjo...
{}DECODED HEADER
{
"x402Version": 2,
"error": "Payment required",
"resource": {
"url": "https://x402-v2-api.heyelsa.ai/api/get_portfolio",
"description": "",
"mimeType": ""
},
"accepts": [
{
"scheme": "exact",
"network": "eip155:8453",
"amount": "10000",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"payTo": "0xEcB6175395806A3781AE7E5bae6d0abcB214Ee4D",
"maxTimeoutSeconds": 300,
"extra": { "name": "USD Coin", "version": "2" }
}
],
"extensions": { "builder-code": { ... } }
}eip155:8453 = Base mainnet)Sent by the client on the retry request. Value is a Base64-encoded PaymentPayload JSON object: the accepts entry you chose, echoed back as accepted, plus a signed EIP-3009 transferWithAuthorization for that entry's amount to its payTo.
EXAMPLE REQUEST HEADERS
POST /api/get_portfolio HTTP/1.1 Content-Type: application/json PAYMENT-SIGNATURE: eyJ4NDAyVmVyc2lvbiI6MiwiYWNjZXB0ZWQiOnsic2NoZW1lIjoiZXhhY3QiLCJuZXR3b3JrIjoiZWlwMTU1Ojg0NTMiLC...
DECODED VALUE
{
"x402Version": 2,
"resource": { "url": "https://x402-v2-api.heyelsa.ai/api/get_portfolio" },
"accepted": {
"scheme": "exact",
"network": "eip155:8453",
"amount": "10000",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"payTo": "0xEcB6175395806A3781AE7E5bae6d0abcB214Ee4D",
"maxTimeoutSeconds": 300,
"extra": { "name": "USD Coin", "version": "2" }
},
"payload": {
"signature": "0x2d6a7588d6acca505cbf0d9a4a227e0c52c6c340...1c",
"authorization": {
"from": "0x857b06519E91e3A54538791bDbb0E22373e36b66",
"to": "0xEcB6175395806A3781AE7E5bae6d0abcB214Ee4D",
"value": "10000",
"validAfter": "0",
"validBefore": "1740672154",
"nonce": "0xf3746613c2d920b5fdabc0856f2aeb2d4f88ee60..."
}
}
}accepts options, copied verbatimextraaccepted.payTo and accepted.amountReturned alongside the 200 OK response after successful settlement. Provides the on-chain transaction hash for auditing. Value is a Base64-encoded SettleResponse JSON object. The same value is mirrored in the legacy X-PAYMENT-RESPONSE header for v1-era clients.
EXAMPLE RESPONSE HEADERS
HTTP/1.1 200 OK Content-Type: application/json PAYMENT-RESPONSE: eyJzdWNjZXNzIjp0cnVlLCJ0cmFuc2FjdGlvbiI6IjB4MTIzNDU2NzgiLCJuZXR3b3JrIjoi...
DECODED VALUE
{
"success": true,
"transaction": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef",
"network": "eip155:8453",
"payer": "0x857b06519E91e3A54538791bDbb0E22373e36b66"
}eip155:8453 = Base mainnet)success is false200OKPayment verified & settled โ resource returned with the PAYMENT-RESPONSE header402Payment RequiredMissing PAYMENT-SIGNATURE header, malformed or invalid payment, facilitator verification failed, or on-chain settlement rejected โ the PAYMENT-REQUIRED header carries x402Version, error, and the accepts options; the body is {}400Bad RequestRequest body failed schema validation โ a required endpoint parameter is missing or wrong-typed503Service UnavailableELSA path only (/api/elsa/*) โ the ELSA/USD price feed is down so ELSA payments are paused. Use the USDC path (/api/<endpoint>); ELSA routes re-enable automatically once pricing recovers (re-checked every 5 minutes)500Server ErrorUnexpected internal server error unrelated to payment processingAll execute endpoints use the Elsa pipeline for transaction orchestration. The pipeline handles approvals, swaps, and monitoring.
// 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'
});
}https://x402-v2-api.heyelsa.ai/api/https://x402-v2-api.heyelsa.ai/api/elsa/All endpoints listed below work with both base URLs. Simply change the path prefix to switch payment tokens. The ELSA path returns 503 while ELSA pricing is unavailable; the USDC path is unaffected.
Search for tokens across all blockchains
or /api/elsa/search_token
REQUEST
{
"symbol_or_address": "USDC",
"limit": 5
}RESPONSE
{
"success": true,
"result": {
"results": [
{
"symbol": "USDC",
"name": "USD Coin",
"address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"chain": "base",
"priceUSD": "1.000"
}
]
}
}Get real-time token price
REQUEST
{
"token_address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"chain": "base"
}Get wallet token balances
REQUEST
{
"wallet_address": "0x0D224DB2830A32bc75212A0ec6f0008C2B3ae5b5"
}RESPONSE
{
"balances": [
{
"asset": "USDC",
"balance": "1250.50",
"balance_usd": "1250.50",
"chain": "base"
}
]
}Comprehensive portfolio analysis
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": [...]
}
}
}Wallet behavior and risk analysis
DESCRIPTION
Analyze wallet activity, behavior patterns, and risk profile including perpetual trading positions across Avantis and Hyperliquid.
REQUEST
{
"wallet_address": "0x0D224DB2830A32bc75212A0ec6f0008C2B3ae5b5"
}Profit and loss analysis
REQUEST
{
"wallet_address": "0x0D224DB2830A32bc75212A0ec6f0008C2B3ae5b5",
"time_period": "30_days"
}Get optimal swap routing and pricing
REQUEST
{
"from_chain": "base",
"from_token": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", // USDC
"from_amount": "100",
"to_chain": "base",
"to_token": "0x4200000000000000000000000000000000000006", // WETH
"wallet_address": "0x0D224DB2830A32bc75212A0ec6f0008C2B3ae5b5",
"slippage": 2.0,
"provider": "cowswap", // optional โ force a specific route
"gasless_only": true, // optional โ signature-settled routes only
"to_address": "0xYourPolymarketDepositWallet" // optional โ defaults to wallet_address; see parameter notes
}RESPONSE
{
"quote": {
"from_amount": "100",
"estimatedOutput": "0.0283",
"price_impact": "0.12",
"gas_estimate": "0.45",
"route": ["USDC", "WETH"]
}
}PARAMETERS
Accepts the same optional routing parameters as execute_swap โ provider, gasless_only and to_address โ so a quote reflects the route that will actually be executed. See the parameter table below.
Execute real blockchain swap
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,
"provider": "cowswap", // optional โ force a specific route
"gasless_only": true, // optional โ signature-settled routes only
"to_address": "0xYourPolymarketDepositWallet" // optional โ defaults to wallet_address; see parameter notes
}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"
}
]
}PARAMETERS
lifibungeerelayrialtofyndsuperswapberachainhyperliquidhyperliquid-perpscowswapagent_token_lpCreate limit order via CoW Protocol
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
}View limit orders
REQUEST
{
"wallet_address": "0x0D224DB2830A32bc75212A0ec6f0008C2B3ae5b5"
}Cancel pending limit order
REQUEST
{
"order_id": "0x123...",
"wallet_address": "0x0D224DB2830A32bc75212A0ec6f0008C2B3ae5b5",
"dry_run": false
}List available perpetual trading pairs
DESCRIPTION
Get a list of available perpetual trading pairs across providers. Supports Avantis (Base, Arbitrum) and Hyperliquid.
REQUEST
{
"provider": "all"
}PARAMETERS
PROVIDERS
Use all to query across all providers simultaneously.
RESPONSE
{
"success": true,
"pairs": {
"avantis": [
{
"pair": "ETH-USD",
"chain": "base",
"max_leverage": 50
}
],
"hyperliquid": [
{
"pair": "BTC-USD",
"max_leverage": 50
}
]
}
}Query perpetual trading positions
DESCRIPTION
Get all open perpetual positions for a wallet across Avantis and Hyperliquid providers.
REQUEST
{
"wallet_address": "0x0D224DB2830A32bc75212A0ec6f0008C2B3ae5b5",
"provider": "all"
}PARAMETERS
RESPONSE
{
"success": true,
"positions": {
"avantis": [
{
"pair": "ETH-USD",
"size": "1.5",
"side": "long",
"leverage": 10,
"entry_price": "2500.00",
"pnl": "150.00"
}
],
"hyperliquid": []
}
}Get Hyperliquid market details for a specific token
DESCRIPTION
Get detailed market information for a specific perpetual contract on Hyperliquid, including funding rates and open interest.
REQUEST
{
"token": "ETH"
}PARAMETERS
RESPONSE
{
"success": true,
"details": {
"token": "ETH",
"mark_price": "2500.00",
"funding_rate": "0.0001",
"open_interest": "1000000",
"max_leverage": 50
}
}Open a new perpetual position
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
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"
}
}
]
}Close a perpetual position
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
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": {...}
}
]
}Search Polymarket prediction markets by keyword
or /api/elsa/polymarket_search_markets
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"
}
]
}Get Polymarket account status, deposit wallet, balances, and allowances
or /api/elsa/polymarket_user_status
REQUEST
{
"wallet_address": "0x0D224DB2830A32bc75212A0ec6f0008C2B3ae5b5"
}Get user positions, trades, and open orders
or /api/elsa/polymarket_user_data
REQUEST
{
"wallet_address": "0x0D224DB2830A32bc75212A0ec6f0008C2B3ae5b5",
"include_open_positions": true,
"include_won_positions": true,
"include_orders": false, // requires encrypted_credentials
"include_trades": false,
"encrypted_credentials": "..." // optional, only needed for include_orders
}Screen Polymarket markets by date range, probability band, spread and sort order
or /api/elsa/polymarket_advanced_search
REQUEST
{
"search": "election", // optional โ omit to screen ALL markets
"limit": 20, // optional, max 50
"sort_by": "volumeUsd24h", // optional, default trendingScore24h
"sort_direction": "DESC", // optional, ASC | DESC
"start_date_min": "2026-01-01T00:00:00Z", // optional ISO 8601
"start_date_max": "2026-12-31T23:59:59Z", // optional
"end_date_min": "2026-06-01T00:00:00Z", // optional
"end_date_max": "2027-01-01T00:00:00Z", // optional
"price_competitiveness_min": 0.30, // optional, 0โ1
"price_competitiveness_max": 0.40, // optional, 0โ1
"spread_min": 0, // optional, USD per share
"spread_max": 0.005 // optional, USD per share
}PARAMETERS
Create a Polymarket order via pipeline โ no credential setup required
or /api/elsa/create_polymarket_v2_order
REQUEST
{
"wallet_address": "0x0D224DB2830A32bc75212A0ec6f0008C2B3ae5b5", // your EOA
"market_id": "0x1234...",
"token_id": "123456789", // outcome token (Yes/No)
"side": "buy", // "buy" | "sell"
"price": 0.62, // price per share in USDC, 0.0โ1.0
"size": 100, // order size in USD (minimum 1)
"neg_risk": true, // optional, backend overrides from the live order book
"dry_run": false // optional, defaults to true (preview only)
}RESPONSE (Pipeline Created)
{
"pipeline_id": "pip_abc123",
"tasks": [ ... ] // monitor via get_transaction_status
}PARAMETERS
DESCRIPTION
No credential setup step is required โ CLOB credentials are derived automatically, and the deposit wallet is deployed and approved on demand. Fund the deposit wallet with pUSD before placing buy orders; underfunded buys are rejected.
View staking positions
REQUEST
{
"wallet_address": "0x0D224DB2830A32bc75212A0ec6f0008C2B3ae5b5"
}RESPONSE
{
"total_staked_usd": "15250.75",
"stakes": [
{
"protocol": "Lido",
"token": "ETH",
"staked_amount": "5.0",
"apy": "4.2"
}
]
}Discover yield opportunities
REQUEST
{
"wallet_address": "0x0D224DB2830A32bc75212A0ec6f0008C2B3ae5b5"
}Get active yield farming positions for a wallet
REQUEST
{
"wallet_address": "0x0D224DB2830A32bc75212A0ec6f0008C2B3ae5b5",
"chains": ["ethereum", "arbitrum"],
"min_apy": 5,
"max_risk": "medium",
"yield_types": ["staking", "lending"]
}PARAMETERS
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.
Check airdrop eligibility and allocation
REQUEST
{
"chain": "base",
"tranche": 1,
"eoa_address": "0x0D224DB2830A32bc75212A0ec6f0008C2B3ae5b5"
}PARAMETERS
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:
Claim ELSA airdrop tokens
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
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.
Get transaction history
REQUEST
{
"wallet_address": "0x0D224DB2830A32bc75212A0ec6f0008C2B3ae5b5",
"limit": 10
}Monitor pipeline status
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": {...}
}
]
}Submit signed transaction hash to pipeline
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
RESPONSE
{
"success": true,
"task_id": "task_def456",
"tx_hash": "0x1234567890abcdef...",
"status": "submitted"
}Submit EIP-712 typed data signature to pipeline
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
RESPONSE
{
"success": true,
"task_id": "task_def456",
"signature": "0xabcdef1234...",
"status": "signed"
}Current gas prices
REQUEST
{
"chain": "base"
}Server health check
RESPONSE
{
"status": "healthy",
"service": {
"name": "Elsa X402 MCP Server",
"version": "2.0.0"
},
"payment": {
"protocol": "X402",
"network": "base",
"recipient": "0x0D224DB2830A32bc75212A0ec6f0008C2B3ae5b5"
},
"pricing": {
"currentElsaPrice": 0.05,
"elsaPaymentsAvailable": true, // false => /api/elsa/* returns 503
"lastUpdate": "2026-10-09T12:00:00.000Z"
}
}DESCRIPTION
pricing.elsaPaymentsAvailable tells you whether the ELSA payment path is live. It flips to false when the ELSA/USD price feed cannot be reached; USDC endpoints keep working, and the server retries the feed every 5 minutes.
MCP integration will be available shortly
{
"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"
}
}
}
}Learn more about the X402 protocol and related technologies powering this API.
The HTTP 402 Payment Required protocol enabling machine-to-machine micropayments.
CDP provides the wallet infrastructure for X402 payment processing.
The L2 blockchain where X402 payments are processed in USDC or ELSA.
Model Context Protocol for AI assistant integrations.
For issues or questions, reach out through our support channels