a messaging protocol

Your URL is the address.

Posta is a wire protocol that lets one URL send a verified message to another. You publish a small JSON file at your URL listing your public keys. The sender POSTs a signed envelope to that URL; the receiver checks the signature against the key you published. That is the whole protocol.

A URL is the only address you can easily own. It is the same primitive as your homepage: a name in DNS pointing at infrastructure you control. You don't have to borrow it from a platform, and it doesn't have to live as a row in someone else's database. HTTPS already vouches for your URL; the keys you publish inherit the same trust.

The receiver fetches those keys with a GET on the URL itself, which returns an actor doc: a small JSON file listing the keys currently authoritative there. A POST to the same URL delivers a message: a JSON body of whatever payload, plus an Ed25519 signature over its raw bytes. Because the actor doc and the inbox live at the same URL, the URL is the identity rather than an address attached to one.

The wire format is fixed: under thirty kilobytes of normative Markdown plus a set of conformance test vectors. Any language with an HTTP client and Ed25519 can implement a Posta participant in well under a hundred lines. The Go reference is one of those; read the spec and build another.