Skip to main content
The SURCHI REST API gives you programmatic access to the full breadth of on-chain data powering the SURCHI platform — token analytics, wallet PnL, AI-driven contract audits, and DEX liquidity routing across Ethereum, BNB Chain, Solana, Polygon, Base, Avalanche, and Arbitrum. Every response is a predictable JSON envelope, making it straightforward to integrate SURCHI data into trading bots, portfolio dashboards, security tooling, and any other application that depends on reliable blockchain intelligence.

Base URL

All API requests are made over HTTPS to the following base URL. HTTP requests are not supported.

Quick Start

Get up and running with your first API call in under two minutes.
1

Get your API key

Sign in to your account at surchi.xyz/dashboard and navigate to Settings → API Keys. Click Create New Key, give it a name, choose its scope, and copy the key. It is shown only once — store it somewhere safe immediately.
2

Make your first request

Use the examples below to query token data for wrapped SOL on Solana. Replace YOUR_API_KEY with the key you just copied.
3

Parse the response

Every successful response follows the standard envelope format described below. Read the data field for the payload you requested and the meta field for timing and context information.

Response Envelope

Every response from the SURCHI API — success or error — uses a consistent top-level envelope. This makes it easy to write generic response-handling logic across all endpoints.
When success is false, the envelope contains an error object instead of data. See the Errors reference for the full error format and code list.

Available Endpoints

Pagination

Endpoints that return lists use cursor-based pagination. This approach is stable under high-frequency data updates — unlike offset-based pagination, it won’t return duplicates or skip records when new items are inserted between requests. Include the limit query parameter to control page size (default: 20, maximum: 100). When there are more results, the response meta object includes a next_cursor string. Pass that value as the cursor query parameter on your next request to fetch the following page. When next_cursor is absent or null, you have reached the last page.

Rate Limits

Every API key is subject to per-minute rate limits based on your plan. When you exceed your limit, the API returns HTTP 429 with a Retry-After header indicating how many seconds to wait before retrying. The following headers are included on every response so you can monitor your consumption in real time: For retry logic and rate limit handling patterns, see the Errors reference. For details on plan-level security and infrastructure, see the Security page.
API versioning: The current version, v1, is stable. SURCHI will never introduce breaking changes within v1. When incompatible changes are required, they will be released under a new version prefix (e.g. /v2/), and v1 will continue to be supported with advance deprecation notice.

POST /v1/alerts

Create a price or activity alert for a token or wallet. When the specified condition is met, SURCHI sends a notification to your configured webhook URL. Requires the write:alerts scope on your API key.

Request Body

Example Request

Example Response

For full details on the webhook payload format and event types, see the Webhooks Overview and Webhook Events reference.

GET /v1/networks

Returns the complete list of blockchain networks currently supported by the SURCHI API, along with their status and supported features. Use this endpoint to programmatically discover available networks and check for any degraded services before making queries.

Parameters

This endpoint takes no query parameters.

Example Request

Example Response

Response Fields

Cache the /v1/networks response for up to 5 minutes. Network status changes infrequently, and polling this endpoint more often than necessary consumes rate limit quota. For real-time status updates, check status.surchi.xyz.