Specification overview
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 |
|---|---|
the exact shape of a message: the routing line, the body, the context block, value types | |
how messages travel: | |
how one server finds another and forwards mail to it | |
what is protected today, and what is not | |
what changed between versions | |
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/protocollibrary
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 |
refused | the message is not accepted; the server answers with an error or a |
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.