---
title: Overview
description: "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](/concepts/handler).

## Available bindings

| Binding | Accessed as | Config key |
| --- | --- | --- |
| [KV](/bindings/kv) | `env.NAME` | `kv_namespaces` |
| [D1 (SQLite)](/bindings/d1) | `env.NAME` | `d1_databases` |
| [R2 (object storage)](/bindings/r2) | `env.NAME` | `r2_buckets` |
| [Queues](/bindings/queues) | `env.NAME` | `queues` |
| [Secrets](/bindings/secrets) | `env.NAME` | `secrets` |
| [Cron](/bindings/cron) | `scheduled(event)` | `triggers.crons` |
| [Service bindings](/bindings/service-bindings) | `env.NAME` | `services` |
| [Static assets](/bindings/static-assets) | `env.ASSETS` | `assets` |
| [Durable Objects](/bindings/durable-objects) | `env.NAME` | `durable_objects` |
| [Rate limiting](/bindings/rate-limiting) | `env.NAME` | `ratelimiters` |
| [Outbound fetch](/bindings/outbound-fetch) | `fetch()` | `outbound` |
| [Vars](/bindings/vars) | `env.NAME` | `vars` |

Every binding is declared in [`sproutboat.jsonc`](/concepts/configuration). KV, D1, R2, and queues are account-level resources with auto-provisioning behavior — see [Storage resources](/storage).
