···6677## vs `tap`
8899-while [`tap`](https://github.com/bluesky-social/indigo/tree/main/cmd/tap) is designed primarily as a firehose consumer and relay, `hydrant` is flexible, it allows you to directly query the database for records, and it also provides an ordered view of events, allowing the use of a cursor to fetch events from a specific point in time.
99+while [`tap`](https://github.com/bluesky-social/indigo/tree/main/cmd/tap) is designed as a firehose consumer and simply just propagates events while handling sync, `hydrant` is flexible, it allows you to directly query the database for records, and it also provides an ordered view of events, allowing the use of a cursor to fetch events from a specific point in time.
10101111### stream behavior
1212···111111112112`hydrant` implements the following XRPC endpoints under `/xrpc/`:
113113114114-#### `com.atproto.*`
114114+#### com.atproto.*
115115116116the following are implemented currently:
117117- `com.atproto.repo.getRecord`
118118- `com.atproto.repo.listRecords`
119119120120-#### `systems.gaze.hydrant.*`
120120+#### systems.gaze.hydrant.*
121121122122-##### `systems.gaze.hydrant.countRecords`
122122+these are some non-standard XRPCs that might be useful.
123123+124124+##### systems.gaze.hydrant.countRecords
123125124126return the total number of stored records in a collection.
125127