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.

Was this page helpful?

Help us improve our documentation