Download OpenAPI specification:Download
Staging Environment: https://seamless.stg.lbpay.com.br/
Production Environment: Provided once you complete the testing
This document provides the technical specifications for integrating with our PIX API, designed for iGaming platforms. Follow the guidelines below to ensure a successful implementation.
| Controller | Description |
|---|---|
| Pix-In | Core endpoints for creating and retrieving player deposit transactions. |
| Pix-Out | Core endpoints for initiating and querying player withdrawal transactions. |
| Pix Refund | Endpoints used to return funds from previously completed deposits. |
| Internal Transfer | Endpoints that manage wallet‑to‑wallet transfers within the operator’s environment. |
| Webhook | Endpoints used to configure callback URLs and receive asynchronous notifications from the platform. |
| Balance | Endpoints for querying account balances, including real-time and closing-day balances. |
Webhook configuration and management can be handled through the Webhook endpoints available in this API.
Our notification system includes automatic retry logic. However, to ensure full reconciliation of events, we strongly recommend maintaining a fallback polling mechanism to retrieve any undelivered status updates in the event your service becomes temporarily unavailable.
POST /v1/pix/deposit endpoint.
4. The player scans the QR Code or pastes the payload into their banking app to complete the payment.
5. Our platform processes the transaction and sends a real-time webhook notification to the operator with the final status.
6. Upon receiving the notification, the operator immediately credits the player’s gaming wallet.
POST /v1/pix/withdraw endpoint, including the Pix key and the requested amount.
4. Our API processes the Pix cash-out and transfers the funds to the player’s bank account within seconds.
5. A real-time webhook notification is sent to the operator confirming the successful settlement of the withdrawal.
expiration parameter (either platform default or operator-defined).
If a player attempts to pay a Pix charge after its expiration time has elapsed, the issuing bank will reject the payment immediately at the banking-app level. No funds will be transferred to the processor or to the operator.
During integration in the Staging Environment, you may use the mock CPF values listed below to simulate various validation and compliance scenarios. These tests do not involve real funds and are intended solely for development purposes:
| Test CPF | Simulated Scenario |
|---|---|
123.456.789-09 |
Simulates a fully successful and valid transaction. |
051.375.187-43 |
Simulates a failure due to “Deceased” CPF status. |
211.115.937-95 |
Simulates a failure due to “Minor” (underage) status. |
222.333.444-55 |
Simulates a generic mismatch or rejection scenario. |
These test values allow you to verify business logic, error handling, and webhook reception without any financial impact.
Endpoint to create an immediate charge for iGaming. The txId must be generated by the PSP.
Pix Deposit data
| amount required | integer Amount in cents, must be positive |
| description | string <= 140 characters |
object (dtos.ExpectedPayer) | |
| expiresIn required | integer Expiration in seconds |
| externalId required | string Must be an valid uuidv4 |
object | |
| pixKey required | string <= 77 characters |
{- "amount": 0,
- "description": "string",
- "expectedPayer": {
- "bankAccounts": [
- {
- "accountNumber": "string",
- "accountType": "SLRY",
- "bankCode": "string",
- "branchCode": "string",
- "personType": "NATURAL_PERSON"
}
], - "name": "string",
- "taxId": "string"
}, - "expiresIn": 86400,
- "externalId": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}, - "pixKey": "string"
}{- "amount": 0,
- "brCode": "string",
- "chargeId": "string",
- "createdAt": "string",
- "description": "string",
- "expectedPayer": {
- "bankAccounts": [
- {
- "accountNumber": "string",
- "accountType": "SLRY",
- "bankCode": "string",
- "branchCode": "string",
- "personType": "NATURAL_PERSON"
}
], - "name": "string",
- "taxId": "string"
}, - "expiresAt": "string",
- "externalId": "string",
- "pixKey": "string",
- "status": "PENDING"
}Endpoint to query a specific immediate charge by its ChargeID.
| chargeId required | string deposit chargeId (UUIDv4) |
{- "amount": 0,
- "brCode": "string",
- "chargeId": "string",
- "createdAt": "string",
- "debtor": {
- "accountNumber": "string",
- "accountType": "SLRY",
- "bankCode": "string",
- "branchCode": "string",
- "name": "string",
- "personType": "NATURAL_PERSON",
- "taxId": "string"
}, - "description": "string",
- "expectedPayer": {
- "bankAccounts": [
- {
- "accountNumber": "string",
- "accountType": "SLRY",
- "bankCode": "string",
- "branchCode": "string",
- "personType": "NATURAL_PERSON"
}
], - "name": "string",
- "taxId": "string"
}, - "expiresAt": "string",
- "externalId": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}, - "paidAt": "string",
- "pixKey": "string",
- "pixTransaction": {
- "endToEndId": "string",
- "transactionId": "string"
}, - "status": "PENDING"
}Initiates a PIX transfer (cash-out) to the player's bank account (ISPB + account details).
Withdrawal data
| amount required | integer Amount in cents, must be a positive number |
required | object (dtos.Creditor) |
| description | string <= 140 characters |
| externalId required | string [ 1 .. 36 ] characters Must be an valid uuidv4 |
object |
{- "amount": 0,
- "creditor": {
- "accountNumber": "string",
- "accountType": "SLRY",
- "bankCode": "string",
- "name": "string",
- "personType": "NATURAL_PERSON",
- "taxId": "string"
}, - "description": "string",
- "externalId": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}
}{- "amount": 0,
- "createdAt": "string",
- "externalId": "string",
- "status": "INITIATED",
- "transactionId": "string"
}Initiates a PIX transfer (cash-out) to the player's registered PIX key.
Withdrawal data
| amount required | integer Amount in cents, must be an positivi number |
| description | string <= 140 characters |
object (dtos.ExpectedCreditor) | |
| externalId required | string [ 1 .. 36 ] characters Must be an valid uuidv4 |
object | |
| pixKey required | string <= 77 characters |
{- "amount": 0,
- "description": "string",
- "expectedCreditor": {
- "bankAccounts": [
- {
- "accountNumber": "string",
- "accountType": "SLRY",
- "bankCode": "string",
- "branchCode": "string",
- "personType": "NATURAL_PERSON"
}
], - "name": "string",
- "taxId": "string"
}, - "externalId": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}, - "pixKey": "string"
}{- "amount": 0,
- "createdAt": "string",
- "externalId": "string",
- "status": "INITIATED",
- "transactionId": "string"
}Retrieves the details of a specific withdrawal transaction by its ID.
| externalId required | string Withdraw externalId (UUIDv4) |
{- "amount": 0,
- "createdAt": "string",
- "creditor": {
- "accountNumber": "string",
- "accountType": "SLRY",
- "bankCode": "string",
- "name": "string",
- "personType": "NATURAL_PERSON",
- "taxId": "string"
}, - "endToEndId": "string",
- "errorCode": "ACCOUNT_MISMATCH",
- "errorDescription": "string",
- "expectedCreditor": {
- "bankAccounts": [
- {
- "accountNumber": "string",
- "accountType": "SLRY",
- "bankCode": "string",
- "branchCode": "string",
- "personType": "NATURAL_PERSON"
}
], - "name": "string",
- "taxId": "string"
}, - "externalId": "string",
- "initiationType": "PIX_KEY",
- "settlementDateTime": "string",
- "status": "INITIATED",
- "transactionId": "string",
- "updatedAt": "string"
}Retrieves the details of a specific PIX refund by its externalId.
| externalId required | string Customer-defined identifier submitted when a refund was initiated. |
{- "amount": 0,
- "canBeReversedUntil": "string",
- "createdAt": "string",
- "creditor": {
- "accountNumber": "string",
- "accountType": "string",
- "bankCode": "string",
- "branchCode": "string",
- "name": "string",
- "personType": "string",
- "taxId": "string"
}, - "errorCode": "string",
- "errorDescription": "string",
- "externalId": "string",
- "leftAmount": 0,
- "originalAmount": 0,
- "originalEndToEndId": "string",
- "refundEndToEndId": "string",
- "settlementDateTime": "string",
- "status": "string",
- "totalReversedAmount": 0,
- "transactionId": "string",
- "updatedAt": "string"
}Initiates a PIX refund (reversal) for a received transaction identified by its original End-to-end ID.
| originalEndToEndId required | string Original End-to-end ID of the original PIX transaction (32 alphanumeric characters) |
Refund data
| amount | string |
| description | string |
| externalId | string |
{- "amount": "string",
- "description": "string",
- "externalId": "string"
}{- "amount": "string",
- "description": "string",
- "externalId": "string",
- "originalEndToEndId": "string",
- "refundEndToEndId": "string",
- "requestedAt": "string",
- "status": "string",
- "transactionId": "string"
}Initiates an internal funds transfer between accounts under the same ownership.
Transfer data
| amount | integer |
| description | string |
| externalId | string |
| toAccountNumber | string |
{- "amount": 0,
- "description": "string",
- "externalId": "string",
- "toAccountNumber": "string"
}{- "amount": "string",
- "externalId": "string",
- "requestedAt": "string",
- "status": "string",
- "transactionId": "string"
}Retrieves the details of a specific internal transfer by its external ID.
| externalId required | string Customer-defined identifier submitted |
{- "amount": 0,
- "createdAt": "string",
- "creditor": {
- "accountNumber": "string",
- "accountType": "string",
- "bankCode": "string",
- "branchCode": "string",
- "name": "string",
- "personType": "string",
- "taxId": "string"
}, - "errorCode": "string",
- "errorDescription": "string",
- "externalId": "string",
- "status": "string",
- "transactionId": "string",
- "updatedAt": "string"
}Endpoint to create/update webhook
| pixKey required | string PIX key to register a webhook for |
webhook data
| accountNumber required | string |
object (dtos.WebhookAuthDTO) | |
| authenticationType | integer <int32> Enum: 0 1 Authentication type: 0 = Basic authentication 1 = Bearer authentication |
| events | Array of strings Possible events: pix.received pix.payment.completed pix.payment.failed pix.refund.completed |
| pixKey required | string |
| type | integer <int32> Enum: 0 1 2 Webhook type: 0 Pix In webhook 1 Pix Out webhook 2 Pix Refund webhook |
| url required | string |
| webhookPassword | string |
| webhookUserName | string |
{- "accountNumber": "string",
- "authentication": {
- "token": "string",
- "type": "bearer"
}, - "authenticationType": 0,
- "events": [
- "string"
], - "pixKey": "string",
- "type": 0,
- "url": "string",
- "webhookPassword": "string",
- "webhookUserName": "string"
}{- "active": true,
- "authentication": {
- "type": "string"
}, - "createdAt": "string",
- "updatedAt": "string",
- "validated": true,
- "webhookEvents": [
- "string"
], - "webhookUrl": "string"
}Endpoint to display information about a specific webhook
| pixKey required | string PIX key of the webhook |
{- "active": true,
- "authentication": {
- "type": "string"
}, - "createdAt": "string",
- "updatedAt": "string",
- "validated": true,
- "webhookEvents": [
- "string"
], - "webhookUrl": "string"
}Retrieve the closing balance for an account on a specific reference date
| dateRef required | string Example: dateRef="2026-03-20" Reference date (YYYY-MM-DD format) |
{- "accountNumber": "123456",
- "availableBalance": 1000000,
- "currency": "BRL",
- "dateRef": "2026-03-20",
- "lastUpdated": "2026-03-21T00:00:00Z",
- "pendingBalance": 500000,
- "totalBalance": 1500000
}Retrieve the real-time balance for an account directly from the ledger
{- "accountNumber": "123456",
- "availableBalance": 1450000,
- "currency": "BRL",
- "lastUpdated": "2026-03-21T14:30:00Z",
- "pendingBalance": 50000,
- "totalBalance": 1500000
}Retrieve a paginated daily consolidated summary filtered by date range
| startDate required | string Start date (DateOnly format, e.g. 2024-01-01) |
| endDate required | string End date (DateOnly format, e.g. 2024-01-31) |
| page | integer >= 1 Page number (default: 1) |
| limit | integer [ 1 .. 100 ] Items per page (default: 10, max: 100) |
{- "accountNumber": "string",
- "currency": "string",
- "page": 0,
- "pageSize": 0,
- "summaries": [
- {
- "closingBalanceCents": 0,
- "currency": "string",
- "dateRef": "string",
- "depositsCount": 0,
- "lastUpdated": "string",
- "stale": true,
- "totalInCents": 0,
- "totalOutCents": 0,
- "withdrawalsCount": 0
}
], - "totalRecords": 0
}Retrieve a paginated list of account transactions filtered by date range
| startDate required | string Start date (RFC3339 format, e.g. 2024-01-01T00:00:00Z) |
| endDate required | string End date (RFC3339 format, e.g. 2024-01-31T23:59:59Z) |
| page | integer >= 1 Page number (default: 1) |
| limit | integer [ 1 .. 100 ] Items per page (default: 10, max: 100) |
| transactionType | string Filter by transaction type (e.g. deposit, withdrawal) |
| productType | string Filter by product type (e.g. traditionalPix, internalTransfer) |
{- "accountNumber": "string",
- "amount": 0,
- "bankName": "string",
- "endtoEndId": "string",
- "metadata": {
- "property1": "string",
- "property2": "string"
}, - "name": "string",
- "page": 0,
- "pageSize": 0,
- "productTransactionId": "string",
- "settlementDateBRT": "string",
- "settlementDateTime": "string",
- "taxId": "string",
- "totalItems": 0,
- "totalPages": 0,
- "transactionType": "string",
- "transactions": [
- {
- "amount": 0,
- "direction": "string",
- "id": 0,
- "method": "string",
- "timestamp": "string",
- "type": "string"
}
]
}