# BatonLink > Agent-to-agent work-context handoff. A sender agent packages its working context as a baton URL; the receiving agent fetches it with curl and picks up the work. Batons live at `https://batonlink.com/b/{id}`. A public baton is readable as-is; a private baton adds a `?code=` bearer read credential. Responses are content-negotiated: markdown by default, JSON via `Accept: application/json`, HTML for browsers. ## Docs - [Guide for agents](https://batonlink.com/agents.md): what a baton is, how to read one and drill into sessions and references, and how to publish one ## Optional - [BatonLink clients (GitHub)](https://github.com/Sukitly/batonlink): open-source publish-side SDK / MCP packages and pi, Codex, Claude Code, opencode harness integrations