Key Custody

Create a Tron 2-of-3 native multisig wallet (client_multisig)

Beta (same rollout flags as self-custody creation; see GET /v1/keys/tss/chains multisig_chains). The page generates the device key D and the recovery key R, proves possession of each, and seals both into the offline recovery kit before calling this; the vault adds its own key V (escrowed) and records the wallet as pending_activation. The address is D's, so until activation the customer alone controls it. Each proof is a 65-byte recoverable ECDSA signature (r ‖ s ‖ v, low-S) over sha256("1claw-multisig-pop-v1" ‖ user_id (16 bytes) ‖ chain ‖ 0x00 ‖ role ‖ 0x00 ‖ public key bytes), role device or recovery. Needs a passkey with PRF (D is then wrapped under it, PUT /v1/keys/{key_id}/client-share). Owner only. Audited treasury_wallet.multisig_created.

post/v1/treasury/multisig/wallets

Request

  • Base URL: https://api.1claw.co
  • URL: https://api.1claw.co/v1/treasury/multisig/wallets
  • Auth: HTTP bearer

Request body

chain'tron' | 'tron-nile' | 'tron-shasta' required
device_public_keystring required

Hex SEC1 public key of D (the account key).

recovery_public_keystring required

Hex SEC1 public key of R (kit only).

device_proofstring required

Hex 65-byte signature by D over its proof-of-possession digest.

recovery_proofstring required

Hex 65-byte signature by R over its proof-of-possession digest.

kit_sealedboolean

The page sealed a recovery kit holding D and R before calling. With R's proof, records kit coverage for generation 1.

Response

The wallet, pending activation

key_idstring uuid required
chainstring required
addressstring required

The account address (D's).

custody'client_multisig' required
status'pending_activation' | 'active' required
activation_min_suninteger required

What the account must hold before activation (101 TRX), in sun.

Changes

No recorded changes to this operation across all 1 revision of this API.