Skip to main content
Since this is a server-side SDK, the wallets are not self-custodial.
PIN is weak — not recommended for production.A user-typed PIN is a short, low-entropy string. Anyone who shoulder-surfs the PIN, observes a phishing form, or compromises the browser at typing time can decrypt the wallet’s private key. PIN remains in the SDK only as a fallback recovery surface for users who lose access to their platform authenticator.Production embedded-wallet apps should default to a platform passkey (Touch ID, Face ID, Windows Hello, Android biometrics) via the @chipi-stack/chipi-passkey package. For SHHH V8.4 wallets, signerKind: "WEBAUTHN_P256" keeps the private key inside the platform authenticator — it never leaves the device, never reaches Chipi servers, and is never derived from a user-typed secret.Only prompt for a PIN as the encryption key when:
  • The user explicitly opted into a PIN-only flow (e.g. cold-storage / paper-backup recovery), or
  • The platform genuinely has no WebAuthn / biometric support available.
If you are migrating an existing PIN-based wallet to a passkey, look up useMigrateWalletToPasskey in your framework’s hook docs.
1

Install the Backend SDK

2

Get your API Keys

  1. Go to your API Keys in the Chipi Dashboard
  2. Copy your Public Key (pk_prod_xxxx) and Secret Key (sk_prod_xxxx)
Keep your Secret Key secure and never expose it in client-side code or version control.
3

Initialize the SDK

Create a new instance of the ChipiServerSDK with your API keys:
4

Create Your First Wallet

Now you can create a wallet for your users:
5

Make Your First Transfer

Transfer tokens between wallets:

Next Steps

Now that you have the basic setup working, explore more advanced features:

Security Best Practices

  • Never expose your secret API key in client-side code
  • Use environment variables for API keys in production
  • Validate user inputs before making API calls
  • Implement proper error handling and logging
Need help? Join our Telegram Community for support and to connect with other developers.