Bind an existing external wallet to an investor (caller-supplied)

Caller supplies an external network account they own. ownershipSignature is
required as proof-of-ownership and is verified by the LA. Async: returns 202 { cid }. If the
wallet is already bound to another investor — or to the same investor on the same
(org, asset) — completion reports WALLET_ALREADY_BOUND (409). A bad signature
reports WALLET_BAD_SIGNATURE (400).

Path Params
string
required
length ≤ 150
^[^:](?:.+):101:(?:.+)

ID of the investor profile

Body Params

Request body for POST /profiles/investor/{investorId}/account/bind.
Caller supplies an external wallet plus a proof-of-ownership signature.
The LA still issues a challenge (typically signatureTemplate) for final verification.

string
required
length between 1 and 150
^[^:]*$

Organization Id

string
required

ID of the asset

networkAccount
required
string
required

Hex-encoded proof-of-ownership signature over the network account. The signed
payload binds the account to the investor/org/asset so that knowing an address
alone is not enough to claim it. Treated as a hint; final verification is via
the challenge issued by the LA.

Headers
string
required

32 bytes buffer (24 randomly generated bytes by the client + 8 bytes epoch timestamp seconds) encoded to hex:

const nonce = Buffer.alloc(32);
nonce.fill(crypto.randomBytes(24), 0, 24);

const nowEpochSeconds = Math.floor(new Date().getTime() / 1000);
const t = BigInt(nowEpochSeconds);
nonce.writeBigInt64BE(t, 24);

Responses

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