Status

Draft 0.1, revision of 23 October 2026

VXP is a draft. This page follows specification §13: how far each part has gone, from written rule to running code, to tests, to a live server, to someone outside SOVRAS; which parts are experimental and which are pending; and what changed from the 0.1 annex.

Version: draft 0.1Revised: 23 Oct 2026 · repository 0.1.0-rc.3License: Apache 2.0Tested with Poppy draft 0.2 and PACT 1.0 over A2A 1.0.1

Maturity

How far each part has gone

Results and their logs are on Conformance. The operations observed with personal agents are on Examples.

specified
A normative rule in the specification
implemented
Code in the reference implementation
tested locally
An automated test, in process, passing on 23 Oct 2026
live server
Tested against a running HTTP server, local or through a tunnel
verified externally
By a third-party tool, a third-party agent or a public service
published
Available to read or download outside SOVRAS
experimental
Declared experimental by the specification
pending
What is still missing
Partspecifiedimplementedtested locallytested against a live serververified externallypublishedexperimentalpending
VXP ProofSigned chain: terms, approval, execution, read-back, outcomeYesYesYesYeslive verifier, local serverPartialTimestamps and a Rekor entry exist only for an earlier test log, from before the operationsNot yetNoExternal witnesses and a second issuer. Until then, an attestation by the operator
VerifierPython, cryptographyYesYesYesYesNoBoth verifiers are by the same teamPreparedIn Downloads on this site, not yet onlineNoA verifier written outside SOVRAS
Test vectorsYes0.1 annex, appendix AYesYesNot applicableNoNobody outside SOVRAS has run themPreparedIn Downloads on this site, not yet onlineNoRuns by third parties
Operation requirements O1 to O7Required behaviour, no interfaceYesYesby the reference implementation's own internal controlsYesYesIndirectThe operations of 21 Oct went through those controlsNot yetNoRuns of the conformance validator by a third party against its own implementation (it checks the observable ones: one execution per revision, exact revision, read-back before success)
VXP Relationship over a Poppy conversationYesYesYesYespublic tunnel, 21 OctLive agentRun once on 21 Oct with a live personal agent through the Poppy adapter; the signed receipt was not kept; no agent outside SOVRAS's runs yetNot yetNoRetries, and notifying the person when the agent is not reading
VXP Relationship over an HTTP inboxYesYesYesYeswith the agent in agent/, written by the same teamNoNot yetYesuses native profile routesA third party that implements the inbox
Native profile/.well-known/vxp.json and /v1YesYesalso as a native-only gateway, with no adapterYesincluding the native-only testYeslocal serverNoNo third-party agent has called itNot yetYesAdoption by a third-party agent
Poppy adapterPoppy draft 0.2YesYesYesYespublic tunnel, hardware storePartialOfficial validator for discovery and conversations, which is not full conformance; on 21 Oct, live personal agents used sign-in and Operations, among them Nova AI, SOVRAS's personal agent in betaNot yetNoThe parts of Poppy draft 0.2 listed below as not implemented
PACT adapterPACT 1.0 over A2A 1.0.1YesYesYesYeslocal serverOfficial suiteIdentity suite; no third-party PACT agent yetNot yetNoA PACT agent outside SOVRAS
Relationship over PACTNoNoNoNoNoNoNoSpecification and tests
Approval through a company channelcompany_channelYesIn PACT and on the company's approval pagesYesYesWeb agenton the company's pages, 21 OctNot yetNoIn the native profile and in Poppy, where approval is agent_asserted today
Conformance validatorconformance/: acts as a personal agent against any native endpointYes§12, with the rule → test matrixYesvalidator, checklist, matrixYesYes51 passed, 0 failed, 3 manual against the referenceNoNot yet run by a third partyNot yetNoRuns by third parties
JSON Schemasschemas/0.1, every object of the draftYes§12, informativeYesYesreal runs, proof packages, vectors; invalid objects rejectedYescheck S1 of the validator, against a running serverPartialalso compiled with ajv, a third-party validatorNot yetNoUse by a third party
Personal agentagent/: library, CLI, MCP server and exampleNot applicabletooling, not a ruleYesnative profile; Poppy and PACT adapters in the libraryYesYesagainst the reference, in separate processesNoWritten by the same team as the referenceNot yetYesRelationship over a Poppy conversation on the agent side; use by a developer outside SOVRAS
Traditional channelsA SOVRAS capability, outside the protocolYes§3, informativeYesYesYesWeb agent; one Web Bot Auth signature from a real crawlerNot yetNoReal WhatsApp line, real voice, linking without WhatsApp

