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

Caller supplies an external network account they own, optionally with an
ownershipSignature hint. Proof-of-ownership is enforced by the ledger adapter
according to its own policy — typically a challenge (e.g. signatureTemplate)
the caller must fulfil, an out-of-band approval, or the adapter's own upfront
verification. 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, optionally with a proof-of-ownership
signature hint. Ownership verification is the ledger adapter's responsibility,
per its own policy.

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

Organization Id

string
required

ID of the asset

networkAccount
required
string

Optional hex-encoded proof-of-ownership signature over the network account.
The platform does not interpret it: it is forwarded to the ledger adapter
as-is, and whether (and how) it is verified is adapter policy.

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