Skip to main content
x402 support is currently in beta. Endpoints, pricing, and supported networks may change. Join the Mobula Telegram to report issues or share feedback.
The /x402/cefi/funding-rate endpoint provides live CeFi perpetual funding rates across all major exchanges, gated by a $0.001 USDC micropayment using the x402 payment protocol. No API key required — payment is the credential. This endpoint is identical to Get CeFi Funding Rate but uses pay-per-use access instead of API key authentication. It is designed for AI agents, quant scripts, and any x402-compatible client.

Supported Networks

Payment is accepted in USDC on:
NetworkCAIP-2
Base mainneteip155:8453
Solana mainnetsolana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp

Price Per Call

$0.001 USDC per request, settled on-chain via the Coinbase CDP Facilitator.

Query Parameters

ParameterRequiredDescription
symbolYesBase asset ticker. Examples: BTC, ETH, SOL, BNB. Case-insensitive. Do not include the quote currency (USDT, USD) here.
quoteNoQuote asset override. Default is USDT. Examples: USD, USDC.
exchangeNoComma-separated list of exchanges to query. Omit to fetch from all supported exchanges. Supported values: binance, bybit, deribit, okx, hyperliquid, gate, lighter.

Supported Exchanges

ExchangeCoverage
BinanceUSDT-margined perpetuals
BybitLinear perpetuals
DeribitOptions and perpetuals
OKXUSDT/USDC swaps
HyperliquidDecentralized perpetuals
Gate.ioUSDT perpetuals
LighterOn-chain orderbook perps

How x402 Payment Works

The x402 protocol follows a standard two-step flow: Step 1 — Request without payment (receives 402)
curl -i "https://api.mobula.io/x402/cefi/funding-rate?symbol=BTC"
HTTP/1.1 402 Payment Required
payment-required: <base64-encoded payment requirements>
The payment-required header contains the accepted payment options (network, asset, amount, receiving address). Step 2 — Sign and retry with payment header Your x402-compatible client reads the payment-required header, signs a USDC transfer, and retries with the x-payment header:
curl -i "https://api.mobula.io/x402/cefi/funding-rate?symbol=BTC" \
  -H "x-payment: <signed-payment-payload>"
HTTP/1.1 200 OK
Content-Type: application/json
The server verifies the payment via the facilitator and settles the USDC transfer on-chain before returning the response.

What the Response Includes

Per-exchange entries are returned as arrays, each containing:
  • symbol — perpetual contract ticker as used on that exchange (e.g. BTCUSDT, BTC-USDT-SWAP)
  • fundingRate — current funding rate as a decimal (e.g. 0.0001 = 0.01% per epoch)
  • fundingTime — next settlement timestamp in Unix milliseconds
  • epochDurationMs — duration of each funding epoch in milliseconds
  • marketPrice — current mark price on that exchange (where available)
Top-level queryDetails field echoes back the requested base and quote.

Using with AI Agents

Any agent or autonomous script using an x402-compatible HTTP client automatically handles the 402 → sign → retry flow. The payment-required response embeds the full type schema of the response (via the Bazaar extension), so agents know exactly what fields to expect before paying. Compatible client libraries:

Testing

Two test scripts are included in the repository for end-to-end testing of the full 402 → sign → settle flow. Both scripts accept an ENDPOINT env var to target any x402 route.

Prerequisites

Solana mainnet
  • Solana wallet private key in base58 format (export from Phantom or Backpack)
  • USDC on Solana mainnet at EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
Base mainnet
  • EVM wallet private key (0x-prefixed)
  • USDC on Base mainnet at 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
  • ETH on Base for gas

Run the test

Solana:
SOLANA_PRIVATE_KEY="<base58_private_key>" \
ENDPOINT="/x402/cefi/funding-rate?symbol=BTC" \
API_URL="https://api.mobula.io" \
bun run apps/api/src/x402/test-payment-solana.ts
Base (EVM):
TEST_PRIVATE_KEY="0x<evm_private_key>" \
ENDPOINT="/x402/cefi/funding-rate?symbol=BTC" \
API_URL="https://api.mobula.io" \
bun run apps/api/src/x402/test-payment.ts
The script prints each step: the initial 402 response, the payment option selected, the signing step, and the final 200 response with per-exchange funding rate rows. The full JSON response is written to /tmp/x402-response.json.

Try Mobula for Free

You can also access this data with a standard API key via Get CeFi Funding Rate. Get your free API key: admin.mobula.io