converting-minikit-to-farcaster

Converts Mini Apps from MiniKit (OnchainKit) to native Farcaster SDK. Use when migrating from @coinbase/onchainkit/minikit, converting MiniKit hooks, removing MiniKitProvider, or when user mentions MiniKit, OnchainKit, or Farcaster SDK migration.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "converting-minikit-to-farcaster" with this command: npx skills add base/skills/base-skills-converting-minikit-to-farcaster

MiniKit to Farcaster SDK

Breaking Changes (SDK v0.2.0+)

  1. sdk.context is a Promise — must await
  2. sdk.isInMiniApp() accepts no parameters
  3. sdk.actions.setPrimaryButton() has no onClick callback

Check version: npm list @farcaster/miniapp-sdk

Quick Reference

MiniKitFarcaster SDKNotes
useMiniKit().setFrameReady()await sdk.actions.ready()
useMiniKit().contextawait sdk.contextAsync
useMiniKit().isSDKLoadedawait sdk.isInMiniApp()No params
useClose()await sdk.actions.close()
useOpenUrl(url)await sdk.actions.openUrl(url)
useViewProfile(fid)await sdk.actions.viewProfile({ fid })
useViewCast(hash)await sdk.actions.viewCast({ hash })
useComposeCast()await sdk.actions.composeCast({ text, embeds })
useAddFrame()await sdk.actions.addMiniApp()
usePrimaryButton(opts, cb)await sdk.actions.setPrimaryButton(opts)No callback
useAuthenticate()sdk.quickAuth.getToken()See AUTH.md

Context Access Pattern

// WRONG
const fid = sdk.context?.user?.fid;

// CORRECT
const context = await sdk.context;
const fid = context?.user?.fid;

In React components, use state:

const [context, setContext] = useState(null);

useEffect(() => {
  const load = async () => {
    const ctx = await sdk.context;
    setContext(ctx);
  };
  load();
}, []);

Conversion Workflow

  1. Verify Node.js >= 22.11.0
  2. Update dependencies — see DEPENDENCIES.md
  3. Replace imports: @coinbase/onchainkit/minikit@farcaster/miniapp-sdk
  4. Convert hooks using reference above
  5. Add FrameProvider — see PROVIDER.md
  6. Update manifest: frameminiapp — see MANIFEST.md

Common Errors

"Property 'user' does not exist on type 'Promise<MiniAppContext>'" → Await sdk.context before accessing properties

"Expected 0 arguments, but got 1" → Remove parameters from sdk.isInMiniApp()

Context is null in components → Ensure FrameProvider is in your provider chain

References

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Web3

migrating-an-onchainkit-app

No summary provided by upstream source.

Repository SourceNeeds Review
General

building-with-base-account

No summary provided by upstream source.

Repository SourceNeeds Review
99-base
General

deploying-contracts-on-base

No summary provided by upstream source.

Repository SourceNeeds Review
97-base
General

connecting-to-base-network

No summary provided by upstream source.

Repository SourceNeeds Review
96-base