MPC API

API endpoints

MPC API

MPC endpoints initialize the organization's default MPC key and expose Co-Signer and per-chain readiness.

Initialize MPC

POST /api/v1/mpc/initialize

Required scope: mpc:initialize

Send the exact two-byte JSON body {} with Content-Type: application/json. Set X-Api-Body-Hash and the canonical BODY_HASH line to 44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a. A zero-length body is invalid. The bundled client supplies and signs {} automatically.

The operation is idempotent per organization and idempotency key. Retry the same {} request with the same key after a timeout. A conflicting fingerprint returns 400 mpc.errors.IDEMPOTENCY_CONFLICT.

Read MPC status

GET /api/v1/mpc/status

Required scope: mpc:read

The response contains:

  • orgId;
  • nullable keyId;
  • nullable keyStatus: PROVISIONING or ACTIVE;
  • Co-Signer status;
  • per-chain readiness in chains.

Do not create wallets until the relevant chain reports readiness and the Co-Signer is online.

Operational sequence

  1. Install and start the client-run Co-Signer.
  2. Confirm its local health endpoint.
  3. Confirm Online status in BroSettlement Console.
  4. Call MPC initialization once with a durable idempotency key.
  5. Poll MPC status until the key and target chain are ready.