What are Hosted Sinks?
Updated August 2026
Hosted Sinks is a managed service on The Graph Market that runs your Substreams sink for you. You point it at a Substreams package and your own Postgres or ClickHouse database, and it continuously indexes into that database without you provisioning or operating anything.
It is currently in beta.
What does it replace?
The operational half of a data pipeline. Normally, running a sink means deploying a binary somewhere, keeping it alive, monitoring it, restarting it safely after a failure, and making sure its cursor is persisted so restarts do not lose or duplicate data.
Hosted Sinks does that part. You still own the database and the Substreams module — what goes away is the infrastructure between them.
| Self-run sink | Hosted Sink | |
|---|---|---|
| You operate | Sink process, monitoring, restarts | Nothing |
| You own | Database, module | Database, module |
| Deployment | Your infrastructure | Configured in a portal |
| Destinations | Postgres, ClickHouse, Kafka, files, more | Postgres, ClickHouse |
| Network | Wherever you run it | Your DB must be reachable from the internet |
What do I need before starting?
An account and organization on The Graph Market. A Substreams package that emits database changes or relational mappings — either from the registry or your own. And a Postgres or ClickHouse database that is network-accessible, with your schema applied or created by the package.
That last requirement is the one that rules people out: the database has to be reachable from StreamingFast's infrastructure. A database inside a private VPC with no public route will not work as-is.
How do I set one up?
Give the sink a name, supply the package — either a public URL or a registry ID such as ethereum_common@v0.3.3 — then choose Postgres or ClickHouse and enter the connection details.
Set the execution range: a start block (0 for genesis) and a stop block (0 to follow the chain head indefinitely), plus the name of the output module, typically db_out. Filters and module parameters are available if the package supports them.
Deploy, and the sink provisions and begins indexing.
Use a dedicated database user with write access scoped to the target schema, rather than an admin account. Credentials are stored to connect the sink to your database, and narrow permissions are simply good practice.
Which managed databases work?
Documented walkthroughs exist for Supabase and Neon on the Postgres side, and ClickHouse Cloud on the analytics side. Any reachable Postgres or ClickHouse instance should work; those three just have step-by-step guides.
When should I run the sink myself instead?
When you need a destination Hosted Sinks does not cover — Kafka, PubSub, files, or a custom consumer. When your database cannot be publicly reachable. Or when you want the sink co-located with your database for latency or egress reasons.
Both paths use the same Substreams package, so this is a deployment decision rather than an architectural one. Starting hosted and moving later does not mean rewriting anything.
Frequently asked questions
Does Hosted Sinks store my data? No. It writes into your own database. You own the data and the schema.
Can I use it with Kafka? Not currently — Hosted Sinks supports Postgres and ClickHouse. Other destinations need a self-run sink.
Is it production ready? It is in beta and under active development. Check the current status before depending on it for critical workloads.
Set one up at thegraph.market — no personal information required to get an API key.
Related: How do I stream onchain data to a database? · How do I get blockchain data into Postgres? · How do I get blockchain data into ClickHouse?