API Reference

The GoBTC Pay HTTP API is split into three surfaces, each for a different kind of integrator. All of them share the same base URL and the always-current, interactive reference:

Pick the surface that matches what you are building.

At a glance

SurfaceWho it's forAuthentication
Wallet APINon-custodial web3 wallets accepting and paying for purchasesBearer JWT from a key-signature challenge
Merchant APIThe merchant dashboard / back officeBearer JWT from dashboard login
POS APIA point-of-sale terminal taking paymentsPer-terminal HMAC request signature

Browse the endpoints

Every operation, generated from the OpenAPI specification and grouped by area:

Conventions

  • Every request and response body is application/json.
  • Every operation documents a 200 and a 500 response. The 500 body carries an error object with statusCode and statusMessage.
  • Idempotency: where an operation accepts your own correlation id (for example externalId on Create payment), reusing that id makes the call idempotent.
  • Timestamps are Unix seconds (createdAt, expiresAt, paidAt, and so on). The one exception is ts, the request-signing timestamp, which is in milliseconds.
Warning

Keep API keys and terminal keys server-side. If a key may have been exposed, rotate it from the dashboard: see Terminal details.

Prefer an SDK?

The POS API SDK wraps the POS surface, signs each request for you, and runs on both a server and in the browser.