> ## Documentation Index
> Fetch the complete documentation index at: https://docs.blockops.network/llms.txt
> Use this file to discover all available pages before exploring further.

# Wallet API

> Base URL, authentication and conventions for the Blockops Wallet API.

The Wallet API is the programmatic interface to MPC Wallet Infrastructure: create wallets, attach assets, read addresses and balances, request withdrawals and signatures, and manage webhooks and API keys. The endpoint pages in this section are generated from the API's OpenAPI description.

## Base URL

| Environment | Base URL                                  |
| :---------- | :---------------------------------------- |
| Sandbox     | `https://wallet-sandbox.blockops.network` |
| Production  | Issued with your production credentials.  |

All paths below are relative to the base URL and begin with `/api/v1`.

## Authentication

Every request is signed with an API key. Three headers are required:

| Header             | Value                                                                                                            |
| :----------------- | :--------------------------------------------------------------------------------------------------------------- |
| `ACCESS-API-KEY`   | The key identifier.                                                                                              |
| `ACCESS-TIMESTAMP` | Unix time in seconds when the request was signed. Requests more than five minutes from server time are rejected. |
| `ACCESS-SIGN`      | HMAC-SHA256 of the canonical string, using the key secret, hex-encoded.                                          |

The canonical string is:

```text theme={null}
method=<METHOD>&path=<PATH>&timestamp=<TIMESTAMP>&body=<RAW BODY>
```

`<PATH>` is the request path including the query string; `<RAW BODY>` is the exact request body, or empty for requests without one. Each key carries a set of scopes and may be bound to specific wallets and IP ranges; see [Access control](/security/access-control).

## Conventions

* **Envelope.** Responses have the shape `{ "success": bool, "message": string, "code": string, "data": … }`. Errors use the same envelope with `success: false`.
* **Idempotency.** Send `X-Idempotency-Key` on write requests; a repeated key returns the original result rather than creating a second operation.
* **Asynchronous creation.** `POST /api/v1/wallets` returns `202 Accepted`; poll the creation-status endpoint until the wallet is ready.
* **Frozen workspace.** While withdrawals are frozen, withdrawal and signing requests return `423 Locked`.

For the concepts behind these endpoints, start with the [Wallets & signing overview](/wallets/overview).
