Setting the file. One moment.
Subchapter 4.4
references/base-account/overview.mdMarkdown3 KBView on GitHub
Base Account is an ERC-4337 smart wallet providing universal sign-on, one-tap USDC payments, and multi-chain support (Base, Arbitrum, Optimism, Zora, Polygon, BNB, Avalanche, Lordchain, Ethereum Mainnet).
npm install @base-org/account @base-org/account-uiimport { createBaseAccountSDK } from '@base-org/account';
const sdk = createBaseAccountSDK({
appName: 'My App',
appLogoUrl: 'https://example.com/logo.png',
appChainIds: [8453], // Base Mainnet
});
const provider = sdk.getProvider();Read the reference for the feature you’re implementing:
| Feature | Reference | When to Read |
|---|---|---|
| Sign in with Base | authentication.md | Wallet auth, SIWE, backend verification, SignInWithBaseButton, Wagmi/Privy setup |
| Base Pay | payments.md | One-tap USDC payments, payerInfo, server-side verification, BasePayButton |
| Subscriptions | subscriptions.md | Recurring charges, spend permissions, CDP wallet setup, charge/revoke lifecycle |
| Sub Accounts | sub-accounts.md | App-specific embedded wallets, key generation, funding |
| Capabilities | capabilities.md | Batch transactions, gas sponsorship (paymasters), atomic execution, auxiliaryFunds, attribution |
| Prolinks | prolinks.md | Shareable payment links, QR codes, encoded transaction URLs |
| Troubleshooting | troubleshooting.md | Popup issues, gas usage, unsupported calls, migration, doc links |
Cross-Origin-Opener-Policy: same-origin-allow-popupssame-origin breaks the Base Account popuppay()testnet param in getPaymentStatus() must match pay() callauxiliaryFunds capabilitywallet_addSubAccount each session before useverifyMessage/verifyTypedData handle this automatically