Off-Ramp Flow
Linka's Off-Ramp service allows institutional and retail users to exit digital assets and receive local currency directly in their bank accounts across Latin America.
Process Overview
1. Bank Account Registration
Before off-ramping, the destination bank account must be registered and verified.
2. Transaction Request
The user specifies the amount of stablecoins (USDC/USDT) to sell and selects a saved bank account.
3. Asset Transfer
The user transfers the assets to Linka's controlled orchestration address.
4. Fiat Disbursement
Once the on-chain transaction is confirmed, Linka executes a local bank transfer to the user's account.
Implementation Guide
Step 1: Register Recipient Account
We verify that the bank account belongs to the verified user.
POST /v1/recipients
{
"user_id": "usr_98765",
"type": "bank_account",
"country": "CL",
"details": {
"bank_code": "001",
"account_number": "123456789",
"rut": "12.345.678-9"
}
}
Step 2: Create Off-Ramp Session
POST /v1/offramp/sessions
{
"amount": "500.00",
"currency": "USDC",
"recipient_id": "rec_abc123"
}
Step 3: Receive Funds
The response includes a deposit_address. Monitor this address for the user's payment.
Speed & Corridors
Our liquidity engines ensure that fiat is disbursed almost immediately after the on-chain transaction reaches finality.
| Country | Rail | Settlement |
|---|---|---|
| Mexico | SPEI | Real-time (24/7) |
| Chile | TEF | < 15 mins |
| Colombia | ACH/PSE | Same day |
| Brazil | PIX | Real-time (24/7) |
Common Error Cases
- Mismatched RUT/CLABE: If the bank account details don't match the KYC'd user, the transfer will be held for manual review.
- Low Liquidity: For very large trades (> $500k USD), we recommend using our OTC Desk.
Webhooks
offramp.onchain_confirmed: The USDC/USDT has reached our wallet.offramp.disbursement_initiated: The local bank transfer has been sent.offramp.completed: The user has received their fiat.