Skip to main content
POST
Create a recipient address

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

X-Sca-Challenge-Id
string<uuid>

The challengeId returned by POST /v1/accounts/passkeys/challenges. Required for end users under EEA/FR legal entities (PSD2 SCA). Omit for all other end users.

Example:

"b2c3d4e5-f6a7-8901-bc23-def456789012"

X-Sca-Assertion
string

The signed assertion string returned by the DAA web SDK's sca.approve method. Required for end users under EEA/FR legal entities (PSD2 SCA). Pass the value through unchanged — do not base64-encode or re-serialize it.

Body

application/json

Adds a recipient address. The currency parameter will default to USD for all chains except for BTC where it defaults to BTC.

idempotencyKey
string<uuid>
required

Universally unique identifier (UUID v4) idempotency key. This key is utilized to ensure exactly-once execution of mutating requests.

Example:

"ba943ff1-ca16-49b2-ba55-1057e70ca5c7"

address
string
required

An alphanumeric string representing a blockchain address. Formatting varies by blockchain. Be sure to preserve the exact formatting and capitalization of the address.

Example:

"0x8381470ED67C3802402dbbFa0058E8871F017A6F"

chain
enum<string>
required

A blockchain that a given currency is available on.

Available options:
ALGO,
APTOS,
ARB,
AVAX,
BASE,
BTC,
CELO,
CODEX,
ETH,
HBAR,
HYPEREVM,
INK,
LINEA,
NEAR,
NOBLE,
OP,
PLUME,
PAH,
POLY,
SEI,
SOL,
SONIC,
SUI,
UNI,
WORLDCHAIN,
XDC,
XLM,
XRP,
ZKS,
ZKSYNC
Example:

"ETH"

description
string
required

An identifier or sentence that describes the recipient.

Example:

"My USDC address at a cryptocurrency exchange"

riskSignals
object
required

Risk metadata for the end user initiating the request. All three fields must be present.

deviceId must be the identifier returned by checkDevice() in the @circle-fin/device-checks SDK. Circle resolves it against the device check that produced it, so an identifier you generate yourself does not resolve. When it does not resolve, the request is accepted and then declined: the endpoint returns 201, and the transaction later settles as failed with errorCode transfer_denied. See Collect device risk signals.

clientEntityId
string<uuid>

Identifier of the client entity. Required for 3rd-party flows.

Example:

"a3f1b2c4-d5e6-7890-abcd-ef1234567890"

addressTag
string | null

The secondary identifier for a blockchain address. An example of this is the memo field on the Stellar network, which can be text, ID, or hash format.

Example:

"123456789"

currency
enum<string> | null

A currency associated with a balance or address.

Available options:
USD,
EUR
ownership
object

Ownership and custody of the wallet, used for Travel Rule and compliance.

Response

Successfully added a recipient address.

data
object