draconic21
Free tool · live on-chain Base data

Token Price (Base)

Price ETH, WETH, USDC, DAI, cbETH, cbBTC, BTC, or any other Base ERC-20 contract address — read live from Chainlink price feeds and Uniswap V3 pools on-chain, not a hosted price-API reseller. Up to 20 checks per day, free.

Provide a curated symbol, or a contract address (not both). Clearing the symbol dropdown lets you type an address.

Source: Chainlink Data Feed aggregator contracts on Base (curated majors) or the deepest Uniswap V3 pool against USDC (any other address), read live via Base's public JSON-RPC.

Need this from an agent, script, or at volume?

Same on-chain read, no rate limit

Price any Base token, no daily cap — $0.004/call, USDC on Base, no account → Prefer card billing? RapidAPI Web Intelligence listing → MCP tool — call it from any MCP-enabled agent →

Example (x402 pay-per-call)

curl -X POST https://draconic21-x402-api.onrender.com/v1/token_price \
  -H "content-type: application/json" \
  -d '{"symbol":"ETH"}'
# unpaid: HTTP 402 + PAYMENT-REQUIRED header (sign with a Base USDC wallet, retry)

Agent / funded runtime? After you verify this lookup, the cold-start buy on this origin is POST /v1/signal_latest — $0.03 USDC (Daily Agent Signal). Free wake: GET /health. Skill card: /skill.md · buyer loop: /agent-buy.md.

This free page calls the identical live on-chain builder used by our paid API — same feeds, same pools, same fields.

What this does — and doesn't — price

  • Curated majors (ETH/WETH/USDC/DAI/cbETH/cbBTC/BTC) are priced from Chainlink's own aggregator contracts on Base — the same contracts any on-chain consumer reads.
  • Any other Base ERC-20 address is priced from the deepest discoverable Uniswap V3 pool against USDC, across the four standard fee tiers — a live DEX spot price, with the pool's real liquidity reported alongside it.
  • If no Base↔USDC pool exists for an address, you get a clean UNSUPPORTED_TOKEN error, never a fabricated price.
  • Informational only, not investment advice. Chainlink feeds update on deviation/heartbeat, not every block — check the staleness field before treating a quote as current.

FAQ

Where does this price come from — is it a CoinGecko/CoinCap mirror?

No. Curated majors are read live from Chainlink's own Data Feed aggregator contracts deployed on Base. Any other Base ERC-20 address is priced from the deepest discoverable Uniswap V3 pool against USDC. Both are direct on-chain reads via Base's public RPC — not a hosted price-API reseller.

Why not just use a free crypto price API?

Most free-tier price APIs (CoinGecko's public tier, CoinCap) restrict commercial redistribution of their data, or have been discontinued. Reading a public contract's on-chain state via eth_call carries no such license — it's the same read any wallet or DEX front-end already performs.

What if there's no Uniswap V3 pool for my token address?

You'll get a clean UNSUPPORTED_TOKEN error rather than a fabricated number. This route only ever returns a price it actually derived from a live feed or a real, sufficiently deep on-chain pool.

How fresh is the price?

Every response includes a staleness field: seconds since the Chainlink feed's own last on-chain update (curated majors), plus the exact block number/timestamp read (pool prices). Chainlink feeds update on their own deviation/heartbeat schedule, not every block.

Built for agents, bots, and scripts that need a live Base price without a price-API account. Not a trading signal, portfolio tracker, or tax-reporting tool.