Zeno uses standard Environment Variables (Vars) configured in wrangler.toml or the Dashboard.
Zeno uses fast object storage associated with these bindings. Required.
| Binding Name | Purpose | Lifecycle Policy |
|---|---|---|
zeno_challenges |
Stores active PoW challenges | 1 Day (Auto-cleaned) |
zeno_tokens |
Stores verified tokens | 1 Day |
zeno_bans_day |
IP Ban list | 1 Day |
| Variable | Description | Default |
|---|---|---|
ALLOWED_ORIGINS |
Regex whitelist for Origin header |
null (Open) |
ALLOWED_REFERERS |
Regex whitelist for Referer header |
null (Open) |
VDF |
VDF Iterations (sequential time cost) | 100 (~0.6s) |
GRAPH_BITS |
Cuckatoo Graph Size ($2^N$ nodes) | 18 (~32MB RAM) |
CHALLENGE_TTL |
Time to solve (seconds) | 60 |
TOKEN_TTL |
Token validity (seconds) | 3600 |
TOKEN_REUSE |
Allow using token multiple times? | true |
dynamic_sites |
Enable non-configured site keys? | true |
Choose based on your threat model:
| Preset | GRAPH_BITS |
VDF |
Time | Memory | Use Case |
|---|---|---|---|---|---|
| Light | 13 | 100 | ~0.9s | 2 MB | Low-risk pages |
| Standard | 15 | 150 | ~1.3s | 5 MB | General protection |
| Default | 18 | 100 | ~0.9s | 32 MB | ASIC/GPU resistant |
| Strong | 18 | 300 | ~2.7s | 32 MB | Login, payment |
| Paranoid | 19 | 200 | ~2.6s | 62 MB | Critical actions |
You can override any variable for a specific zeno-site-key (UUID) by prefixing it.
Pattern: {SITE_KEY}_{VARIABLE_NAME}
Examples:
f47ac10b-58cc-4372-a567-0e02b2c3d479_VDF = 300 (Stronger for this site)f47ac10b-58cc-4372-a567-0e02b2c3d479_GRAPH_BITS = 19 (More memory)f47ac10b-58cc-4372-a567-0e02b2c3d479_ALLOWED_ORIGINS = ^https://mysite\.com$dynamic_sites = true): If a request comes with a Site Key that has no specific overrides, it falls back to the global default settings.dynamic_sites = false): Requests with unknown Site Keys will be rejected with 403 Forbidden. Use this to lock down your worker to only known clients.To increase security without affecting solve time:
GRAPH_BITS (memory wall)To increase security with longer solve time:
VDF iterationsFor mobile-heavy traffic:
GRAPH_BITS = 15-17| Parameter | Safe Range | Hard Limit | Notes |
|---|---|---|---|
GRAPH_BITS |
13-19 | 20 | >20 causes OOM/timeout |
VDF |
10-800 | 1,000,000 | >800 exceeds 5s solve |