---
title: "Broadcast a multisig wallet's signed activation"
method: POST
path: "/v1/treasury/wallets/{chain}/multisig/activation/complete"
tags: ["Key Custody"]
---

# Broadcast a multisig wallet's signed activation

`POST /v1/treasury/wallets/{chain}/multisig/activation/complete`

## Request

- Base URL: `https://api.1claw.co`
- URL: `https://api.1claw.co/v1/treasury/wallets/{chain}/multisig/activation/complete`
- Auth: HTTP bearer

`raw` must be exactly what `activation` prepared and `device_signature`
D's signature over sha256(raw). Needs `X-Passkey-Token` from a passkey
assertion bound to action `tss_sign` and the hex sha256 of `raw`. The
vault re-checks the raw, broadcasts it with D's signature alone, and
waits a few blocks for the permissions to appear; poll
`activation/status` if it answers `pending_activation`. A second submit
of the same prepared raw is 409. Audited
`treasury_wallet.multisig_activation_sent` then
`treasury_wallet.multisig_activated`.

## Headers

- `X-Passkey-Token` string, required

## Request body

- MultisigSignedRawRequest
  - `raw` string, required: Base64 raw bytes exactly as prepared.
  - `device_signature` string, required: Hex 65-byte recoverable ECDSA signature (r ‖ s ‖ v, low-S) by D over sha256(raw).

## Response `200`

The wallet after broadcasting

- MultisigWalletResponse
  - `key_id` string, uuid, required
  - `chain` string, required
  - `address` string, required: The account address (D's).
  - `custody` 'client_multisig', required
  - `status` 'pending_activation' | 'active', required
  - `keys` MultisigKeys, required
    - `threshold` integer, required: Always 2.
    - `vault` MultisigKeyInfo, required
      - `address` string, required: Base58check Tron address, or a lowercase 0x EVM address for a Safe's owners.
      - `public_key` string, required: Hex SEC1 public key (33 or 65 bytes).
    - `device` MultisigKeyInfo, required
      - `address` string, required: Base58check Tron address, or a lowercase 0x EVM address for a Safe's owners.
      - `public_key` string, required: Hex SEC1 public key (33 or 65 bytes).
    - `recovery` MultisigKeyInfo, required
      - `address` string, required: Base58check Tron address, or a lowercase 0x EVM address for a Safe's owners.
      - `public_key` string, required: Hex SEC1 public key (33 or 65 bytes).
  - `activation_min_sun` integer, required: What the account must hold before activation (101 TRX), in sun.

## Other responses

- `400`: Invalid request
- `401`: Authentication required or invalid
- `403`: Insufficient permissions
- `404`: Resource not found
- `409`: Resource already exists or conflict

---

[API](https://skmtc.dev/1claw/apis/1claw-api.md) · [All operations](https://skmtc.dev/1claw/apis/1claw-api/llms.txt) · [OpenAPI document](https://skmtc.dev/1claw/apis/1claw-api/revisions/ae109b496830?raw)
