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.
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.
usdris rejected at validation with a400. - A wrong source currency is a quoting failure, not a validation one —
a well-formed but unsupported
source.currencyreaches the quotation engine and comes back as422B2B_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_amountof a quote plus its fees must be covered by it.
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.