Skip to content

Addresses

Every object in a network has a location address:

inseam://{network}/{host}/{path}
part
network the network id: 16 lowercase letters and digits
host the host id: 12 lowercase letters and digits. The pad is always pad
path the path within the host, with / as the separator and no leading /
inseam://n7q2k3m4p5r6s7t8/h1a2b3c4d5e6/Reports/Q3.md
inseam://n7q2k3m4p5r6s7t8/pad/notes/today.md
inseam://n7q2k3m4p5r6s7t8/h1a2b3c4d5e6/Reports/ a folder: ends with /

Rules:

  • An address names where an object is. It stays the same when the index is rebuilt. After a move or a delete the old address keeps a forward for a while, so a stale link resolves or explains itself.
  • The path is percent-encoded where a URL needs it: space, #, ?, % and non-ASCII characters are encoded, / is not. inseam://…/h1a2b3c4d5e6/Notes/My%20file.md is Notes/My file.md.
  • The scheme is case-insensitive; everything else is exact.
  • A host on its own needs a trailing slash: inseam://n…/h…/ is the host’s root. inseam://n…/h… is invalid.
  • An address is at most 4096 bytes.

In a URL, the API also accepts {host}/{path} under the credential’s network:

GET /v1/o/h1a2b3c4d5e6/Reports/Q3.md
GET /v1/get?address=pad/notes/today.md

The MCP tools accept the same two forms.

A record also carries the address of its bytes: b3: followed by 64 hex characters, a BLAKE3 hash of the content. Two objects with the same content address hold the same bytes, wherever they are. The ETag of an object read is its host’s version id when the host has one, else this hash.