Skip to main content

Endpoint

All history GraphQL traffic goes to a single endpoint:
Available globally at https://api.raze.bot/api/sol/graphql. GeoDNS routes the request to the nearest history host automatically.

Authentication

Same API key as the REST endpoints. Send it in the x-api-key header (or as Authorization: Bearer sk_...):

Interactive Playground (GraphiQL)

The History API serves a GraphiQL playground on GET /api/sol/graphql — open it directly in a browser: The UI is unauthenticated (static HTML only). To run queries, paste your API key into the Headers panel at the bottom:
Schema introspection, autocomplete, inline docs, and query history are all built in.

When to use GraphQL vs. REST

Batch token enrichment

tokens(mints: [String!]!) returns up to 500 deduplicated mints. Each item is a Token object — request only the nested fields you need:
  • deploy, priceChanges, tradingVolume(hours), metadata, holders(limit, fresh), supply, sniperBundleStats, topTraders(limit), ohlcv(...)
The server resolves each field with the same caches and backends as the matching REST routes. Your client sends one HTTP request; the server fans out work in parallel.

Trending board example

Leaderboards + per-mint enrichment in one query

Available Queries

The schema mirrors the REST surface. Top-level query fields include:
  • tradesByMint, tradesBySigner, tradesBySignerAndMint, tradingVolume — trades & volume (Trades)
  • topTokens(hours?, limit?, sort?, platform?) — ranked tokens (VOLUME or TXNS) (Tokens)
  • tokens(mints) — batch per-mint enrichment (Tokens, Trending board)
  • tokenMetadata, tokenHolders, tokenSupply, topTraders, sniperBundleStats — single-mint shortcuts
  • recentDeploys, deployByMint, recentMigrations, liveDeploys, liveMigrations, migratingDeploys — deploys & live board
  • searchTokens, stats, ohlcv, priceChanges, signerCounts — discovery & analytics
  • walletSummary, walletTokens, walletPerformance — wallets (Wallets)
  • fundingLookup, fundedBy, fundingChain, fundingCluster, holderEdges — funding graph (Funding)
  • pnlLeaderboard, pnlSummary, platformVolume, bondingStats — platform (Platform)
  • recentAlerts, topAlerts, alertsByMint, sentiment, latestSentiment — alerts & sentiment
  • perpMarkets, perpCandles, … — Jupiter Perps (Perpetuals)
Use GraphiQL (GET /api/sol/graphql) for the full introspected schema, autocomplete, and field docs. See each query’s dedicated page in this section for arguments and return shapes.

Pagination

All ...Connection return types use opaque cursor pagination identical to the REST endpoints. A response with hasMore: true includes a nextCursor string — pass it back as the cursor argument on the next call. Cursors encode (timestamp, signature) so pages are stable even when new rows arrive.

Errors

GraphQL always returns HTTP 200 when the request parses. Application errors appear under an errors array:
Auth errors still return HTTP 401 with the standard JSON body before the GraphQL layer is reached.