Skip to main content
Birdeye Data Services (BDS) and Codex cover a similar problem space: real-time token, trade, and wallet data across Solana and EVM chains. This guide maps every Birdeye endpoint to its Codex equivalent, shows working side-by-side examples for the most common patterns, and ends with a copy-paste prompt you can hand to an LLM to migrate the rest of your codebase.

Mental model

Birdeye is a REST API where the network is a request header (x-chain, defaults to Solana) and most resources have separate v1, v2, and v3 endpoints with different field naming conventions (camelCase in v1/v2, snake_case in v3+). Codex is a single GraphQL Supergraph: one endpoint (https://graph.codex.io/graphql), one auth header, one query language, and the network is just a parameter (networkId) on each field. What that means in practice:
  • You stop maintaining version-specific code paths (the /defi/v2/... vs /defi/v3/... decision goes away).
  • You stop juggling x-chain headers. Network selection lives next to the data, so the same query covers Solana, Ethereum, Base, BNB, and 80+ networks.
  • Multi-token requests stop needing separate batch endpoints. GraphQL aliases and array inputs handle that natively, and you only pay for the fields you request.
  • Real-time data has two delivery options instead of one. Birdeye is WebSocket-only; Codex gives you WebSocket subscriptions and webhooks, and you can mix them in the same app.
If you’ve never used GraphQL, Learn GraphQL is a 10-minute primer that’s enough to follow the rest of this guide.

Authentication

Birdeye uses an X-API-KEY header plus an x-chain header that defaults to solana (so it’s effectively required for every non-Solana request). Codex uses an Authorization header with your API key from the dashboard, and network comes through as a field argument instead of a header.
Birdeye
Codex
For browser-facing apps, generate a short-lived JWT with createApiTokens and pass it as Bearer <token>. See Authentication for the full pattern.

Endpoint mapping

The table covers the Birdeye endpoints customers ask about most often, grouped by surface area. Where Birdeye splits a concept across v1, v2, and v3 endpoints, the Codex equivalent on the right replaces all of them.

Prices and OHLCV

Token data

Pairs and markets

Trades

Holders

Wallets

Traders

Utility

Side-by-side examples

The four patterns below are the ones Birdeye customers most commonly migrate first. Token addresses are real and queries are runnable.

1. Multi-token price

For a live price feed instead of polling, subscribe to onPricesUpdated.

2. OHLCV chart

Codex supports resolutions from 1-second up to weekly (7D). Sub-minute resolutions (1S-30S) are only populated for the last 24 hours, and Birdeye’s monthly (1M) candles have no direct equivalent (aggregate from 1D or 7D bars). For live chart updates, layer in the onBarsUpdated subscription. See the Charts recipe for a full Lightweight Charts integration.

3. Token overview (metadata + stats + safety)

Birdeye splits this across /defi/token_overview, /defi/v3/token/market-data, and /defi/token_security. Codex returns the same picture in a single request.
The Detailed Token Page recipe shows the full pattern Codex customers use to build a token detail screen.

4. Wallet portfolio

Enrich the response with live USD pricing by batching the returned tokenIds into getTokenPrices. For wallet-level PnL and volume, see detailedWalletStats and the Wallets recipe.

Real-time data

Birdeye delivers real-time data exclusively through WebSocket subscriptions at wss://public-api.birdeye.so/socket/<chain>. Codex gives you the same data with two delivery options, and you can use both at once:
  • WebSocket subscriptions: persistent connection, updates pushed inline. Best for dashboards, trading UIs, anything user-facing.
  • Webhooks: Codex calls an HTTP endpoint you control when an event fires. Best for background jobs, alerts, and queue-driven systems.

Gaps

Things Birdeye does that Codex doesn’t, and what to do about them:
  • Perpetuals data (/perps/v1/*). Codex is a spot-trading API. If your product depends on open positions, liquidation maps, or perp wallets, keep Birdeye for that surface or pair Codex with a perps-native provider.
  • Wallet-level transfers (non-swap) (/wallet/v2/transfer*, /token/v1/transfer*). Codex returns swap and token-lifecycle events, not arbitrary token transfers. Combine Codex with an RPC provider or Etherscan-family API if transfer history is core to your product.
  • NFT data. Birdeye doesn’t ship a full NFT product either, but if your codebase touches NFT collections or holdings, Codex won’t fill that gap.
  • Centralized exchange liquidity dashboards. Codex is onchain-only.
  • First-funded-by lookup (POST /wallet/v2/tx/first-funded). No direct equivalent; flag during migration.
  • Native-token balances on chains without traces. balances returns ERC-20/SPL holdings on every supported network, but native-token amounts on EVM chains require traces support. Sui balances aren’t available at all (networkId: 101).

What you pick up

Things Codex offers that Birdeye doesn’t:
  • One query, many shapes. GraphQL lets you combine token metadata, price, holders, recent trades, and chart data into a single request and only pull the fields you render. A typical Birdeye-powered token page hits three or four endpoints; the Codex equivalent is one.
  • Webhooks alongside subscriptions. Push real-time data to your servers without holding open a WebSocket. Configure via createWebhooks.
  • Prediction markets. Polymarket and Kalshi event, market, trade, and trader data via the filterPredictionEvents family. See Prediction Markets.
  • Launchpad lifecycle data. First-class support for pump.fun, LetsBonk, Believe, and other launchpads, including bonding-curve state, graduation, and migration events. See Launchpads.
  • Wallet discovery by performance. filterWallets lets you query for wallets matching specific PnL, win-rate, or trading-volume criteria across all networks, not just for a single token.
  • Liquidity locks. liquidityLocks surfaces locked-LP context that Birdeye’s /defi/v3/token/exit-liquidity doesn’t.
  • Built for AI agents. A docs MCP server, prebuilt Codex Skills for Claude/Cursor/Codex CLI, and pay-per-query access via MPP.

AI migration prompt

Most Birdeye integrations span dozens of call sites: a price service here, a chart loader there, a portfolio screen, a webhook handler. Hand the prompt below to an IDE agent (Claude Code, Cursor, Codex CLI, or similar), run it from the repo root, and it will discover every Birdeye touchpoint, propose a plan, and execute the migration with your approval.
Pair this prompt with our Codex Skills and docs MCP server so the agent can look up Codex queries on demand instead of guessing at field names.

Getting help

  • Browse the API Reference for the full schema.
  • Skim the Recipes for end-to-end examples that solve specific product problems.
  • Ask in our community if you hit a wall during migration.