Declare self-hosted counterparty

Creates a DECLARED self-hosted counterparty for userId + application. For subType OWNED, optional signature and signedMessage verify wallet control; the signed message format and UTC date rules are enforced server-side (embedded DD/MM/YYYY must be yesterday, today, or tomorrow in UTC).

Example signedMessage (replace address, userId, and the date so the date is valid in UTC):

I am verifying ownership of the wallet address {address} as customer {userId}. This message was signed on {DD/MM/YYYY} to confirm my control over this wallet.

Sign it with the wallet that owns address, then send the resulting signature with the same signedMessage text you signed (see request body examples).

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params
uuid
required

User this counterparty belongs to.

string
required

Wallet address.

string
required

e.g. ethereum

string
enum
required

OWNED or third-party self-hosted.

Allowed:
string

Optional on subType OWNED; required together with signedMessage when proving wallet control at declaration. Must be a valid signature for signedMessage from the declared address on the given blockchain (EVM personal_sign, Bitcoin signed message, or Solana Ed25519 detached, per server support).

string

Optional on subType OWNED; pairs with signature. When both are sent, the message must match exactly (after extracting the embedded date). The same string is sent as message on PATCH /counterparty/{counterpartyId} wallet verification (declare uses this field name signedMessage).

I am verifying ownership of the wallet address {address} as customer {userId}. This message was signed on {DD/MM/YYYY} to confirm my control over this wallet.

{address} and {userId} are the same strings as in the JSON body. {DD/MM/YYYY} is the calendar date in UTC and must be yesterday, today, or tomorrow relative to the server's current UTC date when the request is processed.

Example: I am verifying ownership of the wallet address {address} as customer {userId}. This message was signed on {DD/MM/YYYY} to confirm my control over this wallet.

string
enum

Required when subType is THIRD_PARTY (person vs legal entity). Ignored for OWNED (server clears third-party payload for owned self-hosted).

Allowed:
string

Given name (natural person).

string

Family name (natural person).

string

Country code (natural person).

string

Date of birth (natural person).

string

Place of birth (natural person).

string

Registered name (legal entity).

string

Legal entity identifier (legal entity).

Responses

Language
Credentials
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json