Skip to main content

Create a Wallet

POST /v1/wallets Headers:
  • X-API-Key: sk_...
  • X-Request-Id (optional)
Body:
{
  "type": "EVM",
  "userIdentifier": "[email protected]",
  "userIdentifierType": "EMAIL"
}
Field details:
  • userIdentifier is the user handle you want Para to anchor the wallet to (for example email, phone, or your own customer id). Para enforces one wallet per (type, scheme, userIdentifier) combination for the partner.
  • userIdentifierType tells Para how to validate and normalize the identifier. Use:
    • EMAIL: standard email format.
    • PHONE: E.164 or other libphonenumber-supported formats.
    • CUSTOM_ID / GUEST_ID: partner-defined strings; Para stores them for later lookups.
    • TELEGRAM: numeric Telegram user id.
    • DISCORD / TWITTER: string handles; Para performs best-effort validation.
Response:
{
  "wallet": {
    "id": "...",
    "type": "EVM",
    "status": "creating",
    "createdAt": "2025-01-01T00:00:00Z"
  },
  "scheme": "DKLS"
}
Notes:
  • Scheme: omit to use defaults (DKLS for EVM/COSMOS, ED25519 for SOLANA). COSMOS cosmosPrefix defaults to cosmos.
  • Status: starts as creating; once ready, address and publicKey are present.

Get a Wallet

GET /v1/wallets/:walletId Headers:
  • X-API-Key: sk_...
  • X-Request-Id (optional)
Response:
{
  "id": "...",
  "type": "EVM",
  "status": "ready",
  "address": "0xabc...",
  "publicKey": "0x04...",
  "createdAt": "2025-01-01T00:00:00Z"
}
address and publicKey are omitted until the wallet reaches ready. A missing wallet returns 404 Not Found.