---
title: "Create blockchain recipient"
method: POST
path: "/v1/blockchain_recipients"
tags: ["Blockchain Recipient"]
---

# Create blockchain recipient

`POST /v1/blockchain_recipients`

Register a blockchain address as a withdrawal destination for a financial account

The recipient is created with a `PENDING` verification state and cannot receive a payout until
screening of the address completes. Registering an address that is already registered to the same
financial account returns the existing recipient and its current verification state, rather than
creating a second one

## Request body

- BlockchainRecipientRequest
  - `chain` string, required — The blockchain network that the address belongs to
  - `address` string, required — The blockchain address funds will be withdrawn to
  - `address_tag` string — An optional tag or memo used by some chains to identify the destination of a transfer within a shared address
  - `name` string — The nickname for this blockchain recipient
  - `owner` string, required — Legal name of the business or individual who owns the blockchain address
  - `owner_type` 'INDIVIDUAL' | 'BUSINESS', required
  - `account_token` string, uuid, required — The financial account the blockchain recipient belongs to

## Response `200`

OK, the address was already registered to this financial account

- BlockchainRecipient
  - `token` string, uuid, required — A globally unique identifier for this blockchain recipient
  - `chain` string, required — The blockchain network that the address belongs to
  - `address_tag` string, nullable, required — An optional tag or memo used by some chains to identify the destination of a transfer within a shared address
  - `external_id` string, nullable, required — The identifier the recipient is registered under with the payment provider
  - `name` string, nullable, required — The nickname for this blockchain recipient
  - `owner` string, required — Legal name of the business or individual who owns the blockchain address
  - `owner_type` 'INDIVIDUAL' | 'BUSINESS', required
  - `account_token` string, uuid, nullable, required — The financial account the blockchain recipient belongs to, or null when the recipient is registered against the program rather than a financial account
  - `program_id` string, uuid, required — Globally unique identifier for the program the blockchain recipient is associated with
  - `created` string, date-time, required — An ISO 8601 string representing when this blockchain recipient was created
  - `updated` string, date-time, required — An ISO 8601 string representing when this blockchain recipient was last updated
  - `state` 'ENABLED' | 'CLOSED' | 'PAUSED', required
  - `verification_state` 'PENDING' | 'ENABLED' | 'FAILED_VERIFICATION' | 'INSUFFICIENT_FUNDS', required

## Other responses

- `201` — Created
- `400` — A parameter in the query given in the request does not match the valid queries for the endpoint.
- `401` — | | | |---|---| | User has not been authenticated | Invalid or missing API key | | API key is not active | The API key used is no longer active | | Could not find API key | The API key provided is not associated with any user | | Please provide API key in Authorization header | The Authorization header is not in the request | | Please provide API key in the form Authorization: [api-key] | The Authorization header is not formatted properly | | Insufficient privileges. Issuing API key required | Write access requires an Issuing API key. Reach out at [lithic.com/contact](https://lithic.com/contact) | | Insufficient privileges to create virtual cards. | Creating virtual cards requires an additional privilege | Reach out at [lithic.com/contact](https://lithic.com/contact) |
- `409` — Conflict, the address is already registered to a different financial account
- `429` — Client has exceeded the number of allowed requests in a given time period. | | | |---|---| | Rate limited, too many requests per second | User has exceeded their per second rate limit | | Rate limited, reached daily limit | User has exceeded their daily rate limit | | Rate limited, too many keys tried | One IP has queried too many different API keys |

## Changes

- **2026-08-27** `76b96ae9a0b9` — 2 breaking
  - the response property `account_token` became nullable for the status `200`
  - the response property `account_token` became nullable for the status `201`
- **2026-08-12** `94be180633be` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/lithic-com/apis/lithic-developer-api/changes/v1/blockchain_recipients/post.md)

---

[API](https://skmtc.dev/lithic-com/apis/lithic-developer-api.md) · [All operations](https://skmtc.dev/lithic-com/apis/lithic-developer-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/lithic-com/lithic-developer-api/revisions/c9806df29604/schema)
