Fee Account
The Fee Account is a dedicated account that pays the Avenia fees of your tickets. Instead of deducting the fees from each ticket's amount, you keep a balance in the Fee Account and the fees are charged to it. The ticket's full amount reaches its destination.
It belongs to your main account and has one purpose:
- It only receives deposits (Pix or stablecoins) and pays fees. You cannot quote, create tickets, convert, withdraw, send or register beneficiaries from it.
- You manage it through the
/v2/account/fee-accountendpoints below, always with your main account's credentials.
The Fee Account is enabled by Avenia per account. If you would like to use it, contact your Avenia account manager. Until it is enabled, GET /v2/account/fee-account returns 404.
How it works
- Fund it. Deposit to the Fee Account by Pix or by sending stablecoins (see Deposit).
- Quote with
feeSettlement=FEE_ACCOUNT. When the quote asks for this mode, the Fee Account's balance is checked against the quote's fees. If it doesn't cover them, the quote is refused with422 FeeAccountInsufficientBalance. - The fees are charged after the ticket is paid, from the Fee Account, in the token that matches the ticket's input currency (see Which balance pays).
- If the charge fails (for example, the balance was used up by other tickets in the meantime), the fees of that ticket are added to your end-of-month invoice instead. The ticket itself is not affected.
- Refunds: when a ticket paid through the Fee Account is refunded, the output fee it charged is credited back to the Fee Account.
Which balance pays
The fee is charged in the token of the ticket's input currency. Keep a balance in the token(s) you operate with:
| Ticket input currency | Fee Account balance used |
|---|---|
BRL, BRLA | BRLA |
USD, USDC, USDT | USDC or USDT |
EUR, EURC | EURC |
ARS, ARSA | ARSA |
Tickets whose input currency is not in this table cannot be quoted with feeSettlement=FEE_ACCOUNT.
Get the Fee Account
Returns the Fee Account and its balances.
Endpoint
GET /v2/account/fee-account
cUrl Example
curl -X GET "https://api.sandbox.avenia.io:10952/v2/account/fee-account" \
-H "Authorization: Bearer <token>"
JSON Response
{
"id": "7c70ffc4-XXXX-XXXX-XXXX-cf67b5de525b",
"mainAccountId": "553106d0-XXXX-XXXX-XXXX-c30ae13c192a",
"createdAt": "2026-10-08T14:37:02Z",
"balances": {
"ARSA": "0",
"BRLA": "1250.4",
"EURC": "0",
"USDC": "310",
"USDM": "0",
"USDT": "0"
}
}
balances has the same format as GET /v2/account/balances.
Errors
| Status | When |
|---|---|
404 | Your account has no Fee Account. |
400 | A subAccountId parameter was sent. The Fee Account belongs to the main account, so these endpoints don't take one. |
Deposit
Returns how to deposit to the Fee Account: a static Pix code and the stablecoin wallets.
Endpoint
GET /v2/account/fee-account/deposit
Parameters
Optional
| Field | Type | Description |
|---|---|---|
amount | string | Fixed amount, in BRL, for the Pix code. Leave it empty to let the payer choose the amount. |
cUrl Example
curl -X GET "https://api.sandbox.avenia.io:10952/v2/account/fee-account/deposit?amount=150" \
-H "Authorization: Bearer <token>"
JSON Response
{
"brCode": "00020126580014br.gov.bcb.pix0136XXXX...6304A708",
"wallets": [
{ "chain": "EVM", "walletAddress": "0x5aF3e1C0b5b3E2a1f0C9d8e7B6a5F4e3D2c1XXXX" },
{ "chain": "TRON", "walletAddress": "TQ5NzH1p9gYb8pXc7K3vJdQ2rW4eT6XXXX" }
]
}
brCodeis a static Pix code (copy and paste, or render it as a QR code). Pix deposits are credited asBRLA.walletsare the Fee Account's addresses for stablecoin deposits. Send each token on its matching network.
Statement
Lists the Fee Account's balance changes: deposits, fees charged and fees credited back.
Endpoint
GET /v2/account/fee-account/statement
It takes the same parameters (cursor, createdAfter, createdBefore) and returns the same format as the Account Statement.
cUrl Example
curl -X GET "https://api.sandbox.avenia.io:10952/v2/account/fee-account/statement" \
-H "Authorization: Bearer <token>"
Paying a ticket's fees with the Fee Account
Send feeSettlement=FEE_ACCOUNT in the quote, from your main account or any sub-account:
curl -X GET "https://api.sandbox.avenia.io:10952/v2/account/quote/fixed-rate?inputCurrency=BRL&inputPaymentMethod=PIX&inputAmount=1000&outputCurrency=BRLA&outputPaymentMethod=INTERNAL&inputThirdParty=false&outputThirdParty=false&blockchainSendMethod=PERMIT&feeSettlement=FEE_ACCOUNT" \
-H "Authorization: Bearer <token>"
The quote response shows "feeSettlement": "FEE_ACCOUNT", and its appliedFees are not deducted from the ticket's amount. Create the ticket with the quote token as usual.
Errors
| Status | Error | When |
|---|---|---|
422 | FeeAccountInsufficientBalance | The Fee Account's balance doesn't cover this quote's fees. Deposit to the Fee Account or quote with another feeSettlement. |
400 | — | FEE_ACCOUNT is not enabled for your account, or the input currency is not supported (see Which balance pays). |
The balance check runs when the quote asks for FEE_ACCOUNT. Several quotes in a row can each pass the check and, together, use more than the balance; the fees of a ticket whose charge then fails go to the end-of-month invoice. Keep a margin above your expected daily fees.