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

# Blockchain Payments Validations & Best Practices 

> Best practices to reduce blockchain payment validation exceptions 

## Outgoing payments

### Validations

Lead runs the following validations on every outgoing payment.

* POST API call validations - Please refer to the API Spec for API call validations.  
* **Prohibited countries.** Lead checks the creditor and the creditor agent against Lead's prohibited countries list. A match results in a rejection.
* **Sanctions screening.** Lead checks the creditor against the OFAC list. A match results in a rejection and triggers Lead's review.
* Minimums - Payments must be at least \$3
* Balance - Must have enough USD in the account\_number\_ID 
* USDB Restrictions - Creditor entity cannot be in the EEA
* **Settlement currency must match the rail.** See [Supported Blockchains and Fiat Rails](/products/blockchain-payments/supported-blockchains-and-fiat-rails).

#### FX Payouts Only

<u>Lead</u> verifies if the receiving foreign account is active and that the name on the account matches the name submitted in the request for PIX, bre\_b, SPEI. This verification is asynchronous and can take several minutes based on rail. 

The wait times by rail. If the account status and name cannot be verified within the window, the payment is rejected.

| Rail | Max wait |
| - | - |
| PIX | 3 minutes |
| SPEI | 21 minutes |
| bre\_b | 21 minutes |

If verification does not complete within the time window, you can retry the payment. It will likely have completed by then.

If the account holder's name does not match, Lead will not expose the account holder’s name in the error response. You are responsible for knowing the name of the creditor.  

### Best Practices

**Multiple last names**:  If the creditor has multiple first and last names, be sure to stack the names in the API call so that the name matching passes. For example, Caroline Elizabeth Phelps Smith should be sent as first\_name: Caroline Elizabeth and last\_name: Phelps Smith

**Tracking**: A tracking identifier is added after the payment has been posted. The tracking identifier uses the widely accepted conventional name of that rail. For example, wires use the term OMAD while ACH uses a trace\_number. 

**FX rates:** The FX payout rate is posted after settlement and cannot be retrieved upfront.

## Inbound payments

### Best Practices

**Ensure the account\_number is active:** A `blockchain_deposit_address` can only be created for an active `account_number`. However, the `account_number` can later move out of the active state. When this happens, Lead will continue to off-ramp and settle funds in the parent account. It is best practice to notify all your counterparties that the `blockchain_deposit_address` is no longer active to avoid receiving payments. 

**Handling refunds:** Lead cannot stop funds being sent to a blockchain\_deposit\_address onchain. Thus, all received payments are automatically auto-offramped. To refund an off-ramped stablecoin payment, use the blockchain\_payments endpoint to create a new outbound stablecoin payout. Currently there is no way to link the payment as a refund in Lead’s system. 

**Creating addresses across blockchains**: Since addresses for EVMs compatible chains can repeat across EVM chains, it is best practice to create an address on every EVM chain you expect to receive funds on so that funds are not lost if sent to the wrong chain. 


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