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
This is an empty-body request. Do not send {}. The current Swagger marks X-Api-Body-Hash as required, but verified staging behavior differs: send an explicit zero-length application/x-www-form-urlencoded body, keep the canonical BODY_HASH line empty, and omit X-Api-Body-Hash. The bundled client handles this staging compatibility exception.
The operation is idempotent per organization and idempotency key. Retry the same empty-body 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:PROVISIONINGorACTIVE; - 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
- Install and start the client-run Co-Signer.
- Confirm its local health endpoint.
- Confirm
Onlinestatus in BroSettlement Console. - Call MPC initialization once with a durable idempotency key.
- Poll MPC status until the key and target chain are ready.