Skip to content
Last updated

Smart Transfers overview

No Sandbox environment

Smart Transfers isn't available in Sandbox at the moment. To test your integration, use Production with real accounts.

With Belvo's Smart Transfers, your user gives you a single authorization at their bank, and you can then make multiple Pix transfers from their account into another account they hold. You trigger each transfer whenever you need to, without sending the user back to their bank, as long as it stays within the limits the user approved.

Smart Transfers is built on Open Finance Brasil's Transferências Inteligentes (sweeping accounts) journey. In the Belvo API it is the PIX_OF_SMART_TRANSFERS payment method.

Funds can only move between the user's own accounts

Smart Transfers only moves money between accounts held by the same person or company:

  • Individual payer (CPF): the beneficiary account must be held by the same CPF as the payer.
  • Business payer (CNPJ): the beneficiary account must be held by a CNPJ with the same root (the first eight digits) as the payer.

This is an Open Finance Brasil rule for Transferências Inteligentes. If the beneficiary doesn't meet it, the Payment Authorization can't be created.

How it works

Smart Transfers uses two objects:

ObjectWhat it is
Payment AuthorizationThe user's standing consent, approved at their bank. It sets the beneficiary account and the limits you must stay within: an overall total, a per-transfer maximum, and optional daily, weekly, monthly, or yearly caps. It can also pin the exact account to debit, if you already know it. One authorization covers many transfers.
ChargeA single transfer you trigger against an AUTHORIZED Payment Authorization. Each Charge has its own amount, date, and statement description.
User's bankBelvoYour applicationUser's bankBelvoYour applicationUser approves the limits onceloop[Whenever you need to move funds]Create a Payment Authorizationauthorization_urlRedirect the userWebhook: PAYMENT_AUTHORIZATIONGet the authorizationstatus: AUTHORIZEDCreate a ChargePix transfer requestWebhook: CHARGEGet the Chargestatus: SETTLED (or FAILED)

Integration options

For Smart Transfers, we offer one integration option:

Direct API

Use our Payments API (Payments-BR.V2) to create Payment Authorizations and Charges, and build the screens your user sees before they're redirected to their bank. Check out our dedicated Direct API (Smart Transfers) guide for the step-by-step instructions.

Smart Transfers and Smart Collections

Smart Transfers works on its own: you decide when to trigger each Charge.

If you'd rather have Belvo watch the user's balance and tell you when there are enough funds to collect, see Smart Collections, which combines balance monitoring from our Aggregation product with Smart Transfers Charges.