Provision a wallet
Provisioning a managed wallet generates a new private key, encrypts it, and returns the wallet address. The wallet is ready to receive payments immediately after provisioning.- Dashboard
- SDK
- cURL
Dashboard support for wallet provisioning is coming soon. Use the SDK or cURL to provision wallets.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Human-readable label for this wallet. Shown in the dashboard. |
chain | Chain | Yes | The blockchain for this wallet. See supported chains. |
supportedTokens | Token[] | Yes | Tokens this wallet accepts. At least one required. |
network | string | No | "mainnet" or "testnet". Defaults to "mainnet". |
Chain and Token enums from @prudra/core:
Response fields
| Field | Type | Description |
|---|---|---|
id | string | Wallet ID. Prefix: mwt_. Use in walletMiddleware({ walletId }). |
address | string | The EVM wallet address. Share this with anyone sending funds to this wallet. |
chain | string | The chain this wallet is on. |
chainId | number | The numeric chain ID. |
provisionStatus | string | "active" when ready. "provisioning" briefly at creation. |
supportedTokens | string[] | Tokens configured for this wallet. |
keyVersion | string | Opaque key version identifier. Used internally — you don’t need to store this. |
createdAt | string | ISO timestamp of creation. |
After provisioning
Once the wallet is provisioned:- Use the wallet ID in
walletMiddleware:walletMiddleware({ walletId: wallet.id }) - Share the wallet
addresswith agents or fund it directly - Verify the wallet is active by checking
provisionStatus === 'active'
Plan limits
| Plan | Managed wallets | Chains |
|---|---|---|
| Hobby | 1 managed wallet | 1 chain |
| Pro | 1 managed wallet | 5 chains |
| Enterprise | Unlimited | Unlimited |
Error handling
| Error | Status | Cause | Resolution |
|---|---|---|---|
managed-wallet-limit-reached | 429 | Plan limit exceeded | Upgrade to Pro or Enterprise |
chain-limit-reached | 429 | Too many active chains | Upgrade plan or use fewer chains |
chain-not-supported | 422 | Invalid chain value | See supported chains |
Next steps
- Derive child addresses — issue per-customer addresses from this wallet
- Check a wallet balance — verify funds after provisioning
- Accept a payment — use this wallet in payMiddleware

