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

The stable public host https://api.blankfx.org/v1 is being provisioned as part of Phase 2. Today, the API is live on the sandbox host below — use it for all integration work.
Phase 1 issues bfx_test_ keys only, running against the Sepolia sandbox. bfx_live_ keys are gated behind Phase-2 hardening plus a security review.

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.
The full endpoint reference — all 27 endpoints 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.