Skip to main content

Get wallet

Quick Reference

WhatRetrieve wallet details by UUID, email, or customer ID
WhyBalance verification, reconciliation, and multi-currency reporting
Reading Time3 min
DifficultyBeginner
PrerequisitesAuthentication → Wallet UUID or email or customer_id
GET/api/v1/bank/wallet/Bearer TokenRetrieve a wallet

When to use this endpoint

Without wallet lookupWith wallet lookup
Guess whether funds arrivedVerify exact balance before creating charges
No visibility into wallet stateCheck wallet status, currency, and creation date
Manual reconciliation in spreadsheetsAutomated reconciliation — compare expected vs. actual
Hard-coded wallet UUIDs everywhereDynamic lookup by email or customer_id
Cannot build multi-currency dashboardsQuery each currency wallet and aggregate for reporting

Reconciliation flow


Authentication

Requires Bearer token. See Authentication.

Query parameters

FieldTypeRequiredDescription
wallet_uuidstring (UUID)At least oneDirect wallet lookup by UUID
emailstringAt least oneFind wallet by associated email
customer_idstringAt least oneFind wallet by your internal customer ID
Flexible lookup

Provide at least one parameter. You can combine them to narrow results — for example, ?customer_id=cust_12345&currency=BRL finds the BRL wallet for that customer.


Code examples

Lookup by wallet UUID

curl -s -G https://core-manager.a55.tech/api/v1/bank/wallet/ \
-H "Authorization: Bearer $TOKEN" \
--data-urlencode "wallet_uuid=f47ac10b-58cc-4372-a567-0e02b2c3d479"

Lookup by email

curl -s -G https://core-manager.a55.tech/api/v1/bank/wallet/ \
-H "Authorization: Bearer $TOKEN" \
--data-urlencode "email=financeiro@loja-sp.com.br"

Lookup by customer ID

curl -s -G https://core-manager.a55.tech/api/v1/bank/wallet/ \
-H "Authorization: Bearer $TOKEN" \
--data-urlencode "customer_id=cust_12345"

Response

Success (200 OK)

{
"wallet_uuid": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"email": "financeiro@loja-sp.com.br",
"customer_id": "cust_12345",
"currency": "BRL",
"date": "2026-03-15T10:30:00-03:00"
}

Response fields

FieldTypeDescription
wallet_uuidstring (UUID)Unique wallet identifier
emailstringEmail associated with the wallet
customer_idstringYour internal customer ID
currencystringISO 4217 currency code (BRL, MXN, CLP, ARS)
datestring (ISO 8601)Wallet creation timestamp

Error response

{
"error": "not_found",
"message": "Wallet not found",
"code": "errors.wallet.not_found"
}
StatusCodeDescriptionResolution
400validation_errorNo query parameter providedSupply at least one of wallet_uuid, email, or customer_id
401unauthorizedInvalid or expired Bearer tokenRefresh your access token
404errors.wallet.not_foundNo wallet matches the queryVerify the identifier or create a wallet first

Complete example — daily reconciliation script

A practical script that checks wallet state and compares it against your expected records:

#!/bin/bash
# Daily wallet reconciliation — run via cron
TOKEN="$A55_API_TOKEN"
BASE="https://core-manager.a55.tech/api/v1/bank/wallet/"

WALLETS=("cust_12345" "cust_67890" "cust_24680")

for CUST_ID in "${WALLETS[@]}"; do
RESPONSE=$(curl -s -G "$BASE" \
-H "Authorization: Bearer $TOKEN" \
--data-urlencode "customer_id=$CUST_ID")

WALLET_UUID=$(echo "$RESPONSE" | jq -r '.wallet_uuid')
CURRENCY=$(echo "$RESPONSE" | jq -r '.currency')

if [ "$WALLET_UUID" = "null" ]; then
echo "MISSING: No wallet for customer $CUST_ID"
else
echo "OK: $CUST_ID$WALLET_UUID ($CURRENCY)"
fi
done

Tips

Cache wallet UUIDs

After the first lookup, cache the wallet_uuid in your database. Direct UUID lookups are faster than email or customer_id queries. Only fall back to email/customer_id lookup when the cached UUID returns a 404 (wallet was deleted and recreated).

Rate limits

Wallet lookups share the global rate limit of 100 requests/minute per token. For high-volume reconciliation, batch your lookups with a small delay between requests rather than firing all at once.

Don't poll for balance changes

Use webhooks to react to charge status changes in real-time. Reserve wallet lookups for scheduled reconciliation jobs, not as a substitute for event-driven architecture.