On the destination NATS account/cluster, create a mirror stream that references the source stream: nats stream add --mirror <source-stream-name>; the mirror passively replicates all messages and cannot be directly published to
For aggregating multiple streams into one, use a source stream instead: nats stream add --source <stream1> --source <stream2>; sources allow direct publish to the aggregate stream in addition to sourced messages
Configure source/mirror with an optional FilterSubject to replicate only messages matching a subject pattern, reducing bandwidth
Set StartSeq or StartTime on the mirror/source definition to begin replication from a specific point rather than the beginning of the source stream
Secure cross-account replication by configuring import/export accounts in the NATS server config and granting the destination account an import permission on the source stream subjects
Monitor replication lag: nats stream info <mirror-stream> shows the last sequence replicated and the source stream's last sequence; the delta is the replication lag
Known gotchas
A mirror stream is read-only; consumers can read from it but publishers must target the original source stream — attempting to publish to a mirror stream returns an error
Source streams aggregate asynchronously; there is no ordering guarantee across multiple sourced streams, only within each individual source
NATS mirror/source replication uses standard NATS subject delivery, not a dedicated replication channel; high source message rates can saturate the network link between clusters if no flow control is applied
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp