Execute real blockchain transactions through the Elsa pipeline system. Pay-per-use with X402 micropayments on Base network.
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
);// 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
});All 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);
}Search for tokens across all blockchains
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
REQUEST
{
"wallet_address": "0x0D224DB2830A32bc75212A0ec6f0008C2B3ae5b5"
}RESPONSE
{
"wallet_address": "0x0D224DB...",
"total_value_usd": "12345.67",
"chains": ["ethereum", "base", "arbitrum"],
"portfolio": {
"balances": [...],
"defi_positions": [...],
"staking_positions": [...]
}
}Wallet behavior and risk analysis
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
}RESPONSE
{
"quote": {
"from_amount": "100",
"estimatedOutput": "0.0283",
"price_impact": "0.12",
"gas_estimate": "0.45",
"route": ["USDC", "WETH"]
}
}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
}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"
}
]
}Create 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
}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 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": [
{
"type": "approval",
"status": "success",
"tx_hash": "0xabc..."
},
{
"type": "swap",
"status": "sign_pending",
"tx_data": {...}
}
]
}Current gas prices
REQUEST
{
"chain": "base"
}Server health check
RESPONSE
{
"status": "healthy",
"service": {
"name": "Elsa X402 MCP Server",
"version": "1.0.0"
},
"payment": {
"protocol": "X402",
"network": "base",
"recipient": "0x0D224DB2830A32bc75212A0ec6f0008C2B3ae5b5"
}
}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.
Model Context Protocol for AI assistant integrations.
For issues or questions, reach out through our support channels