One integration.
Connect LatAm.
Collections and payouts over each country’s local rails, with automatic real-time reconciliation and cross-border settlement in USDT/USDC. Your platform talks to one API; we operate the banking rails.
Your payment flow, centralized
Four steps, all via API and all announced by signed webhooks.
Collect
Your user deposits in their local currency: CBU/CVU bank transfer in Argentina, PIX in Brazil — via a static key or a per-order dynamic QR.
Reconcile
Every payment identifies and attributes itself: matched by CUIT/DNI + amount in Argentina, or guaranteed 1:1 by the QR in Brazil. You get a webhook.
Pay out
Payouts to any CBU or alias (holder auto-resolved) and any PIX key. Balance debits instantly; status arrives by webhook.
Settle
Cross-border settlement in USDT/USDC to your wallet, with synchronous conversion and the confirmed rate in the same response.
One continent, one integration
Local rails per country, the same payments-and-payouts model everywhere.
Argentina
CBU / CVU · bank transfers
Brazil
PIX · dynamic QR + transfer
Mexico
SPEI
Colombia
PSE · Bre-B · cards
Peru
Yape · Plin · CCI · cards
Uruguay
Transfers · wallets
Chile
Transfers · wallets
Bolivia
Transfers · QR
Collect, confirm and pay — in real code
REST API with an Idempotency-Key on every POST, signed webhooks (HMAC-SHA256 + anti-replay timestamp) and at-least-once delivery.
# Pay-in — collect R$ 100 with a dynamic PIX QR
curl -X POST https://api.dinaria.com/payments \
-H "Authorization: Bearer di_live_..." \
-H "Idempotency-Key: $(uuidgen)" \
-d '{ "amount": "100.00", "currency": "BRL", "paymentMethod": "pix_qr",
"customer": { "name": "João Silva", "documentNumber": "12345678901" } }'
# → paymentData.qrCodeBase64 (ready for <img src="data:image/png;base64,...">)
# Webhook — the payment confirmed
{ "transactionId": "f90c7c31-...", "status": "confirmed",
"receivedAmount": "100.00", "currency": "BRL" }
# Pay-out — send ARS 200 to an alias
curl -X POST https://api.dinaria.com/payouts \
-d '{ "amount": "200.00", "currency": "ARS",
"destination": { "identifierType": "alias_cbu",
"identifierValue": "mialiascbu" } }'
# Settlement — BRL → USDT on-chain (synchronous)
curl -X POST https://api.dinaria.com/payouts \
-d '{ "amount": "1000.00", "currency": "BRL",
"destination": { "identifierType": "tron_address",
"identifierValue": "TUcVE7YG...", "settlement": "D0" } }'
# → status: completed · exchangeRate: 5.72 · destinationAmount: 174.825874 USDT -
Pay-in
POST /payments returns the instructions: CBU + reference in Argentina, a PIX QR ready for <img> in Brazil.
-
The match
The incoming transfer binds itself to the order — by CUIT/DNI + amount (with optional allowOverUnder tolerance), or by the QR’s embedded externalId.
-
Confirmation
The payment confirmed webhook carries receivedAmount and the banking-system ID. Don’t fulfil on started: wait for confirmed.
-
Pay-out
POST /payouts to a CBU, an alias (holder auto-resolved) or a PIX key. States pending → processing → completed.
Settle in USDT, instantly
Cross-border settlement leaves your balance and lands on-chain — no exchanges, no exposed keys.
Synchronous conversion
BRL → USDT executes in the same call: the response returns completed with the confirmed rate and the exact amount credited. D0, D1 or D2 windows.
Indicative rate first
GET /payouts/rates prices it before you execute. If there’s a price, the market is open.
Your own blockchain access
Query TRX and TRC-20 balances, estimate cost with a dry-run and broadcast pre-signed transactions through Dinaria’s node — your private key never leaves your system.
One infrastructure, every industry
Fintechs & wallets
Embed pay-in and pay-out in your app.
Crypto exchanges
On/off-ramp with stablecoin settlement.
E-commerce
Improve your checkout conversion.
Marketplaces
Collect from buyers, pay your sellers.
Gaming
In-game purchases and top-ups.
SaaS & subscriptions
Recurring billing with automatic reconciliation.
Delivery & mobility
Collect from users, pay your fleet in real time.
Creator economy
Collect subscriptions, pay your creators.
DinaPay FAQs
How are collections reconciled?
Automatically, in real time. In Argentina, the incoming transfer binds to the order by the payer’s CUIT/DNI + amount (with optional tolerance for rounding and bank fees). In Brazil, the dynamic QR embeds the order ID, guaranteeing a 1:1 match. Every confirmation arrives via signed webhook.
What’s the difference between DinaPay and Dinaria Connect?
DinaPay is the merchant’s collections-and-payouts API: the operating account is yours and your users simply pay and get paid. Connect issues global accounts in each of your clients’ own names (same-name USD/EUR, custody, holder KYC). Many platforms use both.
How does stablecoin settlement work?
Convert BRL balance to USDT in one call: execution is synchronous, the response returns completed with the confirmed rate, and the USDT is delivered on-chain to your wallet. You can check the indicative rate first and choose the settlement window (same-day, D1 or D2).
How long until production?
A typical integration is live in two weeks: commercial alignment and KYB, API integration against a multi-country test environment, and end-to-end validation before go-live.
Scale your operations.
Let’s set up a demo and tailor your integration. Live in two weeks.
We'll talk this week
Tell us what you need to move, in which corridors and at what volume. We respond within 24 business hours.
We got your message
We'll reply within 24 business hours to the email you provided.