Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.prudra.dev/llms.txt

Use this file to discover all available pages before exploring further.

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 support for wallet provisioning is coming soon. Use the SDK or cURL to provision wallets.

Parameters

ParameterTypeRequiredDescription
namestringYesHuman-readable label for this wallet. Shown in the dashboard.
chainChainYesThe blockchain for this wallet. See supported chains.
supportedTokensToken[]YesTokens this wallet accepts. At least one required.
networkstringNo"mainnet" or "testnet". Defaults to "mainnet".
Use the Chain and Token enums from @prudra/core:
import { Chain, Token } from '@prudra/core';

// Chain enum values
Chain.BASE       // 'base'      — chainId: 8453
Chain.ETHEREUM   // 'ethereum'  — chainId: 1
Chain.OPTIMISM   // 'optimism'  — chainId: 10
Chain.ARBITRUM   // 'arbitrum'  — chainId: 42161
Chain.POLYGON    // 'polygon'   — chainId: 137
Chain.TEMPO      // 'tempo'     — chainId: 4217

// Token enum values
Token.USDC       // 'USDC'
Token.USDT       // 'USDT'
Token.USDC_E     // 'USDC.e' (Tempo)

Response fields

FieldTypeDescription
idstringWallet ID. Prefix: mwt_. Use in walletMiddleware({ walletId }).
addressstringThe EVM wallet address. Share this with anyone sending funds to this wallet.
chainstringThe chain this wallet is on.
chainIdnumberThe numeric chain ID.
provisionStatusstring"active" when ready. "provisioning" briefly at creation.
supportedTokensstring[]Tokens configured for this wallet.
keyVersionstringOpaque key version identifier. Used internally — you don’t need to store this.
createdAtstringISO timestamp of creation.

After provisioning

Once the wallet is provisioned:
  1. Use the wallet ID in walletMiddleware: walletMiddleware({ walletId: wallet.id })
  2. Share the wallet address with agents or fund it directly
  3. Verify the wallet is active by checking provisionStatus === 'active'

Plan limits

PlanManaged walletsChains
Hobby1 managed wallet1 chain
Pro1 managed wallet5 chains
EnterpriseUnlimitedUnlimited
Attempting to provision beyond the limit returns:
{
  "type": "https://api.prudra.dev/problems/managed-wallet-limit-reached",
  "title": "Limit Reached",
  "status": 429
}

Error handling

ErrorStatusCauseResolution
managed-wallet-limit-reached429Plan limit exceededUpgrade to Pro or Enterprise
chain-limit-reached429Too many active chainsUpgrade plan or use fewer chains
chain-not-supported422Invalid chain valueSee supported chains

Next steps