Static Deposits - MXN, ARS and COP
Introduction
A static deposit is a permanent deposit detail that belongs to an account, one per currency:
- a CLABE in Mexico, for MXN;
- a CVU in Argentina, for ARS;
- a Bre-B key in Colombia, for COP.
Your user saves it once and uses it as many times as they want, with any amount, whenever they want. You don't create a quote or a ticket before each payment. Every deposit that lands on it is converted to USDC and credited to the INTERNAL balance of the account the detail belongs to.
If you already use the account's static BR Code for PIX, this is the same idea for MXN, ARS and COP.
Static deposits are available in sandbox. Production uses the same fields and the same flow when it is released, so an integration built on sandbox does not change.
What it is good for
- Recurring deposits. A salary, a monthly top-up or any payment your user repeats can always go to the same detail.
- Showing it once. Display the detail on your user's screen or profile once; they don't need a new one for the next payment.
- Reconciling without extra work. Avenia creates a ticket for every deposit that arrives, so each one shows up in your tickets and webhooks like any other operation. See What Happens When a Deposit Arrives.
Static deposit or ticket
A ticket is made for one payment: you ask for a quote, the rate and the amount are fixed up front, the ticket has a deadline, and its deposit instruction is used for that payment only.
| Static deposit | Ticket | |
|---|---|---|
| Deposit detail | Permanent, one per currency | A new one for each payment |
| Amount | Any amount, chosen by whoever pays | Fixed by the quote |
| Rate | Avenia's quote when the deposit is processed | Fixed when the ticket is created |
| Deadline | None | The ticket expires |
| Created by | Avenia, when the deposit arrives | You, before the payment |
Use a ticket when you need to know the exact rate and the amount of USDC before your user pays, or when a payment has to be tied to a specific order. Use a static deposit when your user just needs a place to send money at any time. See Bank Account - MXN, Bank Account - ARS and Bank Account - COP for the ticket flow.
Get the Static Deposit Details
The details come as separate fields of the Account Info endpoint, next to brCode: clabe for MXN, cvu for ARS and bre-b for COP. Pass subAccountId to read the details of a sub-account: each sub-account has its own, and a deposit to them is credited to that sub-account.
Endpoint
Parameters
| Field | Type | Description |
|---|---|---|
subAccountId | string | Optional. The sub-account to read. Omit it to read the main account. |
Request example
curl -X GET "https://api.sandbox.avenia.io:10952/v2/account/account-info?subAccountId=00000000-0000-0000-0000-000000000000" \
-H "Authorization: Bearer eyJhdXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
Response
The other Account Info fields are left out here. See Account Info for the full response.
{
"id": "00000000-0000-0000-0000-000000000000",
"brCode": "00020126580014br.gov.bcb.pix0136...6304XXXX",
"clabe": "999999000000123455",
"cvu": "0009999099000000000897",
"bre-b": "@SBX000000000893"
}
Fields
| Field | Currency | Format | Notes |
|---|---|---|---|
clabe | MXN | 18 digits | Your user transfers from a Mexican bank account. |
cvu | ARS | 22 digits | Your user transfers from an Argentine bank or wallet account. |
bre-b | COP | A Bre-B key starting with @ | Your user pays the key from their Colombian banking app. |
All three are strings. The COP field is named bre-b, with a hyphen, so read it by key (for example info["bre-b"] in JavaScript) rather than as a plain property.
Reading the fields
- Read the field of the currency you need.
clabefor MXN,cvufor ARS,bre-bfor COP. - A field appears only for a currency that is unlocked. A currency that is not unlocked is left out of the response entirely: the field is not sent as an empty string or as
null. The field shows up once the account's KYC or KYB for that currency is approved: KYC - MXN, KYC - ARS, KYC - COP, or KYB - MXN, KYB - ARS, KYB - COP for company accounts. - Read it again when a field is missing. Right after a currency is unlocked, its field can take a moment to show up. Call Account Info again rather than caching the missing value.
- Show the value as it is. Don't reformat or trim it: your user's bank needs the exact detail.
- Ignore fields you don't know. If fixed deposit details for other methods are added, they show up as new fields in Account Info, so an integration that reads only the fields it knows keeps working.
What Happens When a Deposit Arrives
- Your user sends MXN, ARS or COP to the
clabe,cvuorbre-bdetail. - Avenia creates a ticket for the deposit by itself. It shows up in your tickets, and you receive the ticket webhooks for it, ending in
TICKET-COMPLETE. See Webhook Events. - The deposit is converted to USDC at Avenia's quote for that currency when it is processed, with the fees that apply to your account. See Fees in a quote.
- The USDC is credited to the
INTERNALbalance of the account or sub-account the details belong to.
The rate is set when the deposit is processed, so the amount of USDC is known only then. Read it from the ticket.
These deposits are international transfers: once one is credited, you receive a TICKET-PURPOSE-CODE-REQUIRED webhook asking for its purpose code. The deposit is already credited by then. See When Avenia asks for the code afterwards.
Limits
Static deposits count against the account's monthly fiat-in limit for that currency and against its global limit, like any other deposit. See Limits.
A deposit that goes over the limit is not credited, and no ticket is created for it. An ARS deposit over the limit is sent back to the account that paid it. For an MXN or COP deposit over the limit, contact Avenia support with the deposit's details.
Sandbox and Production
| Sandbox | Production | |
|---|---|---|
| Details | Test details no real bank account can pay: a CLABE starting with 999999, a CVU starting with 0009999, a Bre-B key starting with @SBX | The account's real details |
| Money | Simulated, no real transfer | Real transfers |
| Fields and flow | Same as production | Same as sandbox |
Don't hard-code the test prefixes: read clabe, cvu and bre-b from Account Info in every environment. Moving to production changes the values, not your integration.
Conclusion
In this section, you have learned how to use static deposits:
- ✅ Reading the details – the
clabe,cvuandbre-bfields of Account Info, for the main account or a sub-account. - ✅ Knowing what is unlocked – a field is present only once its currency is unlocked.
- ✅ What a deposit does – it is credited as USDC through a ticket Avenia creates, within the account's limits.