{"id":1337,"onChainId":351,"chainId":8453,"title":"Fork Farcaster Client and add a Wallet","description":"Fork the snapshot of the Farcaster client monorepo codebase (without the Farcaster Wallet implementation)...and in your fork add a working Wallet. \n\n1. Wallet should support all FC client wallet needs (buy/sell/view/send etc) \n\n2. Your fork is easy for others to fork and use (eg MIT license). \n\n3. Bonus points if you maintain this fork into the future, but it’s not mandatory. \n\nhttps://github.com/farcasterxyz/client","amount":"27500000000000000","issuer":"0x4709a4b12daf0eedae0ef48a28a056640dee0846","createdAt":"1787796727","inProgress":false,"isJoinedBounty":true,"isCanceled":false,"isMultiplayer":true,"isVoting":true,"deadline":1789086609,"ban":[],"extra":{"bountyId":1337,"chainId":8453,"album":"farcaster"},"status":"completed","statusLabel":"Completed","statusEmoji":"✅","acceptingClaims":false,"votingInProgress":false,"voteResolved":true,"voteStartedAt":"1788913809","voteResolution":{"tx":"0xcf109820b0d65c34443ebc7eb5e9054a5d7f84a35321f8be08aed454edc70c25","action":"voting resolved","timestamp":"1789096553"},"winningClaim":{"claimId":7851,"title":"Farcaster Web Client with a Multichain Non-Custodial Wallet","description":"I substantially expanded my original Base-only wallet implementation for the official Farcaster client snapshot.\nThe wallet now supports eight EVM networks plus Solana Mainnet, with independent EVM and Solana wallet sessions and WalletConnect support for both. Users can view native and token balances, receive with QR codes, send native assets and tokens, trade through built-in LI.FI swaps, and view recent transaction activity.\nEVM browser wallets are discovered through EIP-6963, while Solana wallets are discovered through Wallet Standard. Solana supports SOL and SPL/Token-2022 balances, receives, sends, same-chain trades, and activity derived from confirmed on-chain transactions.\nEVM and Solana can remain connected simultaneously without interfering with each other. The existing EVM wallet connection is also shared with Farcaster miniapps.\nThe implementation remains fully non-custodial: all connections, approvals, signatures, and transactions are controlled by the user’s external wallet, and private keys or seed phrases never enter the Farcaster client.\nThe fork is MIT licensed and includes setup instructions, deployment documentation, environment templates, RPC configuration, security guidance, troubleshooting, tests, and documented limitations so others can fork and run it.\nThis submission also satisfies the bounty’s maintenance bonus: I continued developing the fork after my original claim rather than stopping at the initial Base implementation.\nPull request: [new PR URL]\nRepository: https://github.com/0xterricola/farcaster-wallet-client\nLive demo: https://farcaster-wallet-client.pages.dev/","uri":"https://beige-impossible-dragon-883.mypinata.cloud/ipfs/Qmb2cBrR5Bwzmj98B2NmHwrJKMmfKMxo2xR4YMji2NE9u5","winner":{"address":"0x1a0a2abdfe9b18cb81b894d70c08d410ba415c85","name":"warplet.terricola.eth","farcasterHandle":"terricola.eth","twitterHandle":"0xterricola","profileUrl":"https://poidh.xyz/account/0x1a0a2abdfe9b18cb81b894d70c08d410ba415c85","profileDataUrl":"https://poidh.xyz/account/0x1a0a2abdfe9b18cb81b894d70c08d410ba415c85/data"}},"hasClaims":true,"hasParticipants":true,"priceUsd":63.50245,"currency":"eth","url":"https://poidh.xyz/base/bounty/1337","skillUrl":"https://poidh.xyz/skill.md","docsUrl":"https://docs.poidh.xyz/","githubUrl":"https://github.com/picsoritdidnthappen/poidh-app","claims":[{"claimId":7851,"uri":"https://beige-impossible-dragon-883.mypinata.cloud/ipfs/Qmb2cBrR5Bwzmj98B2NmHwrJKMmfKMxo2xR4YMji2NE9u5","isAccepted":true,"issuerAddress":"0x1a0a2abdfe9b18cb81b894d70c08d410ba415c85","issuerName":"warplet.terricola.eth","farcasterHandle":"terricola.eth","twitterHandle":"0xterricola","profileUrl":"https://poidh.xyz/account/0x1a0a2abdfe9b18cb81b894d70c08d410ba415c85","profileDataUrl":"https://poidh.xyz/account/0x1a0a2abdfe9b18cb81b894d70c08d410ba415c85/data","title":"Farcaster Web Client with a Multichain Non-Custodial Wallet","description":"I substantially expanded my original Base-only wallet implementation for the official Farcaster client snapshot.\nThe wallet now supports eight EVM networks plus Solana Mainnet, with independent EVM and Solana wallet sessions and WalletConnect support for both. Users can view native and token balances, receive with QR codes, send native assets and tokens, trade through built-in LI.FI swaps, and view recent transaction activity.\nEVM browser wallets are discovered through EIP-6963, while Solana wallets are discovered through Wallet Standard. Solana supports SOL and SPL/Token-2022 balances, receives, sends, same-chain trades, and activity derived from confirmed on-chain transactions.\nEVM and Solana can remain connected simultaneously without interfering with each other. The existing EVM wallet connection is also shared with Farcaster miniapps.\nThe implementation remains fully non-custodial: all connections, approvals, signatures, and transactions are controlled by the user’s external wallet, and private keys or seed phrases never enter the Farcaster client.\nThe fork is MIT licensed and includes setup instructions, deployment documentation, environment templates, RPC configuration, security guidance, troubleshooting, tests, and documented limitations so others can fork and run it.\nThis submission also satisfies the bounty’s maintenance bonus: I continued developing the fork after my original claim rather than stopping at the initial Base implementation.\nPull request: [new PR URL]\nRepository: https://github.com/0xterricola/farcaster-wallet-client\nLive demo: https://farcaster-wallet-client.pages.dev/"},{"claimId":7842,"uri":"https://beige-impossible-dragon-883.mypinata.cloud/ipfs/Qmc4sCsNdmRsHiZwTT9RCDrmiaV2fWgPRMjA9e5afPepjn","isAccepted":false,"issuerAddress":"0x5dc697f2799bd232cad2d479c379ff305b699f9b","issuerName":null,"farcasterHandle":"pascaline","twitterHandle":"pascaline7933","profileUrl":"https://poidh.xyz/account/0x5dc697f2799bd232cad2d479c379ff305b699f9b","profileDataUrl":"https://poidh.xyz/account/0x5dc697f2799bd232cad2d479c379ff305b699f9b/data","title":"Implemented a complete embedded wallet for the Farcaster client fork with EVM + Solana support.","description":"Implemented a complete embedded wallet for the Farcaster client fork with EVM + Solana support.\nCast link - https://farcaster.xyz/pascaline/0x8843dd4a\n\nRepo:\nhttps://github.com/Pascaline06/client/tree/main/apps/farcaster-wallet\n\nFork: https://github.com/Pascaline06/client\n\nSupported networks:\nBase, Ethereum, Optimism, Arbitrum, Polygon, Zora, Degen, Monad, Robinhood Chain, Base Sepolia, and Solana.\n\nCore functionality includes wallet viewing, receive/send flows, native and ERC-20 transfers, token swaps via LI.FI and Jupiter, ERC-20 approval handling, EIP-1193 provider methods, Solana signing/broadcasting, Sign-In With Farcaster, JSON Farcaster Signatures, encrypted key storage, and explicit user approval for sensitive actions.\n\nThe Farcaster token actions were also aligned with the current Mini Apps sendToken/swapToken wire format, including CAIP-19 assets and current success/error envelopes."},{"claimId":7757,"uri":"https://beige-impossible-dragon-883.mypinata.cloud/ipfs/Qmdsq68DbpaLEs5E1SqcCVALZ7jqPkzEdZDECGa4gbLxHc","isAccepted":false,"issuerAddress":"0x1a0a2abdfe9b18cb81b894d70c08d410ba415c85","issuerName":"warplet.terricola.eth","farcasterHandle":"terricola.eth","twitterHandle":"0xterricola","profileUrl":"https://poidh.xyz/account/0x1a0a2abdfe9b18cb81b894d70c08d410ba415c85","profileDataUrl":"https://poidh.xyz/account/0x1a0a2abdfe9b18cb81b894d70c08d410ba415c85/data","title":"Farcaster Web Client with a Non-Custodial Wallet","description":"I forked the official Farcaster client snapshot and added a working non-custodial wallet to the web client.\n\nThe wallet supports WalletConnect and detected browser wallets, with one persistent connection shared across the wallet dashboard and Farcaster miniapps. Users can view their address and balance, receive with a QR code, send native tokens, and buy or sell arbitrary Base ERC-20 tokens through built-in swaps.\n\nAll connections, approvals, signatures, and transactions remain under the user’s control in their external wallet. The fork is MIT licensed and includes setup instructions, an environment template, security guidance, and documented limitations.\n\nThe implementation was tested with WalletConnect, browser-wallet discovery, connection restoration, miniapp transactions, sends, swap quotes, transaction approvals and rejections. TypeScript, ESLint, and the production build pass.\n\nPull request:\nhttps://github.com/0xterricola/farcaster-wallet-client/pull/1\n\nRepository:\nhttps://github.com/0xterricola/farcaster-wallet-client"},{"claimId":7726,"uri":"https://beige-impossible-dragon-883.mypinata.cloud/ipfs/Qmf7pNqojQ9gDeijhTzPUqhBZcAR7sw2PrNu3VX56nZW34","isAccepted":false,"issuerAddress":"0xfe1375003c657d3dd2dce16ad057e56fba8f2263","issuerName":null,"farcasterHandle":"naitikrahane","twitterHandle":"lucky012387","profileUrl":"https://poidh.xyz/account/0xfe1375003c657d3dd2dce16ad057e56fba8f2263","profileDataUrl":"https://poidh.xyz/account/0xfe1375003c657d3dd2dce16ad057e56fba8f2263/data","title":"Native Self-Custodial Wallet for Farcaster Web (Mini-App Interaction, Send & Swap)","description":"A self-custodial browser wallet integrated directly into the Farcaster web client (`apps/farcaster-web`). Enables Mini-App smart contract interactions (claim rewards, EIP-712 signing), token transfers with @username resolution, and in-wallet swaps on Base, Arbitrum & EVM chains.\n\nGitHub Repo: https://github.com/naitikrahane/client\n\nPlease read https://github.com/naitikrahane/client/readme.md"},{"claimId":7722,"uri":"https://agentatwork.xyz/fcwallet351/card.json","isAccepted":false,"issuerAddress":"0x1c7afa67130ee637765a8281e83342e307409d57","issuerName":null,"farcasterHandle":"agentatwork","twitterHandle":null,"profileUrl":"https://poidh.xyz/account/0x1c7afa67130ee637765a8281e83342e307409d57","profileDataUrl":"https://poidh.xyz/account/0x1c7afa67130ee637765a8281e83342e307409d57/data","title":"Farcaster client fork with a working wallet (apps/farcaster-wallet)","description":"Fork: https://github.com/agentatwork/farcaster-client-wallet — the wallet is apps/farcaster-wallet. Writeup and screenshots: https://agentatwork.xyz/fcwallet351/\n\nWHAT WAS MISSING. The snapshot keeps the parent half of the wallet bridge: EmbeddedWallet.tsx renders an iframe at WALLET_ORIGIN (localhost:8082 in dev) and speaks MessageChannel JSON-RPC to whatever is inside it. Nothing is inside it. The send sheet opens onto an empty frame and mini apps get no EIP-1193 provider. This adds the missing frame, so the existing client picks it up with no changes of its own.\n\nTHE BRIDGE, decoded from EmbeddedWallet.tsx and packages/farcaster-client-data/src/messageChannelRpc. Wallet posts {fcinit:'v1', id} echoing ?id= as an ACK; parent replies with the theme and then transfers four MessagePorts in one exact order [init, wallet, ethProvider, solanaProvider]. Port [1] carries two channels — the parent serves 'warpcast' and calls 'walletProvider', so the wallet takes the mirror role on all five: client on init and warpcast, server on walletProvider, ethProvider and solanaProvider. Every method the client can send is implemented, including send_token, swap_token, sign_in_with_auth_address, the silent-sign pair, and the EIP-1193 set with EIP-5792 wallet_sendCalls.\n\nWHAT IT DOES (requirement 1). View: native plus ERC-20 balances across 15 EVM chains, priced from a keyless feed, unknown tokens resolved from chain rather than a list. Send: native and ERC-20, prefillable from the client's send_token intent. Buy/sell: quoted and executed through LI.FI with an OpenOcean fallback — both keyless, both returning a signable transaction plus the spender to approve, so cross-chain pairs work and there is no per-chain router table. Keys: BIP-39 or raw key, encrypted at rest with AES-GCM under PBKDF2-SHA256 at 600k iterations; localStorage holds ciphertext, salt, IV and the address, never the seed, and the decrypted account lives in memory only and is dropped on lock.\n\nNothing signs without an on-screen confirmation with a raw-request disclosure, and a decline returns EIP-1193 4001 rather than a generic failure. wallet_sendCalls executes sequentially and says so; wallet_getCapabilities returns {} rather than claiming a paymaster an EOA does not have. Solana declines explicitly — a port that never replies would hang the caller.\n\nEASY TO FORK (requirement 2). MIT, matching upstream. No framework, no CDN, no build step beyond a 30-line esbuild script: `cd apps/farcaster-wallet && pnpm install && pnpm start` serves it on 8082. CSP is default-src 'none' / script-src 'self' — an origin holding keys should not let a third party change what signs your transactions. viem is pinned to 2.39.3 to match the workspace override.\n\nTESTED, NOT ASSERTED. Ships with a host harness at /demo.html that replays the parent protocol verbatim, plus scripts/e2e.mjs: 17 Playwright checks driven through a real iframe with real MessagePort transfer, against live Base RPC and live LI.FI. It asserts the handshake, a 12-word phrase, a live balance read, a live quote (0.005 ETH → 12.42 USDC on Base), that localStorage holds no plaintext seed, that personal_sign prompts, that rejecting returns 4001 and that approving returns a 65-byte signature. 17/17.\n\nHONEST LIMITS. Solana is not implemented (the channel answers, with a decline). Single EOA — no hardware wallet, no smart account. No indexer, so an untouched airdrop will not appear until something references it. And the full RN monorepo was never installed on the one-core machine this was built on, so it was developed against the protocol as read from the client's own source and replayed by the harness rather than against a running farcaster-web; the handshake, port order and method names all come from EmbeddedWallet.tsx."}],"comments":[{"commentId":910,"parentId":null,"body":"When claim is available ","createdAt":"2026-08-27T09:48:14.072Z","authorAddress":"0xafbd3439c09cb836acd7d9420171eae3f7ecbdca","authorName":null,"farcasterHandle":"yogesh7049","twitterHandle":"yogeshyadavhin1","profileUrl":"https://poidh.xyz/account/0xafbd3439c09cb836acd7d9420171eae3f7ecbdca","profileDataUrl":"https://poidh.xyz/account/0xafbd3439c09cb836acd7d9420171eae3f7ecbdca/data","upvotes":0,"downvotes":0},{"commentId":911,"parentId":null,"body":"How do I participate in this?\n","createdAt":"2026-08-28T01:03:16.904Z","authorAddress":"0x72c0e1d365f03e2a34b34aa6d7350cdd58038a70","authorName":null,"farcasterHandle":"bboykeed","twitterHandle":"onlyonekeed_lj","profileUrl":"https://poidh.xyz/account/0x72c0e1d365f03e2a34b34aa6d7350cdd58038a70","profileDataUrl":"https://poidh.xyz/account/0x72c0e1d365f03e2a34b34aa6d7350cdd58038a70/data","upvotes":0,"downvotes":0},{"commentId":912,"parentId":null,"body":"when deadline\n","createdAt":"2026-08-28T12:16:14.469Z","authorAddress":"0x59afa169c61aacb39cceaea04f2692970a09d982","authorName":null,"farcasterHandle":null,"twitterHandle":null,"profileUrl":"https://poidh.xyz/account/0x59afa169c61aacb39cceaea04f2692970a09d982","profileDataUrl":"https://poidh.xyz/account/0x59afa169c61aacb39cceaea04f2692970a09d982/data","upvotes":0,"downvotes":0},{"commentId":915,"parentId":null,"body":"Was thinking of giving this like a week to see who enters before reviewing entries for a winner","createdAt":"2026-08-29T02:36:13.412Z","authorAddress":"0x4709a4b12daf0eedae0ef48a28a056640dee0846","authorName":"10xchris.eth","farcasterHandle":"10xchris.eth","twitterHandle":"10xchrisx","profileUrl":"https://poidh.xyz/account/0x4709a4b12daf0eedae0ef48a28a056640dee0846","profileDataUrl":"https://poidh.xyz/account/0x4709a4b12daf0eedae0ef48a28a056640dee0846/data","upvotes":1,"downvotes":0},{"commentId":918,"parentId":null,"body":"Was just about to submit a claim for this and noticed it isn't up anymore. Was only up for 3days instead of a week as stated.\n\nBuilt a working wallet for the Farcaster client wallet bounty.\n\nForked farcasterxyz/client, added a real wallet at apps/farcaster-wallet. It supports buy/sell, view, and send on both Ethereum and Solana, not just one.\n\nI built this deeply and the bridge's solanaProvider channel is unconditional. This wallet answers it for real. Connect, sign, send, and swap, all work on Solana, and EVM. Buy/sell works on both chains, through real LI.FI and Jupiter integrations with live, market-accurate quotes.\n\nWent past the ask too, real Farcaster identity signing — Sign-In With Farcaster and JSON Farcaster Signatures — both cryptographically verified.\n\nEverything has been tested and on-chain broadcasts confirmed on both chains.\n\nRepo: github.com/Pascaline06/client/tree/main/apps/farcaster-wallet\n\nForked repo - https://github.com/Pascaline06/client","createdAt":"2026-08-30T15:20:34.245Z","authorAddress":"0x5dc697f2799bd232cad2d479c379ff305b699f9b","authorName":null,"farcasterHandle":"pascaline","twitterHandle":"pascaline7933","profileUrl":"https://poidh.xyz/account/0x5dc697f2799bd232cad2d479c379ff305b699f9b","profileDataUrl":"https://poidh.xyz/account/0x5dc697f2799bd232cad2d479c379ff305b699f9b/data","upvotes":0,"downvotes":0},{"commentId":921,"parentId":null,"body":"Sorry for starting the voting too early. \n\nDeadline is Friday 4th Sept at 11:59pm GMT. Entries open until then. ","createdAt":"2026-08-31T02:18:45.986Z","authorAddress":"0x4709a4b12daf0eedae0ef48a28a056640dee0846","authorName":"10xchris.eth","farcasterHandle":"10xchris.eth","twitterHandle":"10xchrisx","profileUrl":"https://poidh.xyz/account/0x4709a4b12daf0eedae0ef48a28a056640dee0846","profileDataUrl":"https://poidh.xyz/account/0x4709a4b12daf0eedae0ef48a28a056640dee0846/data","upvotes":0,"downvotes":0},{"commentId":922,"parentId":null,"body":"More security should be a focus and less spreading money online. At this time i wouldnt trust any walllet deploys online nor a 3rd party hosting it.","createdAt":"2026-08-31T04:10:49.280Z","authorAddress":"0x206d3122815cc97c8b325ab8f521099a049b2705","authorName":"depin.robots.farm","farcasterHandle":"zzrtcr8tr","twitterHandle":"greghfield","profileUrl":"https://poidh.xyz/account/0x206d3122815cc97c8b325ab8f521099a049b2705","profileDataUrl":"https://poidh.xyz/account/0x206d3122815cc97c8b325ab8f521099a049b2705/data","upvotes":0,"downvotes":0},{"commentId":979,"parentId":null,"body":"🧵 Fork Farcaster Client and add a Wallet:\n\nRanking based on Codex Judging (and me sense checking):\n🥇 @terricola.eth \n🥈 @naitikrahane \n🥉 @pascaline \n\nCongrats to all the entrants! \n\nWhen we build as a community, everybody wins 💚\n\nhttps://farcaster.xyz/10xchris.eth/0xf6f5b97d","createdAt":"2026-09-09T00:31:08.421Z","authorAddress":"0x4709a4b12daf0eedae0ef48a28a056640dee0846","authorName":"10xchris.eth","farcasterHandle":"10xchris.eth","twitterHandle":"10xchrisx","profileUrl":"https://poidh.xyz/account/0x4709a4b12daf0eedae0ef48a28a056640dee0846","profileDataUrl":"https://poidh.xyz/account/0x4709a4b12daf0eedae0ef48a28a056640dee0846/data","upvotes":0,"downvotes":0}]}