Security
The Baggy Promise
👜 Baggy looks. Baggy doesn’t touch.
BAG CHECK requires no wallet connection, token approval, signature, or transaction to check your bag. Ever.
read-only · no signature · no approval · no transaction
How BAG CHECK works
- ↓ You paste a public address
- ↓ BAG CHECK reads Robinhood Chain (public explorer + RPC)
- ↓ Baggy judges the public data
- Done
There is no step where anything is sent from your wallet, because there is no code in BAG CHECK that could send it.
BAG CHECK does not receive
- Seed phrasenever
- Private keynever
- Wallet connectionnever
- Signaturenever
- Token permission / approve()never
- Spending approval / Permit2never
- Transactionnever
- Your name, email, or phonenever
Provable, not promised
The analyzer contains no wallet transaction or token-approval flow: no contract-writing client, no approve(), no eth_sendTransaction, no Permit / Permit2, no signing flow, and no wallet SDK in the core path.
The build’s own test suite fails if any wallet-connect, signing, approval or transaction code is added. The code is the statement.
If a site claiming to be BAG CHECK asks you to approve tokens or send a transaction just to check your bag — reject it.
Token approvals can become wallet-draining attack vectors when the approved contract is malicious or compromised — wallets like MetaMask warn about exactly this. Real BAG CHECK never asks. Remember it as: Baggy doesn’t touch.
Privacy
- We don’t need your name, email, phone number, or wallet login. The only input is a public address.
- We don’t build a dossier. The expensive public routes are rate limited, and the bucket is a salted, day-scoped, truncated hash of your connection's IP — never the IP itself, deliberately short enough that unrelated people share a bucket, expiring within minutes, and never stored beside a wallet address. Analytics are daily counters — bags checked, cards viewed, which of six share sources a visit came from — never a per-person log, and no counter key contains an address. Page views are counted by Cloudflare Web Analytics, which is cookieless and does not fingerprint — it records that a page was viewed, not who viewed it, and is never joined to an address, a result or a share link.
- Share cards show percentages, a shortened address, and never exact balances or values. A completed check writes a per-wallet snapshot that persists until it is erased, holding the score, archetype, verdict, badges, composition and the block height of the first check — POST /api/erase with the address removes it, no proof of ownership required. A share link (an opaque id) keeps resolving while that record exists, so treat it like a screenshot; the card image itself can sit in caches for up to 24 hours after an erasure.
- One first-party cookie, `bc_src`, remembers which of six share sources brought you here — a post, a forward, a link in a chat — for 30 days, so we can tell whether sharing brings anyone back. It holds one of six short tags and no identifier. There is no referral cookie: referrals are not live.
- A per-wallet snapshot IS kept, from the first completed check, without any proof of control — see /privacy for the exact fields. The Genesis ledger that would commit a salted first-check leaf to a daily Merkle root anchored with OpenTimestamps is not live: no leaf is written and no root is published. Erasure is self-serve either way: POST /api/erase with the address, no proof required.
Everything BAG CHECK reads is already public on Robinhood Chain. We make it easier to understand — and funnier — not more exposed.
Someday, proving ownership
If a future feature ever needs to prove a wallet is yours (claiming something), the correct tool is Sign-In with Ethereum (ERC-4361): an off-chain signed message, verified by the server. That is authentication — it is not a token approval and moves nothing. It is not required today and not planned for beta.
BAG CHECK is an independent application deployed on Robinhood Chain. It is not built by, endorsed by, sponsored by, or affiliated with Robinhood Markets, Inc. About