Farcaster Mini Apps
Run Orkid swaps inside Farcaster feeds — Mini App embed, wallet context, and partner options.
Orkid Swap is a verified Farcaster Mini App. Pasting https://orkidlabs.xyz/swap into a cast renders a launch card; users tap it and swap inside the feed — wallet already connected, gasless execution intact.
How it works
- Manifest:
orkidlabs.xyzserves/.well-known/farcaster.jsonwith the app metadata and a signedaccountAssociationthat cryptographically binds the domain to the@orkidFarcaster account. - Embed: the
/swappage emitsfc:miniappmetadata (plusfc:framefor legacy clients) so any cast containing the URL becomes an interactive launch card. - Wallet: inside a Mini App host, the Farcaster SDK supplies an EIP-1193 provider. The page detects miniapp context and auto-connects that wallet — no wallet picker, no QR flow.
- Attribution: the viewer's Farcaster FID is attached to API requests (
X-Farcaster-FID) so volume from feed traffic is attributable for partner rebates.
For partners
Your integration gets the same treatment — a hosted swap page or embedded widget can be surfaced as a Mini App so Farcaster users swap without leaving their feed.
| Path | Effort | What you get |
|---|---|---|
| Hosted page | Zero code | orkidlabs.xyz/hosted/[your-slug] branded for you, Mini-App-ready |
| React widget | @orkid-labs/widget | Same component, embedded in your own Mini App |
| SDK | @orkid-labs/sdk | Full control; you own the manifest and embed |
To put a hosted page in-feed, share its URL in a cast — the fc:miniapp metadata on Orkid-hosted pages does the rest. For widget/SDK integrations on your own domain, you'll need your own farcaster.json manifest and accountAssociation signature; we can walk you through it — api@orkidlabs.com.
Verify a Mini App manifest
curl -s https://orkidlabs.xyz/.well-known/farcaster.json | jq .Required manifest fields: miniapp.version ("1"), miniapp.name (≤32 chars), miniapp.homeUrl, miniapp.iconUrl (1024×1024 PNG). The accountAssociation block is a JSON Farcaster Signature — an EIP-191 signature by your account's custody key over a payload naming your domain. Generate it with the Farcaster developer tools or sign programmatically; never guess or hardcode it — it must validate against the FID's custody address.