API Keys

API Keys

Most read endpoints work without a key; images (token logos, NFT and collection images) need one. A key also raises your rate limits and tracks your usage.

Manage your API keys

Create a key

The dashboard is the easy way. From code, sign {address}:{timestamp} with your wallet and send the signature with the request:

POST /v1/keys
import { Wallet } from 'xrpl';
import { sign } from 'ripple-keypairs';

// the seed prefix decides the algorithm: sEd… is ed25519, any other s… is secp256k1
const wallet = Wallet.fromSeed(seed, { algorithm: seed.startsWith('sEd') ? 'ed25519' : 'ecdsa-secp256k1' });
const timestamp = Date.now().toString();
const signature = sign(Buffer.from(`${wallet.address}:${timestamp}`).toString('hex'), wallet.privateKey);

const res = await fetch('https://api.xrpl.to/v1/keys', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'X-Wallet': wallet.address,
    'X-Signature': signature,
    'X-Timestamp': timestamp,
    'X-Public-Key': wallet.publicKey
  },
  body: JSON.stringify({
    project: {
      name: 'My App',                 // 2-64 characters
      url: 'https://myapp.example',   // https only
      category: 'analytics',          // wallet | explorer | trading_bot | analytics | ai_agent | other
      description: 'What it does',    // 10-300 characters
      expectedDaily: '1k-10k',        // lt1k | 1k-10k | 10k-100k | 100k+
      contact: '@myapp'               // optional: an email or an X handle
    },
    agreePolicy: true
  })
});
const { apiKey } = await res.json(); // shown once — store it now
HeaderValue
X-WalletYour XRPL r-address
X-SignatureHex signature of message "{wallet}:{timestamp}"
X-TimestampUnix milliseconds timestamp (5 min validity window)
X-Public-KeyHex public key (always required for /user and /watchlist signed routes; optional for /keys routes after first on-ledger transaction)

Use a key

WhereHow
Header (recommended)X-Api-Key: xrpl_…
Query string?apiKey=xrpl_…
WebSocketwss://api.xrpl.to/ws/sync?apiKey=xrpl_…

Key endpoints