Skip to main content
Every Solami endpoint requires an API key. You create keys in the Dashboard and pass them with each request.

Key types

Each key type is scoped to a specific service. Using the wrong key type for an endpoint returns a 403 error.
An RPC Key authenticates requests to the JSON-RPC endpoint and WebSocket endpoint.
EndpointURL
RPChttps://rpc.solami.fast/sol?api_key=YOUR_KEY
WebSocketwss://rpc.solami.fast/ws/sol?api_key=YOUR_KEY
Use an RPC Key for all standard Solana JSON-RPC methods: fetching accounts, checking balances, sending transactions, and subscribing to account or program updates over WebSocket.See Solana RPC and WebSocket for endpoint details.

Passing your API key

You can pass your API key in two ways.

Query parameter

Append api_key to the request URL. This is the simplest method and works for all clients.
curl "https://rpc.solami.fast/sol?api_key=YOUR_API_KEY" \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"getSlot"}'

Authorization header

Pass the key in the Authorization header using the Bearer scheme. This keeps the key out of URLs and server logs.
curl "https://rpc.solami.fast/sol" \
  -X POST \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"getSlot"}'
For server-side code, store your key in an environment variable and read it at runtime. Never hardcode API keys in source files or commit them to version control.
export SOLAMI_API_KEY=your_key_here
The Rust SDK reads SOLAMI_API_KEY automatically via solami::from_env().

Rate limits

Rate limits are applied per API key, measured in requests per second (RPS).
PlanRPSsendTransaction / s
Free51
Dev505
Pro20020
Ultra50050
Shared Metal2000200

HTTP 429 — rate limit exceeded

When you exceed your plan’s RPS limit, the API returns an HTTP 429 Too Many Requests response.
{
  "error": {
    "code": 429,
    "message": "Rate limit exceeded. Slow down your request rate or upgrade your plan."
  }
}
If you’re hitting 429 frequently, you have two options:
  • Implement retry logic — back off and retry after a short delay.
  • Upgrade your plan — move to a higher tier for a larger RPS allowance.
Sustained bursts that far exceed your limit may result in temporary key suspension. Add exponential backoff to your retry logic to avoid this.
See Plans for a full comparison of rate limits and features across tiers.

Managing keys

Create, rotate, and revoke API keys from Dashboard → API Keys. For step-by-step instructions, see the API Keys guide.
Rotating a key immediately invalidates the old one. Update any services using the old key before rotating.