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 afailed 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
- Integration best practices: identifiers, statuses, timeouts and idempotency.
- Simulate deposit failures: make a sandbox account refuse deposits to test your handling.
- Document lifecycle: the statuses an in document goes through.

