Skip to main content
This guide takes you from zero to your first authenticated Bloobank API call in about five minutes: verify connectivity and clock, list your wallets with a signed request, then create a PIX cash-in payment order.

Prerequisites

  • An ECDSA secp256k1 key pair generated on your infrastructure, with the public half registered with Bloobank — see Generate your keys.
  • Your Access Key, issued by your Bloobank integration contact during onboarding.
  • Node.js 18+ for the examples below. Other languages work identically — see Code examples.

Step 1 — Check connectivity and clock

The GET /time endpoint requires no authentication, so it is the fastest way to confirm you can reach the API — and that your clock is usable for signing:
Compare epochMs with your local clock (Date.now() in Node.js). Signed requests are rejected when X-Access-Timestamp drifts more than ±10 seconds from server time, so if the offset is more than a couple of seconds, enable NTP before continuing — see Date & time.

Step 2 — Sign and send your first request

Every authenticated request carries four headers and an ECDSA secp256k1 signature over a canonical string (full reference: Sign a request).
The base URL is host-only: https://txengine.bloobank.com. The signed {pathname} includes the /txengine/v1 prefix — for example /txengine/v1/wallets — and is the same path you append to the base URL.
The self-contained client below signs and sends GET /txengine/v1/wallets:
A 200 response with an items array means authentication works end to end. If you get 401 SIGNATURE_INVALID or TIMESTAMP_SKEW_EXCEEDED, walk through Troubleshooting.

Step 3 — Create a PIX cash-in payment order

Reuse the same signer to create an inbound (cash-in) PIX order. Replace production-main with one of the wallet names returned in Step 2:
Field notes:
  • direction: "IN" — cash-in: money flows into the wallet.
  • idempotencyKey — a client-supplied key that makes the request safe to retry; the (wallet, idempotencyKey) tuple is unique. See Idempotency.
  • amount — always integer minor units of currency (cents for BRL). See Amounts & currency.
  • currency — the asset code (BRL here).
The response is 201 Created with status: "PENDING". The instrument carries the qrcode and copypaste payloads you render to the payer, and a webhook delivery brings you the full order once it settles — the full flow is in Pix cash-in.

What’s next

Sign a request

The normative reference for the canonical string and the four headers.

Pix cash-in

Receive a PIX payment end to end — QR rendering and reconciliation.

Pix cash-out

Send PIX payments, including the approval step for outbound orders.

Webhooks

Receive and verify settled payment orders by push instead of polling.