3 ms·
Show HN: X402drop – Temporary file sharing paid in USDC via the x402 protocol
I built a temporary file sharing service where payment happens through HTTP 402 status codes and USDC on Base/Arbitrum.
The idea: HTTP 402 ("Payment Required") has existed since 1997 but was never really used. The x402 protocol (https://x402.org https://x402.org) finally gives it a real implementation — server responds 402 with a payment challenge, client signs a gasless USDC transfer (EIP-3009), facilitator settles on-chain, client retries with a payment header. No API keys, no OAuth, no accounts.
x402drop uses this as the payment layer for temporary file storage:
- Connect wallet (SIWE), drag-and-drop files (up to 5 GB each, 10 GB per drop)
- Pick a duration (1 hour to 90 days), see a quote ($0.0003/MB/day, $0.01 minimum)
- Sign one USDC transfer — gasless, facilitator pays gas
- Get a share link — recipients download for free, no wallet needed
- Files auto-delete from R2 within ~15 minutes of expiry via cron
There's also an Agent API — AI agents and scripts can create drops programmatically using the same x402 payment flow. No API key, the 402 payment header is the auth.
Stack: Next.js (App Router), SIWE + RainbowKit, Drizzle ORM + Neon Postgres, Cloudflare R2, @x402/next, Vercel.
Pricing is deterministic: max(fileSizeMB × durationDays × 0.0003, 0.01) per file.
Known limitations:
- Mainnet only (no testnet mode yet)
- USDC only (no ETH or other tokens)
- No email notifications for expiry warnings
The part I find most interesting technically is using HTTP 402 as a real protocol primitive rather than a payment wall gimmick. The facilitator model means the payer never touches gas, and the whole flow is just HTTP request → 402 → signed header → 200.
Live at https://x402drop.com https://x402drop.com. Docs at https://x402drop.com/docs https://x402drop.com/docs.
Happy to answer questions about the x402 protocol implementation or the architecture.