Skip to main content
When you send or receive money, Trio keeps a closed loop: no transaction goes missing, and every one of them is either completed or refused with an event your system can handle. This page lists the compliance rules behind that control, which you configure per bank account in the Trio App.
Coming from V1? These rules were configured per virtual account. On V2 they apply to the bank account that receives or pays, the one you name in bank_account_id.

Deposits

For incoming money, compliance rules decide whether a single transaction is received or not. Whenever a transaction infringes a rule, Trio receives the money and automatically refunds it to the sender’s account. A refused transaction generates a failed event, so you can show your users what happened; see Integration best practices for how failed behaves on a cash in. These are the cash-in compliance rules you can enable for a bank account: The payer restrictions come from the counterparty object you send to POST /v2/in/pix/qrcodes. The Cash in guide walks through the whole flow.

Payouts

For outgoing money, Trio also applies compliance rules that decide whether a payment is transferred, as a way of protecting its client base. These are the cash-out compliance rules enabled for a bank account: On V2 you state the expected receiver in the counterparty object of POST /v2/out/pix/async: the payment is refused if the Pix key or BR code belongs to another tax number, or to none of the bank accounts listed. The Cash out guide shows the full request.

Next steps