Bindings
Binding status
21 of 28 Cloudflare bindings run on OpenOrange, with the same wrangler.jsonc and the same env. Each binding's page has how it runs, what differs, and the tests behind it.
- 7
- Drop-in
- 5
- Pluggable
- 9
- Partial
- 7
- Stub
From OpenOrange ea40348, 2026-11-10. Scores on the compatibility page.
- Drop-in.
- Same API, same config. Nothing to change.
- Pluggable.
- Works out of the box, and can point at a provider you choose.
- Partial.
- Works with known differences, listed on its row.
- Stub.
- The binding loads; every call throws an error that names it.
PluggableR2r2_buckets Actor SQLite by default, or any S3-compatible store per bucket Works with Amazon S3, Google Cloud Storage, Cloudflare R2, Backblaze B2
Drop-inQueuesqueues.producers, queues.consumers Internal Rivet Actor per queue, delivered to the Worker's queue() handler
PartialWorkflowsworkflows Cloudflare's own Workflows engine, copied from @cloudflare/workflows-shared 0.15.1, with one Rivet Actor per instance
Drop-inCron Triggerstriggers.crons Internal Rivet Actor that evaluates the full Cloudflare cron syntax
Drop-inRate Limitingratelimits, unsafe.bindings Internal Rivet Actor per namespace_id with an exact fixed-window counter
PluggableWorkers AI + AI Gatewayai Any OpenAI-compatible provider (OpenRouter by default, or ORANGE_AI_BASE_URL) Works with OpenRouter, OpenAI, Groq, Together AI, Fireworks AI
PartialWorker Loaderworker_loaders One Node.js process per dynamic Worker in an agentOS VM, never on the host, Workers RPC over Cap'n Web
PartialService bindings to other Workersservices One runtime process per Worker in one orange dev session (orange dev -c a.jsonc -c b.jsonc), with fetch() and RPC over loopback HTTP
PartialWorkers for Platforms (dispatch namespaces)dispatch_namespaces env.DISPATCHER.get(name) finds the user Worker by name among the Workers of the orange dev session
PluggableSandboxescontainers, durable_objects, migrations @cloudflare/sandbox on the ORANGE_SANDBOX_PROVIDER backend: a local host directory (default), an embedded agentOS VM through @rivet-dev/agentos-core, or E2B, Daytona, or Freestyle through @rivet-dev/sandbox-adapter Works with E2B, Daytona, Freestyle
PartialContainerscontainers No container runtime. A class listed under containers gets a ctx.container that runs one sandbox per object on ORANGE_SANDBOX_PROVIDER
PluggableBrowser Renderingbrowser Your own headless Chrome or a hosted browser, through its DevTools Protocol endpoint Works with Browserbase, Browserless, Steel
PluggableSend Emailsend_email Your SMTP server, with inbound email on /cdn-cgi/handler/email Works with Resend, Amazon SES, Postmark, SendGrid, Mailgun
Drop-inHyperdrivehyperdrive Direct connection to the database in the connection string Works with Neon, Supabase, Amazon RDS, PlanetScale
PartialAnalytics Engineanalytics_engine_datasets A dataset that drops every data point, as Miniflare does
Stubs
The Worker loads and env.NAME exists. Every call throws an error that names the binding and says what to use instead.
StubVectorizevectorizeCalls throw. Use a vector database over fetch(), or SQLite with cosine similarity for small sets.
- Runs on
- Stub binding
- Recorded results
- Does not work Vectorize, Images, Pipelines, mTLS 0/4 pass
- Matrix
- binding-vectorize
StubImages, Media, Streamimages, media, streamCalls throw. Use an image service such as imgproxy over fetch().
- Runs on
- Stub bindings
- Recorded results
- Does not work Vectorize, Images, Pipelines, mTLS 0/4 pass
- Matrix
- binding-imagesbinding-streambinding-media
StubPipelinespipelinesCalls throw.
- Runs on
- Stub binding
- Recorded results
- Does not work Vectorize, Images, Pipelines, mTLS 0/4 pass
- Matrix
- binding-pipelines
StubAI Searchai_search, ai_search_namespacesai_search and ai_search_namespaces bindings, env.AI.autorag(), and env.AI.aiSearch() throw.
- Runs on
- Stub binding
- Matrix
- binding-ai-search-namespacebinding-ai-search
StubmTLS certificatesmtls_certificatesCalls throw.
- Runs on
- Stub binding
- Recorded results
- Does not work Vectorize, Images, Pipelines, mTLS 0/4 pass
- Matrix
- binding-mtls-certificate
StubVPCvpc_networks, vpc_servicesvpc_network and vpc_service calls throw. The host network is reachable with fetch() directly.
- Runs on
- Stub bindings
- Matrix
- binding-vpc-servicebinding-vpc-network
StubLegacy blobstext_blobs, data_blobs, wasm_modulestext_blobs, data_blobs, and wasm_modules throw. Import the file from the Worker source instead.
- Runs on
- Stub bindings
- Matrix
- binding-wasm-modulebinding-text-blobbinding-data-blob