# `gno.land/r/moul/x/daily/ratelimitdemo/v0` Live demo of the [`p/moul/x/daily/ratelimit`](https://github.com/moul/gno-contracts/tree/main/p/moul/x/daily/ratelimit/v0) token-bucket rate limiter. Holds one package-level `ratelimit.Limiter` (0.5 tokens/block, capacity 5) and wires it to the chain — the tick is `runtime.ChainHeight()`, each caller is keyed by `unsafe.PreviousRealm().Address()`: - `Allow(cur) bool` — consume one token for the caller. - `SetConfig(cur, rate, burst)` — retune the shared bucket. - `Tokens(addr) int` — read-only balance. - `Render("/")` — config + a table of callers; `Render("/addr/
")` focuses one. All refill/consume math lives in the library; this realm is just the wiring and the gnoweb view. Render it at [`/r/moul/x/daily/ratelimitdemo/v0`](https://gno.land/r/moul/x/daily/ratelimitdemo/v0). --- Part of **[moul/gno-contracts](https://github.com/moul/gno-contracts)** — moul's versioned gno.land contracts. See the repository for the full catalog, build/test tooling, and usage. **Dependency graph:**  > 🧪 **Highly experimental — potentially vibe-coded.** Not audited; may break, change, or be removed at any time. Do not use with anything of value. Full disclaimer: [DISCLAIMER](https://github.com/moul/gno-contracts/blob/main/DISCLAIMER.md).