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
| Environment | Base URL |
|---|---|
| Production | https://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
- Create an account at https://www.truemarkets.co (passkey, email, magic link, or Sign in with Apple).
- 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). - Mint JWTs by calling
POST /v1/auth/api-key/tokenwithkey_id, a currenttimestamp(Unix seconds, within ±30s of server UTC time), andsignature— an ES256 (ECDSA P-256 + SHA-256) signature of the message{key_id}.{timestamp}, base64url-encoded. The response returnsaccess_tokenandrefresh_token. - Call the Account API with
Authorization: Bearer <access_token>. - Refresh expired access tokens via
POST /v1/auth/token/refreshwith therefresh_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
- HTTP: Bearer Auth
JWT access token obtained from authentication endpoints
Security Scheme Type: | http |
|---|---|
HTTP Authorization Scheme: | bearer |
Bearer format: | JWT |