Skip to main content
POST
https://api.karmapay.xyz/v0
/
v0
/
liquidation-addresses
const response = await fetch('https://api.karmapay.xyz/v0/liquidation-addresses', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    externalUserId: "user_123",
    chain: "solana",
    currency: "usdc",
    external_account_id: "ext_abc123",
    destination_payment_rail: "ach",
    destination_currency: "usd"
  }),
});

const result = await response.json();
console.log('Send crypto to:', result.data.address);
{
  "data": {
    "id": "liq_abc123",
    "address": "7XqBhBKXy1S3ufMXLCv9QhcRj8f2kKKnXYYYdZnJ5jrB",
    "chain": "solana",
    "currency": "usdc",
    "destinationCurrency": "usd",
    "destinationPaymentRail": "ach"
  }
}
Authentication: Business API Key
Create a liquidation address where users can send cryptocurrency to be converted to fiat and deposited into their bank account.

Request Body

externalUserId
string
required
Your internal user ID
chain
string
required
Blockchain: ethereum | polygon | base | solana | stellar | tron | arbitrum | optimism | avalanche_c_chain | evm
currency
string
required
Cryptocurrency: usdc | usdt | dai | pyusd | eurc | usdb | any
external_account_id
string
External account ID where fiat will be sent
destination_payment_rail
string
Payment method: ach | wire | ach_push | ach_same_day | sepa | spei | swift
destination_currency
string
Destination fiat: usd | eur | mxn
destination_wire_message
string
Wire message (max 256 chars)
destination_ach_reference
string
ACH reference (max 10 chars)
custom_developer_fee_percent
string
Optional fee percentage
const response = await fetch('https://api.karmapay.xyz/v0/liquidation-addresses', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    externalUserId: "user_123",
    chain: "solana",
    currency: "usdc",
    external_account_id: "ext_abc123",
    destination_payment_rail: "ach",
    destination_currency: "usd"
  }),
});

const result = await response.json();
console.log('Send crypto to:', result.data.address);
{
  "data": {
    "id": "liq_abc123",
    "address": "7XqBhBKXy1S3ufMXLCv9QhcRj8f2kKKnXYYYdZnJ5jrB",
    "chain": "solana",
    "currency": "usdc",
    "destinationCurrency": "usd",
    "destinationPaymentRail": "ach"
  }
}

How It Works

1

Create liquidation address

Call this endpoint with user’s external account ID
2

User sends crypto

User sends cryptocurrency to the address returned
3

Automatic conversion

Bridge automatically converts crypto to fiat
4

Fiat deposit

Fiat is deposited to the linked external bank account
5

Webhook notification

You receive webhook event when liquidation completes