> ## 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.

# Receiving Blockchain Payments

> Handle incoming blockchain payments: endpoint and requirements

Use a `blockchain_deposit_address` to create an inbound-only address and bind it to an account number. The address accepts stablecoins and automatically off-ramps them to USD in the bound account number.

<img src="https://mintcdn.com/lead/jZQHI4E63bs5Mp5E/images/blockchain_deposit_address-1.png?fit=max&auto=format&n=jZQHI4E63bs5Mp5E&q=85&s=66059147ad6be62409601deceb0e0263" alt="Blockchain Deposit Address 1" width="2246" height="193" data-path="images/blockchain_deposit_address-1.png" />

When stablecoins are received to a `blockchain_deposit_address`, a blockchain\_payment is created and the object moves through the `blockchain_payment` life cycle. 

<img src="https://mintcdn.com/lead/jZQHI4E63bs5Mp5E/images/blockchain_deposit_address_life_cycle.png?fit=max&auto=format&n=jZQHI4E63bs5Mp5E&q=85&s=368aa0f072214aa0449cd585697723a9" alt="Blockchain Deposit Address Life Cycle" width="3321" height="516" data-path="images/blockchain_deposit_address_life_cycle.png" />

The resulting blockchain\_payment object will contain the debtor’s wallet address, the token, the blockchain used and the id of the blockchain\_deposit\_address the funds were sent to. The tracking identifier will be a transaction\_hash. 

A `blockchain_deposit_address` is bound to only one account\_number\_id. An `account_number_id` can have many `blockchain_deposit_addresses` pointing to it. 

The `blockchain_deposit_address` is for a single network & token pair, however, the address can repeat across networks.

<img src="https://mintcdn.com/lead/jZQHI4E63bs5Mp5E/images/blockchain_deposit_address_account_number.png?fit=max&auto=format&n=jZQHI4E63bs5Mp5E&q=85&s=e9be2b84989ca4c71bd1a4fd1d9d5c9d" alt="Blockchain Deposit Address Account Number" width="1793" height="1099" data-path="images/blockchain_deposit_address_account_number.png" />

<Warning>
  Stablecoins will be lost if they are sent to the wrong network or in a token that is not configured
</Warning>

### Requirements

* `blockchain_payments` endpoint enabled
* An active `account_number_id`. See [Create an Account Number](/api-reference/endpoint/account-number/create-an-account-number).

### Statuses & webhooks

A `blockchain_deposit_address` is created with a status of `active`. Only Lead can move it to `closed`. When a `blockchain_deposit_address` is closed, payments sent to it are not posted.

<table>
  <colgroup>
    <col width="100" />

    <col width="602" />
  </colgroup>

  <thead>
    <tr>
      <td>**Status**</td>
      <td>\*\*Definition \*\*</td>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>`active`</td>
      <td>In use and can receive payments</td>
    </tr>

    <tr>
      <td>`closed`</td>
      <td>Deposit addresses can no longer accept incoming funds; no blockchain\_payment object will be created. Terminal state. Only Lead can move a blockchain\_deposit\_address to this state.</td>
    </tr>
  </tbody>
</table>

There are no independent webhooks. A blockchain\_payment webhook is created after stablecoins are received. 

<Warning>
  When funds arrive at a `blockchain_deposit_address`, Lead creates a `blockchain_payment` and screens the sending wallet. If the screen passes, the payment moves to `submitted`. If it fails, the payment moves to `rejected` and the funds are held.
</Warning>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.