Experimental

What draft 0.1 declares experimental

The native profile. /.well-known/vxp.json (with "status": "experimental" in the document) and the endpoints /v1/requests, /v1/proposals/{id}/accept|counter, /v1/requests/{id}/cancel|events|proof and /v1/relationships/{id}. With them, an agent that speaks neither Poppy nor PACT runs the whole cycle: discover, identify itself with private_key_jwt and DPoP, receive per-request authority with authorization_details, ask, receive a proposal, accept, follow events, cancel, get the proof and keep the relationship. It passes its tests in process and over the network. Adoption by a third-party agent is pending.

Native-only gateway. The native profile needs neither adapter. The reference implementation runs that way with both adapters off, and a test runs the whole cycle with an agent that signs with plain node:crypto, checked by the independent verifier anchored by the issuer alone (specification §8). No agent outside SOVRAS has used it yet.

VXP Relationship over HTTP. Querying and revoking a relationship (R10, R11) and the HTTP inbox (R2, R7) use native profile routes, so they share its maturity. The path over a Poppy conversation (§7) is the one a live personal agent ran, once, through the Poppy adapter.

A company may publish vxp.json, poppy.json and the PACT Agent Card at the same time, with the same issuer, authorization server and metadata. An agent that speaks Poppy or PACT does not need the native profile.

Pending

What is missing, stated as missing

The open items of specification §13, with their detail.

  1. Real agents

    On 21 October, personal agents went through the Poppy adapter with temporary identities, among them Nova AI, SOVRAS's personal agent in beta, and a third-party web agent, Grok, went through the companies' web pages. Still missing: a third-party agent on the Poppy adapter, the PACT adapter or the native profile, and an agent with a stable identity.

  2. External counterpart for the two-way relationship

    Run once with a live personal agent over a Poppy conversation (§7). An agent outside SOVRAS's runs on this path, and a third party implementing the HTTP inbox of R2, are still missing.

  3. Independence of the evidence

    • There are no external witnesses of the log.
    • The operator holds the company's key.
    • There is no second independent issuer.
    • Until these exist, VXP Proof is an attestation by the operator, and its evidence depends on SOVRAS.
  4. Approval through the company's channel in the native profile and in Poppy

    Today it is agent_asserted. company_channel exists in PACT and on the company's approval pages (approve, change, authorize), run with Grok.

  5. Real channels

    Meta's WhatsApp integration, real voice, and account linking without WhatsApp. Web Bot Auth was verified live with the signature of a real crawler.

  6. Production

    • State lives in memory. Proof keys persist across restarts since the evening revision of 22 October (§10, key rotation).
    • There are rate limits per client type and a cap on codes per number (active in the public sandbox); real anti-SSRF DNS protection is missing.
    • Nothing has been built yet in the SOVRAS platform repository, and a known gap in its policy layer remains open.
  7. Independent review

    Five review rounds examined the 0.1 specification and left corrections; none closed as an approval without observations. Nobody has yet independently reviewed VXP Relationship, the channels, or the changes to VXP Proof in this draft.

  8. Poppy draft 0.2, a subset

    Not implemented: the person's direct conversation with the company (Poppy §7.10), streaming, DPoP nonce, web browsing with a shared session, OpenAPI and MCP, Direct Sign-In and Mediated Sign-In, and a screen where the person sees and disconnects their agents. Poppy may break compatibility before 1.0.

  9. Protocol domain

    vxpprotocol.org was registered on 22 October 2026 and is under SOVRAS's control, so the extension identifiers use a domain the publisher controls, as Poppy requires. Still to do: publish this site, the documents and the repository on that domain.

  10. Evidence for the operations of 21 October

    Two operations have no saved proof, the keys lived in memory (only OP-5 was re-verified with signatures, on 22 October; its package carries earlier test data and is available on request) and none was anchored. The reference implementation now keeps its keys persistent, so later runs save each proof with material that can be checked again.

  11. Relationship over HTTP and the native profile

    Querying and revoking the relationship (R10, R11) and the HTTP inbox (R2, R7) use routes of the native profile, which is experimental: VXP Relationship over HTTP has that same maturity. The path over the Poppy conversation (§7) is the one a live personal agent ran.

  12. Conformance by a third party

    The conformance validator exists (conformance/): it acts as a personal agent against any native endpoint and reports each check with its rule. Nobody outside SOVRAS has run it against their own implementation yet (Conformance).

