Saltar al contenido principal

Wallets

El balance en USDR de tu compañía y su historial de recargas. Una compañía tiene exactamente una wallet — la moneda en el path es forma del contrato, no un selector.

get_my_wallet​

Trae el balance actual.

Firma​

def get_my_wallet(self, currency: str) -> MyWallet:

Parámetros​

NombreTipoRequeridoDescripción
currencystrSíDe 3 a 5 letras en mayúsculas, p. ej. "USDR". Forma del contrato, no un selector — una compañía tiene una wallet, que se devuelve para cualquier código de moneda bien formado.

Retorno​

MyWallet:

CampoTipoDescripción
statusOptional[str]Estado de la wallet, p. ej. "ACTIVE".
currencyOptional[str]Repite la moneda pedida.
amountOptional[str]Balance, como string decimal — nunca hagas aritmética de floats con esto.

Ejemplo​

wallet = client.get_my_wallet("USDR")
print(wallet.status, wallet.currency, wallet.amount)

Errores​

  • B2B_WALLET_NOT_CONFIGURED — tu compañía todavía no tiene una wallet provisionada.
  • B2B_WALLET_NOT_FOUND — la wallet configurada no existe en el proveedor.
  • B2B_UNAUTHORIZED — token o firma de request inválidos.
  • ValueError — se lanza localmente cuando currency no coincide con la forma de 3 a 5 letras en mayúsculas.

Notas​

  • Imprime solo los campos que necesitas en vez de todo el objeto — esta página deliberadamente no documenta cada campo que la wallet puede traer en el wire.

Referencia de API​

GET /me/wallets/{currency}

get_my_wallet_transactions​

Lista el historial de recargas de la wallet, paginado por cursor.

Firma​

def get_my_wallet_transactions(
self,
currency: str,
transaction_type: WalletTransactionType,
params: Optional[ListWalletTransactionsParams] = None,
) -> WalletTransactionsResponse:

Parámetros​

NombreTipoRequeridoDescripción
currencystrSíMisma forma que get_my_wallet.
transaction_typeWalletTransactionTypeSíPor ahora solo WalletTransactionType.TOP_UP, que devuelve todo lo que acredita la wallet: depósitos on-chain y créditos registrados por tesorería. Enum de wire cerrado — un valor desconocido a futuro lanza un error en vez de ignorarlo en silencio.
paramsOptional[ListWalletTransactionsParams]NoPaginación por cursor.

ListWalletTransactionsParams (helper: ListWalletTransactionsParams.first_page(limit=...)):

CampoTipoDescripción
cursorOptional[str]Cursor opaco de una página anterior. Omítelo para la primera página.
limitOptional[int]De 1 a 100.

Retorno​

WalletTransactionsResponse:

CampoTipoDescripción
paginationOptional[CursorPagination]next_cursor, has_more, limit, total. Consulta Paginación.
dataOptional[List[WalletTransaction]]La página de transacciones — id, external_id, type ("top_up" para un depósito on-chain, "b2b_manual_credit" para un crédito registrado por tesorería), amount (string decimal con dos decimales), currency, created_at, status. Imprime solo los campos que necesites.

Ejemplo​

from retorna_sdk import ListWalletTransactionsParams, WalletTransactionType

params = ListWalletTransactionsParams.first_page(limit=50)
while True:
page = client.get_my_wallet_transactions("USDR", WalletTransactionType.TOP_UP, params)
for tx in page.data or []:
print(tx.id, tx.external_id, tx.type, tx.amount, tx.currency)
if not page.pagination or not page.pagination.has_more:
break
params = ListWalletTransactionsParams(cursor=page.pagination.next_cursor, limit=50)

Errores​

  • B2B_WALLET_NOT_CONFIGURED — tu compañía todavía no tiene una wallet provisionada.
  • B2B_INVALID_PAGINATION_CURSOR — el cursor estaba mal formado o no fue emitido por este listado.
  • B2B_UNAUTHORIZED — token o firma de request inválidos.
  • ValueError — se lanza localmente cuando transaction_type es None, currency no coincide con la forma de moneda de wallet, limit está fuera de 1..100, o cursor está presente pero vacío.

Notas​

  • El historial de recargas se pagina por cursor de la misma forma que las órdenes — no hay parámetro page, y mandar uno es un 400.
  • El modelo de transacción trae campos más allá de los que imprime esta página; omítelos si no los necesitas en vez de volcar el objeto completo.

Referencia de API​

GET /me/wallets/{currency}/transactions/{type}