Crypto-Relevant Permissions
For most Yativo Crypto server integrations, you’ll want
read, write, and transactions at minimum.
Create an API Key
POST/apikey/create
string
required
Current 6-digit TOTP code from your authenticator app.
string
required
A descriptive name (e.g., “Crypto Backend — Production”).
array
required
Array of permission scopes.
number
Days until expiry. Omit for a non-expiring key.
cURL
Response
Authenticate with an API Key
Method 1: Exchange for Bearer token (recommended for production)access_token as Authorization: Bearer {token} on all subsequent requests. Refresh it before expiry using the same endpoint.
Method 2: Header-based (for simpler integrations)
Server-to-Server Pattern
Here’s a complete server-to-server setup using the Bearer token method with auto-refresh:Key Management
For full endpoint documentation, see the API Keys reference.
Best Practices for Crypto Integrations
Use separate keys per environment
Use separate keys per environment
Create dedicated API keys for sandbox and production. Never use a production key for testing.
Scope permissions minimally
Scope permissions minimally
A key used only for reading balances and transaction history should only have
read. Only grant transactions to services that actually initiate transfers.Rotate keys on a schedule
Rotate keys on a schedule
Rotate API secrets periodically (e.g., every 90 days) and immediately if you suspect a key has been exposed. The
rotate endpoint generates a new secret without requiring you to delete and recreate the key.Store secrets in environment variables
Store secrets in environment variables
Never hardcode API keys in source code. Use environment variables or a secrets manager and inject at runtime.

