Base chain data for onchain agents

Basefeed packs bundle a whole agent decision into one settled call: gas + yields + block, yield movers + watchlist, or pre-trade checks + balances. Pay per call in USDC on Base through x402. No signup, no API key, no dashboard.

Get the recipes
BASE MAINNET eip155:8453x402 v2USDC payments
$0.001
Cheapest call
8
Live endpoints
60s
Cache window
8453
Base chain ID
Products

Four endpoints, pennies per call

Prices are live in the agent card and OpenAPI spec. Every paid call returns JSON with a payment receipt baked in. Running a loop? The packs below bundle a whole decision into one settlement.

$0.005

Base gas

GET /v1/base/gas

Live Base gas prices in wei and gwei. Cached for 60 seconds. Includes RPC latency and handler time.

60s cache
$0.01

Yield snapshot

GET /v1/base/yields

Top Base Morpho Blue stablecoin pools by TVL, sourced from DeFiLlama. Only pools above $50M make the cut.

via DeFiLlama
$0.01

Token metadata

GET /v1/meta/token

Read an ERC-20 contract's name, symbol, and decimals over RPC. Supports Base and Base Sepolia addresses.

Base + Sepolia
$0.001

Ping test

GET /v1/ping

Smoke test the full x402 loop: 402 quote, signature, settlement, and JSON response. Run this before any data call.

full x402 flow
no signupno subscriptionpublished prices
Packs

One settlement, whole decision

Packs bundle everything one agent decision needs into a single paid call: one quote, one signature, one receipt. Built for loops that run on a timer, priced so the math beats assembling it yourself.

$0.02

Base pulse

GET /v1/pack/base-pulse

Gas, the top five Morpho stablecoin yields, and current block in one JSON. The heartbeat call for dashboards and monitor loops.

replaces 3 calls
$0.03

Yield scout

GET /v1/pack/yield-scout

Ranked Morpho stablecoin pools, one-day movers, and your watchlist on Base. Decision-ready ranking, no raw dumps to parse.

movers + watchlist
$0.02

Exec preflight

GET /v1/pack/exec-preflight

Gas, token contract checks, metadata, and optional wallet balances before your agent moves money. Catches the mistakes that cost more than the call.

run before every trade
GET /v1/meta/tokens batch
ERC-20 metadata for 2 to 10 addresses in one settled call. $0.02 for the batch instead of $0.01 each — built for the moment your agent imports a watchlist or meets a new pair.
$0.02
Protocol

Pay inside the HTTP call

A paid route starts with a 402 quote. Your x402 client signs locally, retries once, and gets the JSON after settlement goes through.

01

Ask for the data

First call returns 402 with a live quote in the PAYMENT-REQUIRED header.

02

Sign the quote

Your x402 client checks the amount, chain, token, and recipient, then builds the PAYMENT-SIGNATURE header. Your key never leaves your machine.

03

Retry with proof

Coinbase CDP settles the payment on Base. Basefeed sends back the JSON you asked for.

04

Keep the receipt

The PAYMENT-RESPONSE header holds settlement details. Store it alongside your data for audit.

agent@base / live handshake
curl -i https://api.basefeed.io/v1/base/gas
HTTP/2 402 Payment Required
payment-required: eyJ4NDAyVmVyc2lvbiI6Mi…
└─ quote: $0.005 USDC → 0xEfc3…360E

# sign locally · retry with signature
curl -i -H "PAYMENT-SIGNATURE: $SIG" …/v1/base/gas
HTTP/2 200
payment-response: eyJzdWNjZXNzIjp0cnVl... └─ settlement metadata

{
"chain": "base",
"gas_price_wei": "10361897",
"gas_price_gwei": 0.0104,
"latency_ms": 41
}
Build

One client, one wallet, zero friction

Install an x402 client, load up with USDC on Base, and start calling. No dashboard, no monthly plan, no API key to rotate.

quickstart.py · pip install "x402[httpx]==2.16.0" eth-account
import os
from eth_account import Account
from x402 import x402Client
from x402.http.clients import x402HttpxClient
from x402.mechanisms.evm import EthAccountSigner
from x402.mechanisms.evm.exact.register import register_exact_evm_client

client = x402Client()
register_exact_evm_client(
    client,
    EthAccountSigner(Account.from_key(os.environ["PRIVATE_KEY"])),
    networks="eip155:8453",
)

async with x402HttpxClient(client, base_url="https://api.basefeed.io") as http:
    r = await http.get("/v1/base/gas")  # 402 → sign → 200, automatic
    print(r.json())
Resources
Start with /v1/ping at $0.001. Always validate the live quote against your local spend cap. Check the agent JSON or OpenAPI spec for current prices.
Get started

Your agent has a wallet, give it data

Run the $0.001 ping first. Once it clears, your agent can hit any route through the same flow.

pay-to 0xEfc3f6Ba8A706af67162ebaB84Fc2d09fA73360E asset USDC 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 facilitator Coinbase CDP · non-custodial · every call leaves a receipt on Base