node --versionThe recommended entry point for most developers:
npm install @bsv/simple @bsv/sdk@bsv/sdk is a peer dependency and must be installed alongside @bsv/simple.
| Import path | Environment | Use case |
|---|---|---|
@bsv/simple/browser | Browser | Connect to user's wallet extension |
@bsv/simple/server | Node.js | Self-custodial server wallet |
import { createWallet, Certifier, DID, Overlay } from '@bsv/simple/browser'
import { CredentialSchema, CredentialIssuer, MemoryRevocationStore } from '@bsv/simple/browser'import { ServerWallet, FileRevocationStore } from '@bsv/simple/server'In Next.js or frameworks with mixed SSR/browser bundling, use dynamic import to keep server-only deps out of the browser bundle:
const { ServerWallet } = await import('@bsv/simple/server')No additional @types/ packages needed — @bsv/simple ships full TypeScript declarations.
import type { BrowserWallet } from '@bsv/simple/browser'
import type { PaymentOptions, TokenOptions } from '@bsv/simple'Turbopack requires extra config to prevent server-only packages from being bundled for the browser. Add this to next.config.ts:
const nextConfig = {
serverExternalPackages: ['@bsv/wallet-toolbox', '@bsv/simple']
}
export default nextConfigThen import @bsv/simple/server only in Server Components or API routes. See the Next.js integration guide for the complete setup.
No special configuration needed. Import from @bsv/simple/browser in your components.
No special configuration needed. Use @bsv/simple/server for Node.js scripts and agents.
If you need direct access to cryptographic primitives, Script, transaction construction, or BEEF encoding — skip @bsv/simple and use the SDK directly:
npm install @bsv/sdkSee @bsv/sdk for the full API surface.