# Start the Auxiliary Ceremony

A CGGMP wallet's second ceremony, run once after the DKG and before the first signature.

## Overview

- A wallet made with `scheme: "cggmp"` ([Start DKG Ceremony](https://docs.aureahub.com/docs/mpc-dkg-start.md)) needs one more ceremony before it can sign: the auxiliary-information ceremony, which turns each party's key share into a share that can sign. Run it once, after [Register MPC Wallet](https://docs.aureahub.com/docs/mpc-wallet-register.md) and before the first [signing ceremony](https://docs.aureahub.com/docs/mpc-sign-start.md).
- This call opens the session and has Aurea's cosigner join it; the device joins the returned `sessionId` through the relay and runs the ceremony's message loop, as for the DKG. The ceremony is heavy computation on the device: run it off the main thread.
- A GG18 wallet has no auxiliary ceremony: `409`.
- `auxRecovery: true` runs it again for a wallet that lost its device share before its first signature, from its backup ([MPC Wallet Setup › A Lost Device Before the First Signature](https://docs.aureahub.com/docs/guide-wallet-setup.md)): `409` `MPC_AUX_RECOVERY_REFUSED` with `details.reason` for a wallet that cannot run one.
- A wallet whose ceremonies are paused after repeated failures answers `409` `MPC_WALLET_ABORT_HOLD` (write to [help@aureahub.com](mailto:help@aureahub.com)); a cosigner paused after a failed ceremony, `503` `MPC_COSIGNER_QUARANTINED` (try again later).

## Endpoint

### `POST /v1/mpc/wallets/{walletId}/aux/start`

Authentication: bearer token required.

Opens the CGGMP auxiliary-information ceremony of one of the user's MPC wallets.

**Path parameters**

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `walletId` | string | yes | The MPC wallet's id |

**Request body**

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `wireVersion` | integer | no | The relay version your client speaks: `2`, or `1` where your tenant may still use it. Omitted: `1`. The body may be `{}`. |
| `auxRecovery` | boolean | no | `true`: the recovery second ceremony of a wallet that lost its device share before its first signature, run by the client restored from the backup as `DEVICE` and `BACKUP`. Relay version 2 only. |

**Responses**

`200` OK

```json
{ "sessionId": "aux-6f1c2e0a-…" }
```

`403` Not Yours

```json
{ "error": "not your wallet" }
```

`404` Not Found

```json
{ "error": "mpc wallet not found" }
```

`409` Not CGGMP

```json
{ "error": "aux ceremony is CGGMP-only" }
```

`409` No Recovery

```json
{
  "statusCode": 409,
  "error": "ConflictError",
  "message": "This wallet has signed: its lost device is replaced by a key refresh, not a recovery aux.",
  "details": { "code": "MPC_AUX_RECOVERY_REFUSED", "reason": "signed" }
}
```

`429` Too Many

```json
{ "error": "too many aux requests" }
```

---

Web version: https://docs.aureahub.com/#mpc-aux-start
