Rate Limits

Understanding API request limits and monthly transaction quotas across all plans.

Monthly Transaction Limits

Each plan includes a monthly transaction allowance. Only successful transaction creations count — failed requests, test transactions, and market data calls do not.

Counts toward limit
Successful POST /transactions/create and POST /transactions/create-detailed calls
Does not count
Failed requests, test mode (sk_test_) transactions, GET calls, market data, and authentication checks

Overage Billing

When your monthly allowance is exhausted, each additional transaction deducts an overage fee from your GriffNode account balance. Keep your balance topped up to ensure uninterrupted service.

If your balance is insufficient to cover the overage fee, transaction creation returns 402 Payment Required. Top up in Dashboard → Billing.
402 — Insufficient balance for overage
{
  "success": false,
  "error": "INSUFFICIENT_BALANCE",
  "message": "Overage fee of $0.0100 required (over monthly limit). Available balance: $0.00. Top up your account to continue."
}

IP-Based Throttling

Server-side secret keys (sk_live_ / sk_test_) are not subject to per-IP throttling. You can make as many API calls as your plan or overage balance permits.

Best Practices

Check GET /transactions/list before creating a transaction server-side if a duplicate might already exist.
Cache exchange rates from GET /prices — rates refresh periodically, not on every API call.
Monitor your monthly usage in the Dashboard to avoid unexpected limit hits or overage charges.