Skip to main content
Collecting a payment from a payer follows the same three steps regardless of the rail:
1

Get a quote

Convert the amount you want to receive (for example, USDC) into the local currency the payer will pay in.
2

Generate a payin code

Create the payin and render the returned qrCode. For BRL you also get a PIX copy-and-paste code (brCode); for BOB you get a raw QR payload (qrPayload).
3

Poll the payin status

Check the payin status until state reaches funds_received.
The examples below use the fetch API available in Node.js 18+ and modern browsers. Authenticate each request with your API key via the api-key header.
Shared setup
1

Get a quote

Quote how much BOB the payer pays for the USDC you want to receive.
2

Generate the payin code

Use the quoted BOB amount to generate the payin. The response includes a renderable qrCode and the raw qrPayload.
3

Poll the payin status

Poll until the payer completes the payment (state === "funds_received").
A payin code expires after the expireAt timestamp (30 minutes by default, 24 hours maximum). Generate a new payin code if the previous one expires before the payer pays.

Generate a Payin Code

Full request and response reference for creating a payin.

Get Payin Status

Look up the validity and state of a payin.