Sources
A source is the first stage of every pipeline — it’s where Oura reads chain data from and turns it into a stream of events. Most pipelines connect straight to a Cardano node; the rest cover more specialized cases like fast bootstrapping, archived blocks, or Layer 2.
Which source should I use?
| Source | Connects to… | Reach for it when… |
|---|---|---|
| N2N | a node over a TCP socket (a relay/peer) | you want to follow the chain without running your own node — the most common choice |
| N2C | a local node over a unix socket | you run the node yourself and want the lowest-overhead connection |
| UtxoRPC | a Dolos / Demeter gRPC endpoint | you’d rather consume a hosted data service than operate a node |
| Hydra | a Hydra head over a WebSocket | you’re observing events on a Hydra Layer 2 head |
| Mithril | a Mithril aggregator snapshot | you need to bootstrap historical chain data quickly |
| S3 | block objects stored in an AWS S3 bucket | you’re replaying blocks you previously archived |
N2N and N2C are bundled in the default binary. Mithril needs a custom build — see the note on its page.
How sources fit together
Whatever the source, it hands the rest of the pipeline a stream of apply / undo events
carrying raw CBOR blocks by default. Filters then decode and reshape that
data before a sink delivers it. To control where on the chain a source
starts (and optionally stops), see Intersect options.