Skip to main content
Version: 1.0.0

True Markets Account API

Account API for the True Markets platform — KYC verification, Paxos account setup, deposit addresses, wire instructions

Base URLs

EnvironmentBase URL
Productionhttps://api.truemarkets.co/v1/account
UAT (sandbox)https://api.uat.truemarkets.co/v1/account

UAT is the testing environment. It may require VPN/allowlist access for some integrations — contact [email protected] if requests time out from a public network.

Authentication

All endpoints require a JWT access token in the Authorization: Bearer <token> header.

Getting credentials

  1. Create an account at https://www.truemarkets.co (passkey, email, magic link, or Sign in with Apple).
  2. Register an API key in your account's API Keys settings page. Generate an EC P-256 key pair locally and submit only the public key — the private key never leaves your machine. You'll receive a key_id (UUID).
  3. Mint JWTs by calling POST /v1/auth/api-key/token with key_id, a current timestamp (Unix seconds, within ±30s of server UTC time), and signature — an ES256 (ECDSA P-256 + SHA-256) signature of the message {key_id}.{timestamp}, base64url-encoded. The response returns access_token and refresh_token.
  4. Call the Account API with Authorization: Bearer <access_token>.
  5. Refresh expired access tokens via POST /v1/auth/token/refresh with the refresh_token — no re-signing required.

Quick start

# Mint a JWT
curl -X POST https://api.truemarkets.co/v1/auth/api-key/token \
-H "Content-Type: application/json" \
-d '{"key_id":"<UUID>","timestamp":<UNIX_SECONDS>,"signature":"<BASE64URL_ES256_SIG>"}'

# List your crypto deposit addresses
curl https://api.truemarkets.co/v1/account/deposits/addresses \
-H "Authorization: Bearer <ACCESS_TOKEN>"

Support

Authentication

JWT access token obtained from authentication endpoints

Security Scheme Type:

http

HTTP Authorization Scheme:

bearer

Bearer format:

JWT