building-with-base-account

Intègre le SDK Base Account pour l'authentification et les paiements. Couvre Sign in with Base (SIWB), Base Pay, les Paymasters, les Sub Accounts, les Spend Permissions, les Prolinks et les transactions par lot. À utiliser lors de la création d'applications avec authentification par wallet, paiements en USDC, transactions sponsorisées, fonctionnalités de smart wallet, abonnements récurrents, liens de paiement partageables, ou toute interaction onchain sur Base. Couvre les expressions comme « add sign in with Base », « SIWB button », « accept USDC payments », « Base Pay », « paymaster setup », « gas sponsorship », « smart wallet », « sub account », « spend permissions » ou « payment link ».

npx skills add https://github.com/base/skills --skill building-with-base-account

Développer avec Base Account

Base Account est un smart wallet ERC-4337 offrant une authentification universelle, des paiements USDC en un tap, et le support multi-chaînes (Base, Arbitrum, Optimism, Zora, Polygon, BNB, Avalanche, Lordchain, Ethereum Mainnet).

Démarrage rapide

npm install @base-org/account @base-org/account-ui
import { 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();

Références des fonctionnalités

Consultez la référence de la fonctionnalité que vous implémentez :

Fonctionnalité Référence Quand consulter
Sign in with Base references/authentication.md Auth wallet, SIWE, vérification backend, SignInWithBaseButton, setup Wagmi/Privy
Base Pay references/payments.md Paiements USDC en un tap, payerInfo, vérification côté serveur, BasePayButton
Subscriptions references/subscriptions.md Charges récurrentes, permissions de dépense, setup wallet CDP, cycle charge/révocation
Sub Accounts references/sub-accounts.md Portefeuilles embarqués spécifiques à l'app, génération de clés, financement
Capabilities references/capabilities.md Transactions par lot, parrainage de gaz (paymasters), exécution atomique, auxiliaryFunds, attribution
Prolinks references/prolinks.md Liens de paiement partageables, codes QR, URLs de transaction encodées
Troubleshooting references/troubleshooting.md Problèmes de popup, utilisation de gaz, appels non supportés, migration, liens de doc

Exigences critiques

Sécurité

  • Suivre les IDs de transaction pour prévenir les attaques par rejeu
  • Vérifier que l'expéditeur correspond à l'utilisateur authentifié pour prévenir l'usurpation d'identité
  • Utiliser un proxy pour protéger les URLs Paymaster de l'exposition frontend
  • Les fournisseurs Paymaster doivent être conformes à ERC-7677
  • Ne jamais exposer les credentials CDP côté client (backend subscription uniquement)

Gestion des popups

  • Générer les nonces avant que l'utilisateur clique sur « Sign in » pour éviter les bloqueurs de popup
  • Utiliser Cross-Origin-Opener-Policy: same-origin-allow-popups
  • same-origin casse la popup Base Account

Base Pay

  • Base Pay fonctionne indépendamment de SIWB — aucune auth requise pour pay()
  • Le param testnet dans getPaymentStatus() doit correspondre à l'appel pay()
  • Ne jamais désactiver les actions en fonction du solde onchain seul — vérifier la capability auxiliaryFunds

Sub Accounts

  • Appeler wallet_addSubAccount à chaque session avant utilisation
  • Changements de propriété attendus sur les nouveaux appareils/navigateurs
  • Seuls les contrats Coinbase Smart Wallet sont supportés pour l'import

Smart Wallets

  • Le wrapper ERC-6492 active la vérification de signature avant le déploiement du wallet
  • Les verifyMessage/verifyTypedData de Viem gèrent cela automatiquement

Pour les cas limites et les derniers changements API

Skills similaires