Incompatible changes

Identifiers renamed from the 0.1 annex

VXP is independent of SOVRAS. The protocol identifiers that the 0.1 annex named with «sovras» are used as follows from 22 October 2026. A proof signed with the earlier names does not verify with the current verifier. Paths for keys, log and bundles are each implementation's own, discovered through the issuer metadata (specification §8, implementation paths); the reference implementation moved its own from /sovras/ to /vxp/ in the evening revision of 22 October and still answers at the old ones.

0.1 annexVXP 0.1
/.well-known/sovras.json, "protocol": "sovras"/.well-known/vxp.json, "protocol": "vxp"
sovras_outcome_proof (RFC 8414 metadata)vxp_proof
typ: sovras-stmt+sd-jwttyp: vxp-stmt+sd-jwt
typ: sovras-checkpoint+jwttyp: vxp-checkpoint+jwt
sovras_salt (in the terms)vxp_salt
binding: sovras.request / sovras.intentvxp.request / vxp.intent
sovras.io/outcome-proof, https://sovras.io/ext/outcome-proof/v0.1vxpprotocol.org/proof, https://vxpprotocol.org/ext/proof/v0.1
https://sovras.io/rar/capability, https://sovras.io/vxp/rar/relationshiphttps://vxpprotocol.org/rar/capability, https://vxpprotocol.org/rar/relationship

OP-5, signed on 21 October with the earlier names, was re-verified with signatures on 22 October with the verifier from before the rename; its package is available on request. The current verifier is in Downloads.

History

Versions of draft 0.1

  1. Revision of the specification and release candidates 0.1.0-rc.2 and 0.1.0-rc.3 of the repository.

    • Native endpoints: read capabilities answered at once, without a request or a proof; approved_by and user_approval_required stated, with standing_permission recorded in the approval.
    • JSON Schemas for every object of the draft, checked against real runs and by the conformance validator.
    • Documentation, conformance validator and personal-agent tools (library, CLI, MCP server, optional Poppy and PACT adapters) in the repository.
  2. Second revision of the specification that day.

    • Two public components, VXP Proof and VXP Relationship, and operation requirements O1 to O7: required behaviour with no interface, kept apart from the evidence that shows it and from each implementation's internal controls.
    • Native-only gateway: VXP implemented with the native profile alone, without Poppy or PACT.
    • Implementation paths: only the well-known locations and the native endpoints are fixed; every other path is discovered through the metadata.
    • Reading a verdict, key rotation and historical verification.
    • Three classes of tests kept apart in conformance.
  3. First revision of the specification that day.

    • Protocol identifiers renamed to vxp (table above).
    • Interoperability rule I1 made precise: inside an adapter, VXP keeps the external contract literally; the native profile lives beside the adapters on the same issuer.
    • The rules where a request becomes an operation written as behaviour with no endpoint; that evening they became the operation requirements O1 to O7.
    • Conformance with Poppy draft 0.2 §4.4: expanding permissions grants only what was requested.
    • Every figure reconciled with a run logged that day. Figures from earlier days without a log were replaced.
  4. Specification consolidated as VXP draft 0.1, on top of the 0.1 annex: VXP Relationship and VXP Proof as public contracts, the native profile as experimental, and adapters for Poppy and PACT. The same day, personal agents through the Poppy adapter, among them Nova AI, SOVRAS's personal agent in beta, and a third-party web agent, Grok, operated in SOVRAS's production with customers, first on SOVRAS's own resources.