Skip to main content

USDR

USDR (Retorna USD) is Retorna's own account unit — the currency your organization's wallet is denominated in, and the currency every transfer starts from. It is the source of funds side of the whole flow: you hold USDR, you quote from USDR, and Retorna pays out in the destination's local currency.

USDR is not an ISO 4217 code. It is a Retorna-internal currency code, which is why currency fields accept 3 to 5 uppercase characters (^[A-Z]{3,5}$) instead of the three of ISO 4217: USDR itself is four.

Value

The platform treats 1 USDR = 1 USD. USDR is the unit Retorna uses to keep your balance and to price transfers; it is not a rate you need to quote or convert on your side.

Where you will see it​

As your wallet currency​

Every organization wallet is provisioned in USDR. The balance returned by GET /me/wallets/{currency} is a USDR amount:

{
"status": "ACTIVE",
"currency": "USDR",
"amount": "1000.50"
}

Wallet movements are denominated in USDR too — a top_up (an on-chain deposit) or a b2b_manual_credit (a credit booked by treasury) adds USDR to your balance:

{
"id": "c941d781-0a8e-45c5-a7ba-abfdcf96ffe7",
"type": "top_up",
"amount": "20.00",
"currency": "USDR",
"status": "COMPLETED",
"created_at": "2026-06-05T16:21:42.004Z"
}

As the source currency of a quote​

source.currency in POST /quotations is USDR. The exchange rate you get back is the USDR → destination-currency rate for that corridor:

{
"source": { "currency": "USDR" },
"destination": {
"country": "VE",
"currency": "VES",
"payout_method": { "type": "P2P_PHONE_TRANSFER" }
},
"quote": { "mode": "SEND_EXACT", "amount": "100.00" }
}

Fees are charged in USDR as well: the Quote response reports fees.total_in_source_currency and the gross_amount / net_amount pair on the source side, all in USDR.

As the default corridor filter​

GET /me/routes defaults sourceCurrency to USDR, so listing your available corridors and their operational limits already answers the question "what can I send from my USDR balance?".

Considerations​

  • Send the code exactly — currency codes are uppercase-only, one spelling per currency. usdr is rejected at validation with a 400.
  • A wrong source currency is a quoting failure, not a validation one — a well-formed but unsupported source.currency reaches the quotation engine and comes back as 422 B2B_RATE_NOT_FOUND, since no active rate exists for that corridor.
  • The wallet balance is the ceiling — orders draw from your USDR balance, so the gross_amount of a quote plus its fees must be covered by it.
tip

Amounts are returned as decimal strings ("1000.50", "20.00"), never as floats. Parse them with a decimal-safe type — never with a binary floating-point one — so cents do not drift.