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 returns403 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.