Blog
Engineering notes, post-mortems, and the occasional opinion piece. Mostly written by the team that ships the code.
- ·3 min
What we're building in May
Short note. Three concrete things, target ship dates.
Read more → - ·4 min
Honest pricing: why we cut our paid plans
Our launch pricing was wrong. We cut it. Some words on what we learned.
Read more → - ·5 min
Adding TRON — and why USDT-on-TRON is everywhere
TRON's share of stablecoin volume keeps surprising us. Notes from adding it as a first-class chain.
Read more → - ·5 min
Q1 numbers: what we shipped and what we missed
Honest accounting against the Q1 commitments we made in January.
Read more → - ·5 min
Bring-your-own-key for Enterprise customers
A few paying customers wanted control of the key wrapping their wallet mnemonics. We built it.
Read more → - ·4 min
Webhook signing: why we use HMAC over JWT
A short, opinionated post about webhook auth.
Read more → - ·6 min
Single-VPS vs multi-region: when to scale
A grown-up conversation about when premature distribution is the wrong call.
Read more → - ·2 min
Brief: upstream Cloudflare degradation on Mar 4
A short note on something we did NOT cause.
Read more → - ·4 min
Building a contact form that doesn't drown in spam
Three layers of defense for a marketing-site form, with code.
Read more → - ·4 min
We dropped DodoPayments for Stripe
Switching billing providers mid-flight is a tax. Here's why we paid it.
Read more → - ·6 min
P2P escrow design — 90 days in production
What worked, what didn't, and the one thing we'd redesign if we started over.
Read more → - ·5 min
On-chain monitoring without burning RPC budget
How we keep block-level visibility while paying less per call than the obvious approach.
Read more → - ·7 min
KMS providers compared: GCP vs AWS vs Vault
We picked GCP. Here's the honest breakdown — including the parts that aren't obvious until you've set them up.
Read more → - ·6 min
Adding Solana — what changed in our stack
Solana doesn't fit the BIP-32 HD wallet model we use for EVM and UTXO. Here's how we adapted.
Read more → - ·5 min
Cost-aware crypto API design
A few small choices that keep our infrastructure bill out of the “why is this so expensive” zone.
Read more → - ·4 min
Roadmap for Q1 2026
What we're committing to publicly. The shorter list is, on purpose, more honest.
Read more → - ·6 min
2025: what shipped, what didn't
We started SwyDex in late 2024. Here's the honest accounting of where we are 12 months later.
Read more → - ·2 min
Holiday support coverage
Short note on what to expect over the next week.
Read more → - ·4 min
Static-analysis tests for tenant-isolation bugs
A 200-line Vitest file that prevents an entire class of multi-tenant data leaks.
Read more → - ·3 min
Postmortem: 23-minute degradation on Dec 4
A small incident, written up at full transparency. We owe this to anyone integrating against us.
Read more → - ·7 min
Scaling our database without sharding
A single Postgres instance is more capable than people give it credit for. Here's the playbook before we'd ever shard.
Read more → - ·5 min
The case against per-API-call pricing
Why we don't bill per request, even though it would print more money short-term.
Read more → - ·4 min
Why we picked Postgres over Mongo
For a platform that runs on accurate accounting, the choice is about constraints, not features.
Read more → - ·6 min
When tenant isolation isn't enough — defense in depth
Two layers of protection above the obvious tenantId filter. We sleep better with both.
Read more → - ·5 min
Webhook reliability is a tax on every integration
Three patterns most platforms get wrong, and what we did about them.
Read more → - ·4 min
What we learned shipping the first 100 wallets
Some of these were obvious in retrospect. The bug at #67 wasn't.
Read more → - ·5 min
Multi-chain HD wallets without Tatum lock-in
How we abstract over RPC providers so we can swap them mid-flight without breaking customer integrations.
Read more → - ·6 min
How we encrypt your customers' keys
Envelope encryption with KMS-wrapped DEKs, plus the operational implications most platforms skip past.
Read more → - ·5 min
Why custodial, in 2025?
Self-custody is the right answer for many users. It is the wrong answer for almost every business that wants to onboard those users.
Read more → - ·4 min
Why we built SwyDex
A short story about getting tired of stitching wallet, exchange, and P2P primitives together by hand — and what we decided to do instead.
Read more →