> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lead.bank/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

> Send and receive stablecoins. Send foreign currency over blockchain rails.

## Overview

A blockchain payment is a money movement that occurs over blockchain networks. Lead converts funds between USD and stablecoins and enables USD payouts to international corridors by routing through blockchain infrastructure. 

Blockchain payments use the same API structure as other Lead payment rails, allowing you to treat stablecoins as another settlement option alongside wires and ACH. Our API abstracts blockchain complexity away, so you initiate transfers without managing wallets, on-chain transactions, or blockchain network complexity. 

### How Blockchain Payments Work

Blockchain payments move funds from a Lead entity to various destinations. You always have a Lead customer or entity initiating the transfer, but the source of funds can come from either your Lead account (USD) or your external wallet (stablecoins).

**Your source of funds:**

* USD held in your Lead account, or
* Stablecoins held in an external blockchain wallet you control

**Your destination options:**

* External stablecoin wallet (yours or a third party's)
* Your Lead account (as USD)
* Foreign currency bank account (MXN, COP, BRL, EUR, GBP)

When you initiate a payment via the API, you specify your source (account or wallet), your destination (wallet or bank account), and the amount. Lead handles currency conversion, settlement across blockchain rails, and delivery to your specified destination.

## **Sending Blockchain Payments**

#### Requirements

To send blockchain payments, you need:

* **A Lead business account** with deposit accounts for fiat sources
* **An entity registered in Lead's system** as the sender must always be a Lead entity

#### Sending payments

<Steps>
  <Step title="POST" icon="flag-checkered">
    Use the `POST /v0/blockchain_payments` endpoint to initiate any blockchain payment.
  </Step>

  <Step title="Critical Components" icon="dice-two">
    Each transfer operation is defined by two critical components:

    1. **Debtor:** This specifies where the funds will be pulled from. The source either a Lead account number or a digital asset wallet.
    2. **Creditor:** This specifies where the funds are going. These will be configured in line for each individual payment request.
  </Step>

  <Step title="Requirements" icon="check-double">
    Every request requires:

    1. **Source account or wallet**: A Lead account number (for fiat sources) or an external blockchain wallet address (for stablecoin sources) that is owned by a Lead entity
    2. **Destination details**: A blockchain wallet address or bank account
    3. **Amount and currency**: The instructed amount in USD or a supported stablecoin, plus the settlement currency
    4. **Payment purpose**: The reason for the transfer
  </Step>
</Steps>

## Blockchain Payment Object

```json theme={null}
{
  "id": "blockchain_payment_8888",
  "debtor": {
    "account_identifier": {
      "type": "wallet_address",
      "value": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
    },
    "chain": "base",
    "refund_wallet_address": "0xB9m86771c6218b36c1d19D4a2e9Eb0cE3606eB49",
    "funding_instructions": {
      "from_wallet_address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
      "chain": "base",
      "amount": 1000000,
      "currency_code": "USDC",
      "to_wallet_address": "0x022e3fD8662c84AF51fF06d7DcAe0b675416dab4"
    },
    "entity_id": "entity_67890",
    "name": "John Smith",
    "address": {
      "line_one": "123 Second Ave",
      "line_two": "Apt 643",
      "city": "New York",
      "country": "US",
      "state": "NY",
      "postal_code": "10001"
    }
  },
  "creditor": {
    "payment_rail": "clabe",
    "clabe": {
      "account_number": "00218090010000001234"
    },
    "type": "business",
    "business": {
      "business_name": "Acme Mexico SA de CV"
    },
    "address": {
      "line_one": "Av. Reforma 123",
      "city": "Ciudad de México",
      "country": "MX",
      "postal_code": "06600"
    }
  },
  "creditor_agent": {
    "bank_name": "BBVA México",
    "country_code": "MX",
    "address": {
      "line_one": "Av. Paseo de la Reforma 505",
      "city": "Ciudad de México",
      "country": "MX",
      "postal_code": "06500"
    }
  },
  "amounts": {
    "instructed_amount": 1000000,
    "instructed_currency_code": "USDC",
    "settlement_currency_code": "MXN",
    "settlement_amount": 17461350,
    "settlement_exchange_rate": 1746
  },
  "payment_purpose": {
    "type": "invoice_payment"
  },
  "reference": "INV-MXN-2026-001",
  "status": "posted",
  "created_at": "2026-02-24T11:22:33Z",
  "updated_at": "2026-02-24T11:22:33Z"
}
```

## Get Started

Learn how to call the `POST /v0/blockchain_payments` based on if your funds are in dollars at Lead or in stablecoins in a wallet you control.

<Columns cols={2}>
  <Card title="USD Funding Source" icon="panel-left-close" href="/api-integrations/blockchain-payments/usd-funding-source" cta="Let's go">
    Debtor sends dollars from Lead. 
  </Card>

  <Card title="Stablecoin Funding Source" icon="panel-right-close" href="/api-integrations/blockchain-payments/supported-blockchains-and-fiat-rails" cta="Let's go">
    Debtor sends stablecoins from a wallet they control. 
  </Card>
</Columns>
