Bank Details

Regulatory Context

❗️

For IGaming Only

Banking details only affect IGaming operators. Lotteries and Capitalization clients are not affected.

In compliance with Portaria Normativa SPA/MF nº 615, all cash-in and cash-out operations must involve banking details that are validated and tied to the bettor. This ensures:

  1. Funds are transferred between accounts registered under the same individual.
  2. A clear audit trail for regulatory and anti-fraud purposes.

Understanding the Banking Details

In financial transactions, particularly in regulated markets, providing accurate and complete banking details is critical. Below is an explanation of key fields required for cash-in and cash-out operations:

📘

ISPB (Identifying Number of the Banking Institution)

A unique code assigned to each bank or financial institution by the Central Bank of Brazil.

Banco do Brasil’s ISPB is 00000000

Nubank's ISPB is 26007222

Find ISPB codes here.

📘

Branch Number (Agência)

The branch identifier within a financial institution.

Example: For a Banco do Brasil branch, it might be 1234

📘

Account Number

The unique identifier of the customer’s account within the branch.

Example: 56789

📘

Digit (Dígito Verificador)

A verification number used to ensure the accuracy of the account number.

Example: Account 56789-0 where 0 is the digit.


Why Bank Info is Necessary

❗️

IMPORTANT

The inclusion of banking details in transactions serves for cash-in and cash-out validations.

If banking details are not included in the payment payload, verification is skipped.

Integration Bank Account errors will generate InvalidPayerBankFromPayment message

For Cash-In

Ensures that the payer (the individual initiating the payment) is the same individual as the QR Code generated, by validating CPF AND bank account details.

Example: If a bettor generates a QR Code for payment using account 56789-0 at Banco do Brasil, the same account must be used for the QRCode payment.

For Cash-Out

Validates recipient information against the PIX key via the Brazilian central system (DICT). If discrepancies between payload and PIX-returned data occur, the transaction is flagged.

Example: If a cash-out is directed to account 98765-1 at Nubank, the system verifies that this account matches the PIX key provided, refund will be later required.

📘

Account digit in Cash out's

The conversion of cashout requests exclusively via bank account details mandatorily requires the account digit. If the digit field is not provided, the operation will fail.

On the other hand, for cashout requests made using a PIX key, the digit field is not necessary, as the transaction is directly linked to the key registered in the banking system.

Post-Transaction Validation

After a transaction is complete, the system checks for consistency between cash-in and cash-out details.

Any mismatch results in a reversal to protect all parties involved.


Example Payloads

Cash-In "PAYER" example

"payer": {  
  "name": "João Silva",  
  "cpf": "12345678900",  
  "account": {  
    "ispb": "00000000",  
    "branch": "1234",  
    "number": "56789",  
    "digit": "0"  
  }  
}

Cash-OUT "RECIPIENT" example

❗️

IMPORTANT

Below you can find one valid sandbox payload. Production uses real data, but sandbox only uses dummy data.

If banking details are not included in the payment payload, verification is skipped.

"recipient": {  
  "name": "JOHN JOHN PAYBROKERS",   //Fake name
  "cpf": "92993815857",  // Generated CPF https://www.4devs.com.br/gerador_de_cpf
  "account": {  
    "ispb": "999", // Dummy Data for testing
    "branch": "99999", // Dummy Data for testing
    "number": "99999", // Dummy Data for testing
    "digit": "1" // Dummy Data for testing
  }  
}