Access
Connect to the Indexer via direct ClickHouse, custom REST APIs, or Python ETL.
// updated 2026-06-04
Three ways to query the Indexer, picked by your workload.
Auth model: every request needs both HTTP Basic (database user / password) and the x-token header. Missing or invalid x-token returns 403 Forbidden.
How to get credentials
v1 access is request-based, not self-service. We provision manually after review.
- 1Submit a request
Request access via Telegram: @supanode_tgs.
- 2Receive credentials
After review, we issue your
x-tokenplus database username and password. - 3Connect
Use those credentials with the connection details below.
Pick your access path
Full SQL, your own queries, scheduled jobs.
Recurring queries deployed as stable endpoints.
Batch jobs, materialized aggregates, warehouse pushes.
Direct ClickHouse
Connection details
| Property | Value |
|---|---|
| Host | soldata.supanode.xyz |
| Port | 29001 |
| Protocol | HTTPS / TLS 1.2+ |
Authentication layers
Two layers required on every request:
- Database credentials - HTTP Basic Auth (
user/password). - API token -
x-tokenheader.
First connection (curl)
- 1Run the test query
curl -H "x-token: YOUR_TOKEN" \ 'https://soldata.supanode.xyz:29001/?user=YOUR_USER&password=YOUR_PASSWORD' \ -d "SELECT version(), now(), 'Connect Success' as status" - 2Verify response
If you get rows back, your connection and both auth layers are working.
Code samples
import { createClient } from '@clickhouse/client';
const client = createClient({
url: 'https://soldata.supanode.xyz:29001',
username: 'YOUR_USER',
password: 'YOUR_PASSWORD',
http_headers: { 'x-token': 'YOUR_TOKEN' },
tls: { rejectUnauthorized: false },
});
const result = await client.query({
query: `
SELECT signature, slot, signing_wallet, fee_paid
FROM pumpfun_all_swaps
WHERE block_date_utc = today()
ORDER BY slot DESC
LIMIT 10
`,
format: 'JSONEachRow',
});
console.log(await result.json());
Custom REST API
For specific recurring queries you don't want to write each time, we deploy custom REST endpoints.
You define what data you need (which tables, what filters, what aggregations); we deploy a stable URL that returns it. Useful for dashboards, partner integrations, and AI-agent workflows.
When to pick this over direct ClickHouse: the same query runs over and over from many places, or non-engineers need access without learning SQL.
To request a custom REST API, contact us with:
- The query (or a sketch of what you need).
- Expected request volume.
- Authentication preference (
x-token, public, OAuth - we can do most).
Contact: @supanode_tgs.
Python ETL flows
For batch transformations and scheduled aggregations beyond simple queries, we build custom Python ETL on top of the database.
Examples:
- Daily aggregates pushed to your warehouse.
- Custom indicators computed and stored as new tables.
- Cross-protocol joins materialized for low-latency reads.
Same contact path: @supanode_tgs.
See also
All tables and columns.
Precision arrival data.