Authentication
Partner API uses a two-step handshake:- You sign a short assertion JWT with your Ed25519 private key
- Auth returns a short-lived access token (EdDSA, IMBA keys)
- You call Partner API with
Authorization: Bearer <access_token>
Assertion → access token
Assertion claims
Access token
Never send
partner_id in the body or URL.
Scopes
Matching: exact scope, or area wildcard like
cards:* (covers cards:issue).*:* is not a valid grant. Credentials without explicit money scopes get read-only defaults only (balance:read, deposit_address:read, document:read, reconciliation:read).
Key rotation
- Generate a new Ed25519 keypair and register a new
kid - Start signing assertions with the new key
- Ask IMBA to revoke the old
kid(revoked_at)
Tenant access state
Even with a valid JWT, a blocked or inactive tenant contract receives403. Contact support if access was revoked unexpectedly.