Skip to main content

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-account endpoints below, always with your main account's credentials.
Availability

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​

  1. Fund it. Deposit to the Fee Account by Pix or by sending stablecoins (see Deposit).
  2. 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 with 422 FeeAccountInsufficientBalance.
  3. 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).
  4. 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.
  5. 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 currencyFee Account balance used
BRL, BRLABRLA
USD, USDC, USDTUSDC or USDT
EUR, EURCEURC
ARS, ARSAARSA

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​

StatusWhen
404Your account has no Fee Account.
400A 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​

FieldTypeDescription
amountstringFixed 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" }
]
}
  • brCode is a static Pix code (copy and paste, or render it as a QR code). Pix deposits are credited as BRLA.
  • wallets are 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​

StatusErrorWhen
422FeeAccountInsufficientBalanceThe 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).
Keep it funded

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.