Overview
Every binding kind Sproutboat exposes on env, and how binding calls reach the broker.
All binding calls are synchronous loopback RPC to the broker running next to your sprout. await is harmless on them but does nothing — see The handler.
Available bindings
| Binding | Accessed as | Config key |
|---|---|---|
| KV | env.NAME |
kv_namespaces |
| D1 (SQLite) | env.NAME |
d1_databases |
| R2 (object storage) | env.NAME |
r2_buckets |
| Queues | env.NAME |
queues |
| Secrets | env.NAME |
secrets |
| Cron | scheduled(event) |
triggers.crons |
| Service bindings | env.NAME |
services |
| Static assets | env.ASSETS |
assets |
| Durable Objects | env.NAME |
durable_objects |
| Rate limiting | env.NAME |
ratelimiters |
| Outbound fetch | fetch() |
outbound |
| Vars | env.NAME |
vars |
Every binding is declared in sproutboat.jsonc. KV, D1, R2, and queues are account-level resources with auto-provisioning behavior — see Storage resources.