Inspiration
Almost every crypto exchange advertises "no-KYC" — right up until the moment it asks for your passport mid-swap or freezes your coins. There was no way to know beforehand which "no-KYC" services actually keep their word. You were left trusting marketing pages and scattered forum posts. I wanted to turn that into something verifiable: a place where the claim "no-KYC" is backed by real data from real swaps, and where staying private is the default, not a feature you pay for.
What it does
NotKycLife (notkyc.life) is a directory, live-rate aggregator, and instant-swap platform for no-KYC crypto exchanges — with a community-verified twist:
Live rates from 20+ no-KYC exchanges — any pair (BTC, XMR, ETH, USDT, LTC, SOL…), best offer first, updated live. Swap directly on the site — no account, no signup. The trade is routed to the best no-KYC exchange and coins land in your own wallet. No-KYC Track Record (the signature feature) — after each on-site swap, the user reports whether that exchange actually asked for KYC. Every exchange then carries a public record of its recent real swaps: 🟢 stayed anonymous · 🟠 asked for KYC · 🔴 froze/withheld funds. Verified crowd-sourced evidence, not marketing. Pseudonymous profiles + gamification — optional accounts with no email or ID, earning ranks, 160+ achievements, badges, and profile customization from real swaps and reports — to build a community around the track record. No logs, no tracking. You can swap as a ghost forever.
How I built it
Deliberately boring, fast stack: Go standard library (net/http ServeMux, html/template — no web framework) and PostgreSQL, deployed as a single binary on one Hetzner box with a git-push + systemd build. The rate aggregator fans out to 20+ exchange APIs concurrently behind a short shared cache, normalizes every quote, and streams results progressively over SSE. On-site swaps route through provider order APIs. There's a Telegram rate bot (inline + DM), on-the-fly OG image generation, an attribute-based scoring engine, and a fully isolated gamification layer that only reads swap outcomes and never touches the swap engine.
Challenges I ran into
Every exchange API is different — and some lie. One provider always returned a rate field of 1; another returned a rate 10× off. I stopped trusting provider "rate" fields entirely and built a normalization layer that derives the rate from the actual amount received — killing the whole class of bugs at once. Anti-gaming the track record. A public trust bar invites manipulation (competitors faking KYC reports). I gated reports to real, funded swaps only, added a three-state verdict (no-KYC / KYC asked / funds held), admin moderation, and a stuck-swap complaint flow so fake reports can't skew an exchange's record. Coins that rename underneath you. Toncoin rebranded to GRAM across many exchanges, silently breaking rate lookups — a reminder that this data is always shifting. Gamification without risk. Keeping ranks/achievements 100% additive so a bug in "fun" can never affect someone's money.
Accomplishments that I'm proud of
A live, working aggregator + on-site swap across 20+ real no-KYC exchanges — not a mockup. The No-KYC Track Record — a genuinely novel trust signal built from real user swaps. 160+ achievements and a full progression/customization system, completely isolated from the swap path. Everything anonymous by design, running lean as a single self-hostable binary.
What I learned
Treat all third-party data as hostile: validate, normalize, and sanity-check against the crowd — never trust a single field. Design anti-abuse first. For a trust product, the moderation and gating model matters more than any feature. A minimal stack (Go stdlib + Postgres) let one person ship and maintain a surprisingly large product without drowning in dependencies.
What's next for NotKycLife
Restore coins broken by renames (GRAM), and onboard more exchanges. Push the "funds held" verdict fully into the public track-record bar. Ship the referral system, seasonal achievements, and NotkycPay no-account payment links. Grow the community layer, expand localization, and keep sharpening the one thing that makes it different: real, verifiable no-KYC data.


Log in or sign up for Devpost to join the conversation.