Skip to main content
This guide shows you how to create a liquidation address so your users can send crypto and receive fiat in their bank account.

Prerequisites

  • Your user has completed onboarding (Custom KYC flow with endorsement approved)
  • You have their externalUserId
  • Customer’s baseEndorsementStatus is "approved"

What is Offramp?

Offramp allows your users to:
  1. Send cryptocurrency (like USDC) to a special address
  2. Automatically receive USD in their bank account
This is perfect for users who want to cash out their tokens to pay bills or access their funds.

Step 1: Create External Bank Account

First, link the user’s bank account where they’ll receive fiat:
POST /v0/external-accounts
{
  "externalUserId": "user_123",
  "accountName": "My Bank Account",
  "accountOwnerName": "John Doe",
  "currency": "USD",
  "accountType": "us",
  "accountOwnerType": "individual",
  // ... bank details
}
See the Create External Account endpoint for all required bank account fields.

Step 2: Create Liquidation Address

Now create the crypto address for offramping:
POST /v0/liquidation-addresses
{
  "externalUserId": "user_123",
  "chain": "ethereum",
  "currency": "usdc",
  "externalAccountId": "ext_account_id"
}

// Response includes crypto address for user to send funds
{
  "data": {
    "address": "0x123...",  // User sends crypto here, receives fiat automatically
    "chain": "ethereum",
    "currency": "usdc"
  }
}
Give this address to your user. When they send USDC to this address, it will automatically be converted to USD and sent to their bank account.

How It Works

  1. Your user sends USDC (or other supported crypto) to the liquidation address
  2. Karma automatically converts the crypto to USD
  3. USD is deposited into the user’s linked bank account
  4. You receive webhook events about the transaction status

Monitoring Transactions

Configure webhooks to receive real-time updates:
// Example webhook payload
{
  "event_type": "liquidation_address.drain.completed",
  "data": {
    "externalUserId": "user_123",
    "amount": "100.00",
    "currency": "USD",
    "status": "completed"
  }
}

Next Steps