Skip to main content

BlankFX Public API

Programmatic, non-custodial access to BlankFX. Read your account, move money, and trade FX across two rails — the AMM (gasless Permit2 relay) and RFQ (market-maker-backed escrow). BlankFX never holds your keys. Every value operation returns EIP-712 typed-data that you sign with your own registered wallet. We store only your public key.

Base URL

Every path in these docs is relative to the base URL. When you sign a request, sign the full path the server receives, starting with /public/v1/ (see Authentication).

Networks

Test keys move test tokens on Sepolia only. Call GET /currencies for the tokens your key can use.

Get started

Authentication

Create a key and sign every request with Ed25519.

Errors & limits

Error shape, idempotency, and rate limits.

FX trading

The non-custodial quote → accept → sign → submit flow.

Transfers

Cross-currency and same-currency sends.

Webhooks

Subscribe to settlement and payment events, and verify each delivery.

RFQ for market makers

Quote, sign, and settle firm quotes through the BlankFX RFQ escrow.
The full endpoint reference — 34 operations across Account, FX, Transfers, Payment links, Wallets, Contacts, and Webhooks — is generated from the OpenAPI spec and listed under Endpoints in the sidebar.

Scopes

Every key is minted with an explicit set of scopes. A call missing the required scope returns 403 insufficient_scope.
Non-custodial by design: BlankFX stores only your public key and never holds your signing keys or funds. Every value movement happens under a signature you produce locally.