Before jumping to write code, consider whether a client-centric or server-centric architecture is most appropriate for your application.

Choosing one architecture is not a one way street, it is possible to access server generated wallets from the client side, and viceversa

Server Centric Architecture

Generate and manage wallets using an API key, from your server.

Perfect for applications that need to:

  • Create and manage wallets programmatically via REST API
  • Pre-generate wallets without the user present (e.g. for airdrops)
  • Create wallets for non-user entities (e.g. internal wallets for your business, or for AI agents)
  • Handle transactions server-side without user interaction

Not best suited for:

  • Self-custody: when you want your user to be the sole custodian of their wallet

Get Started with Server Wallets →

Client Centric Architecture

Generate and manage wallets linked to a user, secured by user credentials from auth.

Ideal for applications that want to:

  • Embed wallet functionality directly in web or mobile applications
  • Deploy wallets for users (i.e. not agents or other internal business wallets)
  • Require users to log in
  • Allow their users to self custody

Not best suited for:

  • When you want to deploy wallets not tied to a user entity
  • Applications that have a heavy need for making wallet actions when the user is not online

Get Started with Client Wallets →

Comparison

FeatureServer SideClient Side
Integration TypeREST APIClient SDKs
Key ManagementFull controlUser-managed
AuthenticationAPI KeyUser Auth (Passkeys/Email/Social…)
Chain SupportAll ChainsEVM and Solana
Best ForBackend Systems & AutomationWeb Apps & User Interaction
Transaction SigningServer-sideClient-side
CustodyBusiness, or HybridUser