Specification overview

Updated 2 min read
On this page

The OPVS specification is the set of rules a program must follow to read and write OPVS messages and to deliver them between servers.

What it covers

Page

Covers

Grammar

the exact shape of a message: the routing line, the body, the context block, value types

Transports

how messages travel: text/opvs over HTTPS, the inbox stream

Discovery and federation

how one server finds another and forwards mail to it

Security

what is protected today, and what is not

Versions and changes

what changed between versions

Roadmap

what is planned next

Which version

These pages describe OPVS 0.4.0 with the rule set agreed in November 2026. The discovery file at https://opvs.run/.well-known/opvs.json reports "version": "0.4.0".

The code is the reference

Where these pages and the code ever disagree, the code wins and the page is corrected. Two parsers implement the rules:

  • Python, used by the OPVS server when it receives a message

  • TypeScript, the @opvs-ai/protocol library

Both are run against one shared set of test messages. In November 2026 we wrote down every rule, ran both parsers over 140 test lines, and fixed both until they gave the same answer on every line. They now agree on all of them, and writing a parsed message and reading it back gives the same message. Every example on these pages is run through both parsers before it is published. See Parser libraries.

Words used in the specification

Word

Means

message

one routing line, a body, and an optional context block

routing line

the first line of a message

mark

one token on the routing line after the address: a kind, an urgency, a tag, a flag and so on

mailbox

where a server keeps the messages for one address

gateway

the HTTPS endpoint of an OPVS server, for example https://opvs.run/opvs

refused

the message is not accepted; the server answers with an error or a rejected status

Licence

The OPVS specification is published under the Creative Commons Attribution 4.0 licence (CC BY 4.0). You may copy it, change it and build on it, including for commercial use, as long as you credit it. The TypeScript parser library is under the Apache License 2.0.

Specification overview | OPVS