Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.relayer.fi/llms.txt

Use this file to discover all available pages before exploring further.

The Relayer API is a single REST surface. Every endpoint has its own page in the sidebar with an interactive playground that hits the live sandbox or production environment.

Environments

https://testnet.relayer.fi/v1
Use the sandbox for development. Same endpoints, same payloads — testnet wallets, no real fiat.
The playground in the sidebar lets you switch between environments per request.

Authentication

The API supports three authentication modes. Which one you use depends on who is calling.

API Key

Your backend → Relayer. Authorization: ApiKey rk_...

Agent HMAC

Agent SDK → Relayer. Four headers, HMAC-SHA256 signature.

Session JWT

Browser → Relayer dashboard. Authorization: Bearer <jwt>
See Authentication for the full matrix, header formats, and security best practices.

Response envelope

Every response — success or error — uses the same shape so your client can always extract the same fields.
{
  "success": true,
  "message": "Wallet created",
  "data": {
    "walletId": "wallet_abc123",
    "name": "My Wallet",
    "createdAt": "2026-05-15T12:00:00.000Z"
  },
  "statusCode": 201,
  "timestamp": "2026-05-15T12:00:00.000Z",
  "path": "/v1/signing/wallets/confirm"
}
For the full error catalog (status codes, common business errors, retry guidance), see Error Reference.

Idempotency

Mutation endpoints that can be retried safely accept an Idempotency-Key header:
Idempotency-Key: <your-uuid-v4>
We store the result for 24 hours. Retrying the same key returns the original response without re-executing the side effect. Endpoints that are idempotent by design (no key needed) are marked in their summary — e.g. POST /v1/payout/offramp/withdraw-addresses returns the existing record on conflict.

Rate limits

TierLimit
Standard endpoints100 requests/minute per API key
Financial endpoints (signing, payouts)20 requests/minute per API key
When exceeded, the API returns 429 Too Many Requests. Back off with exponential delay (1s, 2s, 4s, 8s) and retry.

How endpoints are organized

The sidebar groups endpoints by resource, not by Kit. If you want to read a wallet balance, you look under Wallets — not under “Balance” or “Platform”. If you want to assign a tool to an agent, you look under Agents → Tools. Every verb sits on its noun.

Wallets

Create, list, get, read balance, view activity.

Addresses

Generate addresses derived from a wallet’s root key.

Transactions

List pending, broadcast signed transactions, retry failures, cancel before broadcast.

Agents

Lifecycle, read, control, funding, runtime (HMAC), tools.

Widget Actions

Metadata generators + protocol/token catalog — what the Widget Kit consumes.

Beneficiaries

Recipient CRUD, invites, bank-account registration.

Global Payout

Quote → setup → execute the sandwich payment flow (off-ramp).

On-ramp

Fiat deposit accounts (virtual accounts, SPEI, etc.) for on-ramping.
For end-user flows that require a passkey ceremony (wallet creation, transaction signing, agent provisioning), see the Signing Kit, Agent Kit, and Widget Kit — those Kits cover the full UX.

Try it from the playground

Every endpoint page has an interactive playground on the right side:
1

Choose an environment

Switch between Sandbox and Production from the server dropdown above the request panel.
2

Enter your auth

Paste your API key into the Authorization field. It prefixes ApiKey automatically.
3

Fill the parameters

Path, query, and body parameters are auto-populated from the schema. Edit them inline.
4

Send

The response panel shows the real response, the status code, and copy-able cURL / language snippets for 17 languages (bash, Node.js, Python, Go, Java, Ruby, PowerShell, Swift, C#, .NET, TypeScript, Kotlin, Rust, Dart, C, C++, PHP).
The playground sends real requests. Use the sandbox while exploring — production calls move real money.

Use this documentation with AI

This documentation is MCP-ready. AI tools like Claude Code, Cursor, ChatGPT, and Windsurf can connect directly to it and query endpoints, params, and examples without leaving your terminal or editor.

Connect via MCP

Add Relayer docs to Claude Code, Cursor, or any MCP-compatible tool with one command.

Open this page in Claude / ChatGPT

Click the Ask AI button in the page header to send the current page as context to your preferred LLM.
The contextual menu (top of every page) also exposes Copy as Markdown, View as Markdown, and direct deeplinks to ChatGPT / Claude / Perplexity / Cursor / VS Code with the page content prefilled.

Get help