Skip to main content

Deposit Sender Wallets

Introduction​

Deposit Sender Wallets are the wallets that sent crypto to your account. Avenia records the sending wallet of every crypto deposit so that you can qualify it for the regulatory reports Avenia sends to BACEN (Brazil's Central Bank), the same way you qualify your beneficiary wallets.

  • A wallet is recorded the first time it sends you a deposit, once per chain family (EVM, TRON or INTERNAL). The same EVM address is a single wallet across every EVM chain.
  • INTERNAL wallets are other Avenia accounts that paid you with an internal transfer.
  • Deposits are never blocked: you receive the funds whether the sending wallet is qualified or not.
  • Repeated deposits from the same wallet only update its lastDepositAt. They never change its qualification.
  • Deposits too small to create a ticket are not recorded.

Qualification status​

qualificationStatusMeaning
PENDINGThe wallet still needs to be qualified. Every new deposit from it sends a WALLET-QUALIFICATION-REQUIRED webhook.
QUALIFIEDYou qualified it with Qualify Deposit Sender Wallet, or Avenia qualified it automatically.
Wallets held at Avenia

When the sender is another Avenia account whose KYC/KYB is approved, the wallet arrives already QUALIFIED: not self-custodied, country BR, the account holder's name as beneficiary, and Avenia as custodian. External wallets arrive as PENDING.

The qualification fields and their rules are the same as for beneficiary wallets; see Wallet Qualification.

Get all Deposit Sender Wallets​

Retrieve the wallets that sent deposits to your account, with filters and pagination.

HTTP Get Request​

https://api.sandbox.avenia.io:10952/v2/account/deposit-sender-wallets

URL Parameters​

FieldTypeDescription
chainFamilystringEVM, TRON or INTERNAL.
qualificationStatusstringPENDING or QUALIFIED. Use PENDING to find the wallets you still need to qualify.
createdAfterint64Unix epoch timestamp in milliseconds (UTC). Returns wallets first recorded on or after this instant.
createdBeforeint64Unix epoch timestamp in milliseconds (UTC). Returns wallets first recorded strictly before this instant.
cursorstringCursor for pagination. Pass the value from the previous response to retrieve the next set of results.
info

To fetch the wallets of a sub-account, pass the subAccountId field as a parameter. If you don't pass it, it fetches from your Main Account.

cUrl Example​

curl -X GET "https://api.sandbox.avenia.io:10952/v2/account/deposit-sender-wallets?qualificationStatus=PENDING" \
-H "Authorization: Bearer eyJhdXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

JSON Response​

{
"wallets": [
{
"id": "00000000-0000-0000-0000-000000000000",
"userId": "00000000-0000-0000-0000-000000000000",
"walletAddress": "0xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"chainFamily": "EVM",
"isSelfCustody": null,
"custodianName": "",
"beneficiaryName": "",
"beneficiaryCountry": "",
"purposeCode": "",
"qualificationStatus": "PENDING",
"acamGroup": null,
"lastDepositAt": "2026-10-01T19:44:27.098166Z",
"createdAt": "2026-10-01T19:38:43.176527Z"
}
],
"cursor": "NC0xNzkwODgzNTIzMTc2"
}

Qualify Deposit Sender Wallet​

Qualify a PENDING wallet, or correct the qualification of a QUALIFIED one. The body takes only the qualification fields and follows the same rules as beneficiary wallets, with isSelfCustody always required. The whole qualification is replaced, and the wallet becomes QUALIFIED. Any other field returns 400.

info

To perform this operation for a sub-account, pass the subAccountId field as a parameter. It requires the Beneficiary or Admin permission.

HTTP Patch Request​

https://api.sandbox.avenia.io:10952/v2/account/deposit-sender-wallets/{YOUR_UUID_ID}

cUrl Example​

curl -X PATCH "https://api.sandbox.avenia.io:10952/v2/account/deposit-sender-wallets/00000000-0000-0000-0000-000000000000" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer eyJhdXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" \
-d '{
"isSelfCustody": false,
"custodianName": "Binance",
"beneficiaryName": "John Doe",
"beneficiaryCountry": "AR",
"purposeCode": "46002"
}'

JSON Response​

Returns the updated wallet:

{
"wallet": {
"id": "00000000-0000-0000-0000-000000000000",
"userId": "00000000-0000-0000-0000-000000000000",
"walletAddress": "0xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"chainFamily": "EVM",
"isSelfCustody": false,
"custodianName": "Binance",
"beneficiaryName": "John Doe",
"beneficiaryCountry": "AR",
"purposeCode": "46002",
"qualificationStatus": "QUALIFIED",
"acamGroup": "I",
"lastDepositAt": "2026-10-01T19:44:27.098166Z",
"createdAt": "2026-10-01T19:38:43.176527Z"
}
}

Get Deposits of a Deposit Sender Wallet​

List the deposits a wallet sent to your account, newest first. It includes deposits made before the wallet was recorded.

HTTP Get Request​

https://api.sandbox.avenia.io:10952/v2/account/deposit-sender-wallets/{YOUR_UUID_ID}/deposits

URL Parameters​

FieldTypeDescription
createdAfterint64Unix epoch timestamp in milliseconds (UTC). Returns deposits made on or after this instant.
createdBeforeint64Unix epoch timestamp in milliseconds (UTC). Returns deposits made strictly before this instant.
cursorstringCursor for pagination. Pass the value from the previous response to retrieve the next set of results.
info

To fetch the deposits of a sub-account's wallet, pass the subAccountId field as a parameter.

cUrl Example​

curl -X GET "https://api.sandbox.avenia.io:10952/v2/account/deposit-sender-wallets/00000000-0000-0000-0000-000000000000/deposits" \
-H "Authorization: Bearer eyJhdXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

JSON Response​

{
"deposits": [
{
"ticketId": "00000000-0000-0000-0000-000000000000",
"txHash": "0xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"chain": "POLYGON",
"asset": "BRLA",
"amount": "10",
"createdAt": "2026-10-01T19:38:35.344165Z"
}
],
"cursor": "MS0xNzkwODgyNDI1NzA1"
}
FieldDescription
ticketIdThe deposit's ticket. null when the deposit is an internal transfer from another Avenia account, because the ticket belongs to the sender.
txHashTransaction hash of the deposit.
chainThe chain the deposit arrived on, such as POLYGON, TRON or INTERNAL.
assetToken received.
amountAmount received, as a decimal string.
createdAtWhen the deposit was made.