Getting Started

Get a Triport API key and make your first multi-chain JSON-RPC call in under five minutes.

Network
Any network in the registry
Authentication
x-token header (recommended); see Authentication for other forms
Tier / rate limit
Any tier (free 7-day trial works); see Rate Limits

Overview

Triport is a multi-chain RPC platform. You send standard JSON-RPC requests to a single base URL and Triport routes them to the right network backend, applies your tier's rate limits, and returns the upstream result unchanged.

All requests go to a single base URL:

EnvironmentBase URL
Productionhttps://triport.io

This page walks you from zero to a verified Solana getBalance response.

1. Get an API key

  1. Sign in to the Triport billing portal.
  2. Create a project — this issues a static API key (it looks like tri_live_…).
  3. Every new account starts on the Free plan, a 7-day trial (EU region only). It is a trial, not a permanent plan: no credit card is required to start, and when it ends you choose a paid plan to keep the key working, with more requests-per-second and multi-region routing on the higher tiers. See Rate Limits for the full tier matrix.

Keep your key secret. Throughout this guide it is referenced as the environment variable $TRIPORT_API_KEY:

export TRIPORT_API_KEY="tri_live_your_key_here"

2. Make your first request

The recommended way to send your key is the x-token header. Send a standard JSON-RPC 2.0 body to the base URL with your network's path.

Here is a Solana getBalance request against production:

curl https://triport.io/sol \
  -H "x-token: $TRIPORT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "getBalance",
    "params": ["vines1vzrYbzLMRdu58ou5XTby4qAqVRLmqo36NKPTg"]
  }'

3. Read the response

A successful call returns the upstream JSON-RPC result verbatim. For getBalance, the balance (in lamports) is under result.value:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "context": { "slot": 268420690 },
    "value": 11110795
  }
}

That's it — you're live. Every other method works the same way: swap the method/params, and (for other chains) the path.

What the path means

Use the registry-derived endpoint in the generated first-call examples below.

Base

Base mainnet (8453) uses POST https://triport.io/rpc/base with your key in x-token, scope base:rpc. See the Base reference.

Authentication, briefly

x-token is the recommended header, but Triport accepts your key in several forms, tried in this priority order:

  1. x-token: <key> header — preferred.
  2. Authorization: Bearer <key> header — standard Bearer scheme.
  3. ?api-key=<key> query parameter — legacy.
  4. Path form /<chain>/<key> — works only for tri_live_* API keys.

Full details, including when to use each, are on the Authentication page.

Rate limits, briefly

Triport rate-limits by sustained requests-per-second, scoped to your tier and the request's category, with a global burst multiplier of 2×. There is no daily quota — only the per-second budget.

Rate-limit state is reported on responses via these headers:

HeaderMeaning
X-RateLimit-LimitAllowed RPS for your tier + category
X-RateLimit-RemainingRemaining capacity in the current 1s window
X-RateLimit-ResetUNIX timestamp when the window resets
X-RateLimit-CategoryCategory bucket charged for this request

When you exceed your budget you get an HTTP 429 with a Retry-After header. See Rate Limits for per-tier numbers.

Handling errors

Errors come back as a JSON envelope with a machine-readable error code and a human message. The common ones during onboarding:

HTTPerrorWhen it happens
401unauthorizedMissing or invalid key
401trial_expiredYour free 7-day trial ended
403tier_insufficientMethod requires a higher tier
403method_unknownMethod not part of that chain's product
429rate_limitedSustained RPS exceeded

See the Errors page for the full envelope and the typed error schemas.

Examples

JavaScript (fetch)

const res = await fetch("https://triport.io/sol", {
  method: "POST",
  headers: {
    "x-token": process.env.TRIPORT_API_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    jsonrpc: "2.0",
    id: 1,
    method: "getBalance",
    params: ["vines1vzrYbzLMRdu58ou5XTby4qAqVRLmqo36NKPTg"],
  }),
});


const { result } = await res.json();
console.log("lamports:", result.value);

Next steps

  • Authentication — every supported auth form and when to use it.
  • Rate Limits — per-tier RPS budgets, burst behavior, and the rate-limit headers.
  • Errors — the full error envelope and typed error schemas.
  • Base — Base mainnet JSON-RPC, WebSocket and Flashblocks.
  • Sending Solana transactions — the direct endpoint https://fra.triport.io/sol (no Cloudflare) for sendTransaction, with https://triport.io/sol as the fallback.
  • Browse the per-network hubs and method references to find the call you need.

Solana

curl -sS 'https://triport.io/sol' -H 'Content-Type: application/json' -H "x-token: $TRIPORT_API_KEY" --data '{"jsonrpc":"2.0","id":1,"method":"getSlot","params":[]}'

Ethereum

curl -sS 'https://triport.io/eth' -H 'Content-Type: application/json' -H "x-token: $TRIPORT_API_KEY" --data '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}'

Polygon

curl -sS 'https://triport.io/polygon' -H 'Content-Type: application/json' -H "x-token: $TRIPORT_API_KEY" --data '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}'

BNB Smart Chain

curl -sS 'https://triport.io/rpc/bsc' -H 'Content-Type: application/json' -H "x-token: $TRIPORT_API_KEY" --data '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}'

Base

curl -sS 'https://triport.io/r/{key}/rpc/base' -H 'Content-Type: application/json' -H "x-token: $TRIPORT_API_KEY" --data '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}'

Tron

curl -sS 'https://triport.io/rpc/tron' -H 'Content-Type: application/json' -H "x-token: $TRIPORT_API_KEY" --data '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}'

Robinhood Chain

curl -sS 'https://triport.io/rpc/robinhood' -H 'Content-Type: application/json' -H "x-token: $TRIPORT_API_KEY" --data '{"jsonrpc":"2.0","id":1,"method":"eth_blockNumber","params":[]}'

Stellar

curl -sS 'https://triport.io/rpc/stellar' -H 'Content-Type: application/json' -H "x-token: $TRIPORT_API_KEY" --data '{"jsonrpc":"2.0","id":1,"method":"getHealth","params":{}}'

TON

curl -sS 'https://triport.io/rpc/ton' -H 'Content-Type: application/json' -H "x-token: $TRIPORT_API_KEY" --data '{"jsonrpc":"2.0","id":1,"method":"getMasterchainInfo","params":{}}'