What’s changing
The Base App is moving from the Farcaster mini-app spec to a single model: standard web app + wallet, powered by Base.dev.| Before | After |
|---|---|
Farcaster manifest (/.well-known/farcaster.json) | App metadata on Base.dev projects. Already registered apps do not need to update metadata. |
| Neynar webhooks for add/remove events | Base-owned backends (Base Account / address preferences) |
| FID-based notifications via Neynar | Wallet-address notifications via Base.dev notifications API (coming soon) |
| Farcaster SDK for auth and actions | wagmi + viem + Sign-In with Ethereum (SIWE) |
| Search and discovery via Farcaster | Base.dev app metadata + builder codes |
Choose your migration path
- I'm converting a mini app
- My app has no Farcaster SDK
Your app uses the Farcaster SDK. The migration replaces Farcaster-specific auth, identity, and actions with standard web equivalents.
Remove the Farcaster SDK
Uninstall all Farcaster SDK packages and remove their imports, providers, and any FID-based logic from your codebase:Delete
Terminal
/.well-known/farcaster.json and any manifest-serving route if you have one. Remove sdk.actions.*.Add the standard web stack
Install wagmi, viem, and React Query if you don’t have them already:Create a wagmi config for Base and wrap your app with This replaces the Farcaster frame connector with standard wagmi providers that work in the Base app’s in-app browser.
Terminal
WagmiProvider and QueryClientProvider:config.ts
App.tsx
Replace auth and identity
Farcaster sign-in and FID-based identity are not available in the Base App. Replace them with SIWE for authentication and the connected wallet address for user identity.Build, sign, and verify the SIWE message:Use
SignIn.tsx
This example verifies the signature client-side. If your app needs server-side sessions or replay protection, see the Authenticate users guide for the full pattern with server-issued nonces, backend verification.
useAccount from wagmi to read the connected wallet address as the user’s identity and guard SIWE execution until the wallet and chain are available.Replace deprecated SDK methods
See the deprecated methods table for the standard web equivalent of each Farcaster SDK call.
Migrate notifications to Base.dev
Farcaster-based notifications (via Neynar, FIDs, or tokens) will not reach Base App users. Replace them with the Base.dev notifications API, which sends by wallet address.
Register on Base.dev
If you haven’t registered yet, create a project at Base.dev and complete your app metadata: name, icon, tagline, description, screenshots, category, primary URL, and builder code. Already registered apps do not need to re-register or update metadata.
Deprecated Farcaster SDK methods in the Base App
The following Farcaster mini-app SDK methods are not invoked by the Base App after April 9, 2026. Migrate to the alternatives listed.| SDK method | Alternative in the Base App |
|---|---|
signIn | Sign-In with Ethereum using wagmi (useSignMessage) |
sendToken | Standard ERC-20 transfer with wagmi (useWriteContract) |
openUrl | window.open(url) |
openMiniApp | window.open(url) |
viewToken | Deeplink: https://base.app/coin/base-mainnet/TOKEN_ADDRESS |
viewProfile | Deeplink: https://base.app/profile/WALLET_ADDRESS |
swapToken | Construct swap transactions with wagmi, viem, or your preferred onchain library. |
requestCameraAndMicrophoneAccess | No replacement |
close | No replacement |
addMiniApp | the Base App handles mini app installation automatically. No SDK needed. |
viewCast | Not needed in the Base App |
composeCast | Not needed in the Base App |
ready | Not needed. Your app is ready to display when it loads. |
| User context and FID | Read the injected wallet address via wagmi (useAccount) |
Pre-flight checklist
Before considering your app migrated, verify the following:Farcaster SDK is removed
All Farcaster SDK packages are uninstalled and all SDK imports and FID-based UI are removed from the codebase.
Wallet and auth use wagmi + viem
Wallet connection and contract interactions use wagmi + viem. Authentication uses SIWE where needed.
Register and complete Base.dev metadata
Project is registered on Base.dev with primary URL set. Name, icon, tagline, screenshots, category, description, and builder code are all filled in.
If all steps above are complete, your app is ready for the Base App as a standard web app.