Nimiq Simple Faucet — Example Mini App
A reusable, self-hosted faucet that drips NIM into users' wallets for onboarding, testing, and retention.

Watch the demo: ▶ YouTube
What it does
Nimiq Simple Faucet is a faucet and payout service for Nimiq. It lets operators drip small amounts of NIM to users inside Nimiq Pay, on demand or by rule. Typical use cases:
- Onboarding: a user opens any Mini App and receives enough NIM to transact for the first time.
- Earn-to-learn: a tutorial Mini App pays the user a few cents in NIM per completed lesson.
- Developer sandbox: devs building Mini Apps can request testnet NIM from a self-hosted faucet without captchas.
- Loyalty: a merchant Mini App pays a small NIM tip on every purchase.
Because the service is self-hosted, any builder can stand it up behind their own Mini App and reuse the same abuse-prevention primitives.
How it uses Nimiq
- Signing: verifies that the claim request is signed by the user's wallet via
window.nimiq.sign()before dispatching a payout. - Native NIM transfers: the Fastify server signs and broadcasts NIM transactions through either a WASM-based or JSON-RPC signer driver.
- Receipts: returns an on-chain tx hash to the Mini App so the user sees a link to a block explorer confirming the transfer.
- USDT support: payouts also work over Polygon USDT via
window.ethereum+ EIP-1193, using the same abuse-prevention pipeline.
Try it
- Source: https://github.com/PanoramicRum/nimiq-simple-faucet
- Self-host:
docker compose up— see the repo'sdeploy/directory for Helm charts and environment variable reference. - Quickstart SDKs: TypeScript, Python, Go, plus mobile (Capacitor, React Native, Flutter).
Tech stack
- Server: Fastify + TypeScript
- Admin: Vue 3 + Vite
- Claim UI: React
- Abuse prevention: rate limiting, captcha, geo-IP, device fingerprinting (9 pluggable layers)
- Infra: Docker, Docker Compose, Kubernetes (Helm)
- AI agent integration: MCP server + structured docs for automated setup
Status
🚧 Beta / work-in-progress. Not production-ready yet. Showcased here as a reference of what a reusable Mini App payout backend can look like.
Builder
PanoramicRum · @PanoramicRum
License
MIT
Notes
This is one of several examples shipped with the competition repo under examples/. Examples are reference Mini Apps authored by Team Nimiq — they are not competing entries and do not appear on the showcase site's submissions grid. See examples/README.md for how Team Nimiq members add new ones.
