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

# Production Checklist

> Validate your WalletSuite configuration before taking hosted agents live.

WalletSuite is a hosted platform — nothing to self-operate. Items are grouped by axis: **cross-cutting** (every deployment), **agent connection & capability** (hosted MCP agents), and **signing layer**.

## Cross-cutting (all surfaces)

### Credentials and authentication

* [ ] Production credentials issued — see [Credentials & Authentication](/getting-started/prerequisites/credentials-and-authentication)
* [ ] Credentials stored in a secret manager — not hardcoded in source, not committed to version control
* [ ] Rate limits reviewed and understood — see [Rate Limits](/getting-started/prerequisites/rate-limits)

### Error handling

All 6 error categories handled:

* [ ] `validation` — fix input and retry
* [ ] `upstream` — retry with exponential backoff
* [ ] `flow` — execute the `requiredAction` field before retrying *(MCP)*
* [ ] `auth` — halt the agent, alert the operator
* [ ] `limit` — back off, retry after the rate limit window
* [ ] `not_available` — inform the user the feature is not enabled

See [Structured Errors](/core-concepts/structured-errors).

### Security

* [ ] No private keys or mnemonics in source control or tool arguments
* [ ] No secrets passed as MCP tool parameters — credentials are exchanged server-side, never as tool input
* [ ] HTTPS enforced for all external URLs

Before going live, review: [Security Overview](/security/overview) · [Security Diligence](/security/diligence) · [Build & Supply Chain](/security/build).

## Agent connection & capability (hosted MCP agents)

### Per-agent tool profile and token scopes

One hosted platform serves every agent; each is scoped independently. Grant the minimum — see [Execution Levels](/ai-agents/execution-levels).

* [ ] Each agent bound to the minimum tool profile for its role (`read` / `prepare` / `execute` / `governed`)
* [ ] Read-only agents bound to the `read` profile — no `wallets:sign` scope present
* [ ] Token scopes requested at exchange match the agent's role — nothing beyond what the role needs
* [ ] Each agent's tool profile and scopes have a documented justification
* [ ] Confirmed that tools outside the profile are never registered — the tool profile is the prompt-injection boundary, not any per-agent runtime

### Connect flow

The server holds the long-lived agent key and authorizes the agent with it — see [Connect Your Agent](/ai-agents/token-exchange).

* [ ] Long-lived agent key stored in a secret manager — never in source, browser, prompt, or a downstream MCP call
* [ ] Agent key rotation policy documented
* [ ] Revocation path verified — revoking the agent key cuts the agent off (it is the revocation anchor)
* [ ] Short-lived token refreshed before it expires — re-authorize with the agent key
* [ ] Bearer never persisted, logged, or hardcoded

## Signing layer

### Policy gates

* [ ] At least one allowlist rule armed — matching on chain, operation type, contract, method, an optional destination, and an optional per-transaction amount cap in base units, with a mandatory expiry. See [Policy Gates](/core-concepts/policy-gates)
* [ ] Policy tested: verified that signing to a non-allowlisted destination or above the amount cap is denied
* [ ] Policy denial returns a `flow` error with `requiredAction` — verify your agent handles it. See [Policy Gates → What a Deny Does](/core-concepts/policy-gates#what-a-deny-does)
* [ ] Governed agents' rules administered through the [admin API](/core-concepts/managing-policy-rules); every decision lands in the [decision record](/core-concepts/policy-decisions)

### MPC threshold signing

Non-custodial: no full private key ever exists, and no single party can sign alone. See [Trust Model](/security/overview#trust-model).

* [ ] Customer-side share held in your own storage (database, HSM, device, or passkey-wrapped envelope) — never reaches WalletSuite; WalletSuite's share is envelope-encrypted at rest behind the scenes
* [ ] External BYO signer verified if used (KMS / HSM / multisig) — SDK or REST surfaces
* [ ] Co-signing latency monitored (typical warm path: 200–600ms)
* [ ] Audit trail export to SIEM configured if long-term retention is required — see [Audit Trail](/security/audit-trail)
* [ ] Alerts configured for signing failures and policy denials

## Deployment validation

* [ ] Connect flow returns a scoped token — server authorizes with the agent key and the MCP client points at the hosted endpoint. See [Connect Your Agent](/ai-agents/token-exchange)
* [ ] R0 read: a balance query returns expected balances
* [ ] R1 prepare: `prepare` returns a valid unsigned transaction
* [ ] R2 execute (if used): signing flow completes (MPC co-sign), broadcast confirms on-chain in staging
