#XRPC
so, bluesky took this list down...

mod.bsky.app/xrpc/com.atp...
November 9, 2026 at 12:28 AM
at://samuel.fm/app.bsky.feed.post/3mzx72y7qwc24
pdsls.dev
November 10, 2026 at 10:25 AM
2/

With XRPC, everything goes under an /xrpc/ directory — rather than /api/ or just calling a single /graphql end point.

For example:

/xrpc/com.atproto.repo.createRecord
/xrpc/app.bsky.actor.getProfile
/xrpc/tools.ozone.moderation.emitEvent

…

#ATProto #ATProto101
November 10, 2026 at 1:50 PM
4/

Anyone can create their own custom XPRC procedures. For example:

/xrpc/com.example.bing
/xrpc/com.example.bong
/xrpc/com.example.bang
/xrpc/com.example.isItBoomerang

Although, someone would have to implement the custom XRPC procedures into an ATProto service.

#ATProto #ATProto101
November 10, 2026 at 1:59 PM
If you are building an atproto app, you can consume the Atmosphere feed via XRPC!

It closely follows app.bsky.feed.getFeedSkeleton, but returns atproto records (not Bluesky posts) and supports filtering by NSID:
foryou.club/xrpc/club.fo...

Lexicon schema:
pdsls.dev/at://did:plc...
at://foryou.club/com.atproto.lexicon.schema/club.foryou.feed.getFeedSkeleton
pdsls.dev
November 5, 2026 at 2:16 AM
3/

Although XRPC uses HTTP, XRPC is NOT REST-ful.

With XRPC paths are not necessarily nouns — they could be verbs, too, etc. I.e., verbs are not restricted to HTTP methods. And really, most of the HTTP methods are unused (and custom HTTP methods aren't used) by XRPC.

…

#ATProto #ATProto101
November 10, 2026 at 1:55 PM
it also supports xrpc writes, spindles and such to keep it usable from the tangled web client. im running all my repos on it already git.klbr.net
git.klbr.net
a knot for tangled
git.klbr.net
November 8, 2026 at 3:05 AM
does yours provide an xrpc api?
November 8, 2026 at 6:37 PM
I do like the idea of user control.

What I was talking to @awarm.space about at community day was defining an analytics event lexicon, as well as an XRPC. Then apps could implement the XRPC and advertise it. Other apps could write events using the lexicon, and send them to the XRPC.
November 10, 2026 at 1:52 AM
That allows each app to decide what to do with their own analytics data, and allows apps to report back to the source app if it exposes the XRPC.

- Leaflet exposes analytics XRPC
- User A creates post on Leaflet
- User B reads post on Standard Reader
- Standard Reader sends events to Leaflet's XRPC
November 10, 2026 at 1:52 AM
Agreed, should maybe become a field `capabilities` in `describeServer` that lists all supported capabilities. Or another xrpc endpoint that can be queried.
November 9, 2026 at 2:32 PM
November 6, 2026 at 3:58 AM
sometimes i just `websocat wss://bsky.network/xrpc/com.atproto.sync.subscribeRepos` and watch the firehose for a bit
November 8, 2026 at 4:34 AM
exosphere 0.7.0 [updated]

A collection of ATProto clients and utilities, including XRPC clients, firehose consumers, and more.

Licenses: MIT
November 9, 2026 at 1:00 AM
@haroldadmin.com couldn't find literally any DM option lol, but I remembered the name: hydrant

tangled.org/ptr.pet/hydr...

genuinely looks awesome and I wanna try it
hydrant by ptr.pet · Tangled
very fast at protocol indexer with flexible filtering, xrpc queries, cursor-backed event stream, and more, built on fjall
tangled.org
November 9, 2026 at 11:48 PM
Hi @somethingchronic.bsky.social! This isn't a Skylens error. You're still on the list "Helen Lewis followers/likers" by @lists.alxtratrstrl.xyz, you can check it here: scalycap.us-west.host.bsky.network/xrpc/com.atproto.repo.getRecord?…
November 9, 2026 at 2:23 PM
2/

Although using apps such as Bluesky, Blacksky, Leaflet, and others are convenient —

You could get your (or other people's) data yourself, straight from the ATProto PDS.

For example, here is an image from my PDS:

blacksky.app/xrpc/com.atp...

#ATProto #ATProto101
November 9, 2026 at 6:58 PM
November 8, 2026 at 6:03 PM
This is helpful for biblio.livtet.olamaelcu.net because I wanted to prime blocks to filter feeds but didn't want to write in anything too bluesky specific; we need a general interaction filtering lexicon *now*
Every query is documented from the lexicon files and served over /xrpc. Callers authenticate with a DPoP-bound OAuth access token.
biblio.livtet.olamaelcu.net
November 11, 2026 at 3:37 AM
Maybe XRPC queries and procedures? That’s still a bit of a question mark for me personally.
November 6, 2026 at 3:04 PM
To me, CBOR being exposed in the com.atproto XRPC API feels like an abstraction leak.
November 9, 2026 at 12:15 PM
It's interesting. The reserveSigningKey xrpc finally makes a bit more sense to me lol
November 6, 2026 at 1:06 AM
Added project: exosphere by @tobbbles.cloud (Elixir 🧪, tags: xrpc client, identity, firehose, oauth, lexicons, parsing, crypto
GitHub - tobbbles/exosphere: Elixir client for the ATProto Atmosphere
Elixir client for the ATProto Atmosphere. Contribute to tobbbles/exosphere development by creating an account on GitHub.
github.com
November 9, 2026 at 6:25 PM
I'm on the verge of hacking together something to make a direct call to '/xrpc/com.atproto.repo.uploadBlob' just to upload PNGs of my photos with all EXIF & XMP metadata intact.

Making a post via "social-app" strips all that out & crushes the image into a 4000 px JPG.

or I could revive my Flickr…
November 9, 2026 at 2:21 AM
Getting arbitrary public records is fine as they can be indexed by a trusted party. Getting arbitrary blobs is already more complicated because they hit a PDS that could be tracking and they could be arbitrary identifiers. XRPC is also tough but we can think of options.
November 7, 2026 at 11:23 AM