{"id":1519,"onChainId":533,"chainId":8453,"title":"Vibecode a Tacit Explorer 🤫🔍","description":"Build a one-page explorer that shows what's happening on Tacit, across both chains.\n\nTacit runs on two chains. Assets are issued and moved in Taproot envelopes on Bitcoin, and the same confidential notes live in a pool on Ethereum (plus Base and Robinhood Chain), with SP1 proofs carrying state between them. tacitscan.io already decodes the Bitcoin envelopes. Nobody has built one page that shows the whole system: Bitcoin activity, the confidential pools, and the bridge between them.\n\nVibecode it. Any stack, any AI tool, any style.\n\n## What a great entry shows\n\nPick what you think matters most. Strong entries will cover some of:\n\n- **Bitcoin side:** recent envelopes (etches, transfers, mints, burns), assets, and the Bitcoin-native AMM pool\n- **Ethereum / Base side:** pool activity, deposits and withdrawals, relayed ops, cBTC / cUSD / wTAC\n- **The bridge:** header relay height, the latest proven roots, and bridge burns and mints in flight\n- **The privacy boundary:** what an observer can see (timing, counts, fees, public addresses) and what stays hidden (amounts, links between notes). Showing this honestly is a plus.\n- **Look up your own footprint:** paste a tacit1 ID, a Bitcoin txid or an EVM address and see what's public about it\n\n**XNS bonus:** show EVM addresses as XNS names (`alice@xns`) where one exists, or let people search by XNS name.\n\n## Requirements\n\nYour submission must:\n\n- be a **live public URL** that anyone can open, no wallet or sign-in needed to browse\n- read **real mainnet data** (Tacit's public APIs, the indexer, RPC or block explorers). No mock data.\n- link a **public source repo**\n- **never** ask for seed phrases or private keys, and never move funds\n- be posted publicly on **X**, tagging **@tacitfi**, Tacit's founder **@z0r0zzz**, and the bounty creator **@davidpereIsHIM** (plus **@xns** if you use the XNS bonus)\n- be submitted before **Sunday, November 15 at 11:59 PM PT**\n\n## How to enter\n\n1. Build and deploy your explorer.\n2. Post it on X with a screenshot or short screen recording.\n3. Claim on this bounty with a screenshot, and put your live URL, repo and X post in the description.\n\n## Resources\n\n- Tacit repo and spec: https://github.com/src-company/tacit\n- Deployments and contract addresses: https://github.com/src-company/tacit/blob/main/docs/DEPLOYMENTS.md\n- Build a Tacit dapp: https://github.com/src-company/tacit/blob/main/docs/BUILD-A-TACIT-DAPP.md\n- Tacit v1 whitepaper: https://tacit.finance/tacit-v1/\n- WELD: https://tacit.finance/weld/\n- Existing Bitcoin-side explorer, for reference: https://www.tacitscan.io\n- XNS: https://xns.name\n\n## Winner\n\nOne winner gets the full pool. It's seeded with $10, and anyone can add funds. After the deadline, contributors review the entries and pick the winner.\n\nWe're judging on:\n- **Useful:** would you actually keep it open?\n- **Correct:** do the numbers match the chain?\n- **Clear:** does it make Tacit's two chains easier to understand?\n- **Honest about privacy:** what's public and what's hidden\n\nUgly-but-correct beats pretty-but-fake.","amount":"6900000000000000","issuer":"0xfb706da8ad6fc35777c041cd3ec049a4e431fd43","createdAt":"1793307633","inProgress":true,"isJoinedBounty":true,"isCanceled":false,"isMultiplayer":true,"isVoting":false,"deadline":null,"ban":[],"extra":{"bountyId":1519,"chainId":8453,"album":null},"status":"in_progress","statusLabel":"In progress","statusEmoji":"💰","acceptingClaims":true,"votingInProgress":false,"voteResolved":false,"voteStartedAt":null,"voteResolution":null,"winningClaim":null,"hasClaims":true,"hasParticipants":true,"priceUsd":15.53832,"currency":"eth","url":"https://poidh.xyz/base/bounty/1519","skillUrl":"https://poidh.xyz/skill.md","docsUrl":"https://docs.poidh.xyz/","githubUrl":"https://github.com/picsoritdidnthappen/poidh-app","claims":[{"claimId":9315,"uri":"https://raw.githubusercontent.com/qlufiq-collab/bounty-submissions/20329c6b119ab777a5f8e6bdb604ec864dd33610/poidh-1519-tacit-explorer/screenshots/hero.png","isAccepted":false,"issuerAddress":"0x9442453a44033b126efaffc40a5d9ba201224a4c","issuerName":null,"farcasterHandle":null,"twitterHandle":null,"profileUrl":"https://poidh.xyz/account/0x9442453a44033b126efaffc40a5d9ba201224a4c","profileDataUrl":"https://poidh.xyz/account/0x9442453a44033b126efaffc40a5d9ba201224a4c/data","title":"Tacit Meridian: one live page for Bitcoin, the bridge and the confidential pools (Ethereum, Base, Robinhood)","description":"Live URL: https://qlufiq-collab.github.io/bounty-submissions/poidh-1519-tacit-explorer/\nRepo: https://github.com/qlufiq-collab/bounty-submissions/tree/main/poidh-1519-tacit-explorer\nX post: https://x.com/lupilupipuli/status/2117423415162454172 (tags @tacitfi @z0r0zzz @davidpereIsHIM @xns)\n\nTacit Meridian: one static page, no wallet, no backend, real mainnet data read by your browser.\n- Bitcoin: protocol state, tETH/TAC AMM pool, recent envelopes decoded in-browser (bridge burns, shielded-pool ops, opt-in live block scan), Bitcoin shielded pool.\n- Bridge: header relay tip, proven (reflected) height, latest proven roots, burns / mints / cross-outs.\n- Ethereum / Base / Robinhood Chain: ConfidentialPool state, cBTC / cUSD / TAC / wTAC supply, ~30 h of pool activity, launch farms, relayed ops and fees, EVM pool on all three chains.\n- Privacy boundary panel: what an observer sees (timing, counts, fees, public addresses) vs what stays hidden (amounts, note links), with live examples.\n- Lookup: tacit1 / bp1 IDs, Bitcoin txid or address, EVM address or tx, and name@xns. Depositors shown as XNS names (XNS bonus).\n- Correctness: every number carries a source chip (chain or indexer), and a cross-check card compares the indexer with the chain: 15 exact, 0 mismatched at submission.\nSources: api.tacit.finance, the Bitcoin shielded-pool indexer, mempool.space, public Ethereum / Base / Robinhood RPCs. Strict CSP, no third-party code."},{"claimId":9290,"uri":"https://gateway.pinata.cloud/ipfs/QmVzR36cU8GwwAgkgPoQbRMEg32CzK8Yc518pMLYAeEXnb","isAccepted":false,"issuerAddress":"0xff379dcb34d6a8c1175e4d5bcd47148b38a0414d","issuerName":null,"farcasterHandle":null,"twitterHandle":null,"profileUrl":"https://poidh.xyz/account/0xff379dcb34d6a8c1175e4d5bcd47148b38a0414d","profileDataUrl":"https://poidh.xyz/account/0xff379dcb34d6a8c1175e4d5bcd47148b38a0414d/data","title":"Tacit Dualscan — read-only explorer for Bitcoin envelopes, the confidential pool, EVM pools and the bridge","description":"Live: https://obtranzat.github.io/tacit-dualscan/\nSource: https://github.com/obtranzat/tacit-dualscan (MIT)\nX post: https://x.com/obtranzat/status/2117113600959734250\nScreenshot (proof): https://gateway.pinata.cloud/ipfs/QmVzR36cU8GwwAgkgPoQbRMEg32CzK8Yc518pMLYAeEXnb\n\nWHAT IT IS\nOne page, seven sections. No wallet, no sign-in, no mock data. There is no code path that can accept a seed phrase or a private key, because none exists in the page.\n\n01 Bridge — Bitcoin reflection folded height against the mempool.space tip, relay confirms, burn deposits seen/awaiting/consumed, cross-outs folded, and bridge proofs (proving, settling, failed in the last hour, heartbeat age), plus a burn-to-mint progress bar from live counts.\n02 Bitcoin side — 81 assets from a dated /assets capture (etched height, mints, burns, holders, 24h sats, transfers), 96 envelope records (etches, mints, burns) with txids, a TAC provenance card (asset id, genesis tx, etch height 948,242, fixed 21,000,000 supply, Ethereum ERC-20), and live fee estimates plus network tip from mempool.space.\n03 Ethereum confidential pool — pool and token addresses, leaves, nullifiers, wraps, cross-outs, EVM note totals.\n04 EVM pools — keeper head, quote and event counts for the shared pool 0x…BEE9 across Ethereum, Base, Robinhood and MegaETH.\n05 Bitcoin pools and secondary market — 10 pool_init records (denomination, leaves/spent, init height, init txid) and 50 market records aggregated by kind; the one record that publishes an amount and a price is shown with its base-unit integers exactly as the API prints them.\n06 The privacy boundary — what stays private and what is public on each side, stated plainly.\n07 Look up a footprint — tacit1 address decoded into its lanes (Bitcoin spend/scan pubkeys, EVM owner pubkey, bp1 pool address) with the kit's own decoder; Bitcoin txid into values and confirmation status; EVM address into Tacit points, deposits, claims and an ENS reverse name when one is set.\n\nCORRECT AND HONEST ABOUT PRIVACY\n- /assets, /market and /pools answer cross-origin only for tacit.finance. Those panels ship a dated snapshot instead of a proxy, a CORS bypass, a spoofed origin or a browser scrape. Every such panel is labelled with its capture time and chain tip and links the live endpoint, so a reader can check the current truth themselves.\n- 49 of the 50 market records publish only an expiry, with no amount or price. The page says that instead of rendering a price table that would be fiction. init_sig_verified is the feed's own field: the page reports it and never claims to re-verify signatures itself.\n- The relay panel showed \"busy\" and 28 blocks behind tip when this was written. The page prints the lag rather than hiding it.\n- The XNS bonus is not claimed. There is no public XNS HTTP endpoint (XNS resolves through the ENS UniversalResolver), so I would not implement a feature I could not ship and verify. ENS reverse names are shown via api.ensideas.com when a primary name exists.\n- No analytics, no tracking, no cookies, no third-party scripts. Static files only. The vendored address kit is pinned in the README by SHA-256 e1829fb389053a815dd2e977c0f08e35fd1bdad6d960a9dbc9a66b51307fb4f0.\n\nBuilt with vanilla JS in one HTML file, no build step. The complete source (index.html, both snapshots, the kit, README, LICENSE) is in the repo."},{"claimId":9288,"uri":"https://beige-impossible-dragon-883.mypinata.cloud/ipfs/QmcWk7VG7CWtvEfPB1RCW2zK67rZJLXa66HPwv7KxJ6E7p","isAccepted":false,"issuerAddress":"0x0551eb17f2ac1db089eaa6690ef37ad1fe835b19","issuerName":null,"farcasterHandle":"leoxcrane","twitterHandle":"leoxcrane","profileUrl":"https://poidh.xyz/account/0x0551eb17f2ac1db089eaa6690ef37ad1fe835b19","profileDataUrl":"https://poidh.xyz/account/0x0551eb17f2ac1db089eaa6690ef37ad1fe835b19/data","title":"Claiming ","description":"https://github.com/LeoxCrane/tacit-explorer\n\nhttps://leoxcrane.github.io/tacit-explorer/\n\nhttps://x.com/leoxcrane/status/2117044496936390764?a=u3kYWM4ZYq_qJEl2asQ&s=46\n"},{"claimId":9283,"uri":"https://raw.githubusercontent.com/swiftbotlab/tacit-seam/9e3ffc25ce354174af0816c0af03b6891ed05eb0/docs/screenshot.png","isAccepted":false,"issuerAddress":"0x2481e29895b43e87e547a50fb0bb5aa1e70585eb","issuerName":null,"farcasterHandle":"swiftbotlab","twitterHandle":null,"profileUrl":"https://poidh.xyz/account/0x2481e29895b43e87e547a50fb0bb5aa1e70585eb","profileDataUrl":"https://poidh.xyz/account/0x2481e29895b43e87e547a50fb0bb5aa1e70585eb/data","title":"Tacit Seam: both chains on one page, re-derived against the chain in your browser","description":"Tacit Seam is a one-page live explorer for all of Tacit. No wallet, no sign-in, real mainnet data, nothing mocked.\n\nLive: https://swiftbotlab.github.io/tacit-seam/\nRepo: https://github.com/swiftbotlab/tacit-seam\nX post: https://x.com/swiftbotlab/status/2116883227038323100\n\nUseful\n- One ladder shows the Bitcoin tip, the header relay and the proven height, read from BitcoinLightRelay and the pool directly. The tab title shows the proof lag.\n- One activity stream across Bitcoin, Ethereum, Base and the bridge. Pool entries show their public sender.\n- The header shows the age of every source. If a source fails, its panel says so and keeps its last good reading. Nothing is ever invented.\n\nCorrect\n- Your browser downloads the reflected state, rebuilds the Merkle root of every live note, hashes the 29 digest words and compares the result with attestedReflectionDigest() on two Ethereum endpoints. If any word were wrong, the hash would not match.\n- 16 headline figures are read twice from independent sources and shown side by side, with the cast commands to repeat it.\n\nClear\n- Every bridge burn is followed through burned, buried 24 blocks, proven and minted, with real transactions and times, in both directions.\n- All 26 burns not minted yet are counted. 24 are listed with age and Bitcoin transaction, the other 2 are known by burn id. All 11 cross-outs are listed with their Bitcoin re-mint where there is one.\n- Covers envelopes, assets, the Bitcoin-native AMM, the ConfidentialPool, cBTC, cUSD, wTAC, relayed ops, proving, EVM pools on Ethereum, Base, Robinhood Chain and MegaETH, and the farms.\n- Where Tacit's indexer and the proven state disagree on the AMM reserves, both are shown and the difference is flagged.\n\nHonest about privacy\n- An X-ray of the newest real transaction of each kind: what anyone can see on one side, what stays hidden on the other.\n- A measured table of what a patient observer can work out from public legs alone. On 1 Nov 2026 a typical ConfidentialPool exit had 52 same-size entries in the 24 hours before it, 1.9% of exits had only one, and 75.4% could be paired one-to-one as a guess. A typical EVM pool exit on Ethereum had none. Base shows a median of 1,541, and the page explains why that overstates the real crowd: the pool holds only a few ETH at a time. 561 of 5,294 pool spends reveal the exact note, because bearer and Bitcoin-homed nullifiers derive from the leaf alone. The table is labelled as a heuristic and lists no pairs. The bridge panels do, because the protocol links those legs publicly.\n\nFootprint lookup\n- A tacit1 ID is decoded strictly on your device into its lanes and keys. Nothing is sent until you ask to check the addresses of those keys.\n- A Bitcoin txid has its envelope parsed from the witness. A bridge burn shows whether it was minted, with the mint transaction.\n- An EVM address shows balances on four chains, deposits, Tacit contract calls and TAC transfers. EVM tx hashes are decoded too.\n- Also takes bc1 addresses, bp1 addresses, asset ids, tickers and .eth names, which are checked for a finance.tacit record.\n\nXNS bonus\n- Search by alice@xns, resolved on chain with getAddress. Reverse names are read with getName, checked back with getAddress, and shown on addresses you look up.\n\nMethod: static page, plain ES modules, no dependencies, no API keys, strict CSP, all fetched data rendered as text. Routes a browser can't read are collected by a public GitHub Action, with a timestamp per part, and the header shows the real age. It never asks for a seed phrase, a key or a signature, and it never moves funds."},{"claimId":9230,"uri":"https://beige-impossible-dragon-883.mypinata.cloud/ipfs/QmWxon3jgm6qmaiQjdFKdd7WQJhnC9Ef3cviPC234GdTfJ","isAccepted":false,"issuerAddress":"0xd175f211ec6afb9a582ed67b8c2e650952aca82f","issuerName":null,"farcasterHandle":"hdr","twitterHandle":"hdr284","profileUrl":"https://poidh.xyz/account/0xd175f211ec6afb9a582ed67b8c2e650952aca82f","profileDataUrl":"https://poidh.xyz/account/0xd175f211ec6afb9a582ed67b8c2e650952aca82f/data","title":"TACITLENS — one page, both chains: 3,762 live pool notes, 549 bridge burns, 81 Bitcoin assets, and a privacy panel that shows its own blind spots","description":"TACITLENS is a one-page live explorer for Tacit across both chains — no mock data, everything below is fetched in your browser from public mainnet sources when the page loads, and every panel names its source and shows when it was updated.\n\nWhat it shows:\n• Bridge / reflection: Bitcoin height folded into the pool (973,703 at build time), header-relay tip, reflection lag at 24 confirmations, 549 bridge burns vs 529 mints (the difference is in-flight traffic), burns awaiting bundle, 3,762 live confidential notes, relay state.\n• Bitcoin side: live envelope feed (etches & burns from Tacit's own indexer, each linked to its tacitscan decode), chain tip + fees, the asset directory (81 assets; canonical TAC: 2,285 holders, 5,894 confidential transfers), and the Bitcoin-native tETH/TAC AMM pool (xcurve-verified, reserves + last swap).\n• Ethereum side: the immutable ConfidentialPool read directly by eth_call — cBTC backing 11,949,754 sats (0.11949754 BTC, reflection-attested locks), cUSD CDP debt outstanding on the CollateralEngine, the open relay board, and live totalSupply for TAC (2,747,883.3), tacBTC, tacUSD and wTAC.\n• EVM pool on Ethereum + Base: keeper head (note-tree size 660 on Ethereum, 131,692 on Base) and the latest Transact/Received events per chain, plus the launch farms (1,107.7776 TAC/day in wTAC, solvency health check).\n• Privacy boundary panel: grounded in what the page itself can fetch — envelope existence, counts, timing, fees and public addresses are visible; amounts (Pedersen commitments), note-to-note links and blindings are not, and the panel says so, including the relay-witness caveat from Tacit's own build guide.\n• Footprint lookup: paste a tacit1 ID, a Bitcoin txid, a Bitcoin address, an EVM address or tx hash — or an XNS name. XNS bonus implemented on-chain: the registry's getName/getAddress are read by eth_call (e.g. the famous 0xd8dA…6045 resolves to vitalik@eth), and names are shown wherever an address is looked up.\n\nMethod: one static HTML page + one JS file, no backend, no API keys, no wallet or sign-in, read-only by design (never asks for a seed/private key, never moves funds). Sources: api.tacit.finance (reflection, relay, indexer /assets, /amm/pools, farms, points), mempool.space, public Ethereum/Base RPC, the Tacit EVM-pool keepers, the XNS registry contract, and tacitscan (linked per-row; its JSON feed sends no CORS header, so the envelope feed is built from Tacit's own indexer API instead. The indexer's /assets and /amm endpoints only allow the tacit.finance origin via CORS, so those two feeds are read through a public CORS relay — the payload is Tacit's own JSON, and this is stated openly on the page and in the README). If a source is unreachable, a panel shows an error rather than an invented number.\n\nLive: https://hdr2804.github.io/tacitlens/\nRepo: https://github.com/hdr2804/tacitlens\nX post: https://x.com/Hdr284/status/2116126952235094526\n\nNumbers in this description are the live values observed on 30 Oct 2026 and will have moved by judging time — the page always shows the current ones."}],"comments":[{"commentId":1403,"parentId":null,"body":"Tacit Seam: the repo, page and screenshot in this claim were on the swiftbotlab GitHub account, suspended on 1 Nov, so those links are dead. The page is back here: https://apps.swiftbotlab.workers.dev/proof/tacit-seam/ and the X post is unchanged: https://x.com/swiftbotlab/status/2116883227038323100","createdAt":"2026-11-02T00:19:33.494Z","authorAddress":"0x2481e29895b43e87e547a50fb0bb5aa1e70585eb","authorName":null,"farcasterHandle":"swiftbotlab","twitterHandle":null,"profileUrl":"https://poidh.xyz/account/0x2481e29895b43e87e547a50fb0bb5aa1e70585eb","profileDataUrl":"https://poidh.xyz/account/0x2481e29895b43e87e547a50fb0bb5aa1e70585eb/data","upvotes":0,"downvotes":0},{"commentId":1412,"parentId":null,"body":"Update on TACITLENS (claim 9230): the live site has been substantially improved since submission — a new cross-checks panel (headline numbers read twice from independent sources), a Bitcoin secondary-market panel, measured privacy stats, and a full restyle in Tacit's own design language. Same live URL: https://hdr2804.github.io/tacitlens/ — the claim screenshot predates the update; the live link shows the current version.","createdAt":"2026-11-02T12:11:36.692Z","authorAddress":"0xd175f211ec6afb9a582ed67b8c2e650952aca82f","authorName":null,"farcasterHandle":"hdr","twitterHandle":"hdr284","profileUrl":"https://poidh.xyz/account/0xd175f211ec6afb9a582ed67b8c2e650952aca82f","profileDataUrl":"https://poidh.xyz/account/0xd175f211ec6afb9a582ed67b8c2e650952aca82f/data","upvotes":1,"downvotes":0}]}