# List Wallet Setups

Every MPC wallet of the signed-in user, newest first, with its setup's state and next step: what your app reads on start to resume a setup.

## Overview

- Newest first, retired wallets included. Resume the newest one whose `state` is not `active` or `retired`, from its `nextStep` — never a second key generation ([MPC Wallet Setup › Resume After a Reload](https://docs.aureahub.com/docs/guide-wallet-setup.md)).
- Each item is the answer of [Get a Wallet's Setup](https://docs.aureahub.com/docs/mpc-setup-get.md).
- **Who.** The signed-in user, with an access token whose role runs MPC ceremonies (`owner`, `tenantadmin`, `signer`, `user`): their own wallets only.

## Endpoint

### `GET /v1/mpc/wallets/setup`

Authentication: bearer token required.

Lists the caller's MPC wallets with their setup.

**Responses**

`200` OK

```json
{
  "data": [
    {
      "walletId": "7c1e9b24-3f5a-4d8e-9b6c-1a2f3e4d5c6b",
      "address": "0xAbCd…",
      "chain": "base",
      "isTestnet": true,
      "curve": "secp256k1",
      "scheme": "cggmp",
      "state": "aux_running",
      "nextStep": "wait_for_aux",
      "backupConfirmedAt": null,
      "backupConfirmedBy": null,
      "canReceive": false,
      "canSpend": false,
      "steps": {
        "dkgStartedAt": "2026-11-05T09:29:40.000Z",
        "registeredAt": "2026-11-05T09:29:55.000Z",
        "auxStartedAt": "2026-11-05T09:29:57.000Z",
        "auxCompletedAt": null,
        "backupProvenAt": null,
        "backupReportedAt": null,
        "activatedAt": null,
        "retiredAt": null
      },
      "retiredReason": null,
      "sharesKeptUntil": null
    }
  ]
}
```

`401` Unauthorized

```json
{ "statusCode": 401, "error": "UnauthorizedError", "message": "Unauthorized" }
```

**Example request**

```bash
curl https://api.aureahub.com/v1/mpc/wallets/setup \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
```

---

Web version: https://docs.aureahub.com/#mpc-setup-list
