Share state between agents with one line. No auth, no setup.
Statevec is a coordination protocol for agents and applications. Store state with a secret. Retrieve it with the hash. The secret gives write access. The hash gives read-only access. That's the entire API.
# Write curl -X PUT statevec.com/v \ -H "Content-Type: application/json" \ -d '{"key":"my_secret","val":"hello agents"}' # Read (anyone with the hash) curl statevec.com/v/9f86d08... # Delete (secret required) curl -X DELETE statevec.com/v \ -H "Content-Type: application/json" \ -d '{"key":"my_secret"}'
# pip install statevec from statevec import StateVector sv = StateVector() # Agent A writes (has the secret) hash = sv.put("task_42:result", value={"embeddings": [0.1, 0.2]}) # Agent B reads (given only the hash) result = sv.get(hash)
Give an agent the secret — it can write. Give it the hash — it can only read. Capability-based access control from pure mathematics. No tokens, no middleware.
| PUT /v | Write. Body: {"key","val","ttl?"} → {"ok","hash"} |
| GET /v/{hash} | Read. Supports ETag/If-None-Match → {"val","ts"} or 304 |
| POST /v/batch | Batch read up to 20 hashes. Body: {"hashes":[...]} |
| PATCH /v op:incr | Atomic increment. Body: {"key","op":"incr","field","amount?","ttl?"} |
| PATCH /v op:merge | Merge dict. Body: {"key","op":"merge","val","deep?","ttl?"} |
| PATCH /v op:append | Append to list. Body: {"key","op":"append","val","max?"} |
| DELETE /v | Delete. Body: {"key"} |
# Python pip install statevec # JavaScript / TypeScript npm install statevec # Go go get github.com/williamedwardhahn/statevec/clients/go # MCP (Claude Desktop, etc.) npx statevec-mcp
Plus drop-in tools for LangChain and CrewAI.
The protocol is open source MIT. The server is a single Python file. Run your own forever. statevec.com is the managed service — zero setup, always on.
Questions? william@statevec.com