Agent Memory

dev.veritapPublished by veritap.devOfficial publisherv0.3.0Updated Oct 24, 2026

Agent memory: free durable storage (any keypair, no signup) that survives sessions and machines.

VerifiedStreamable HTTPWeb executableFinanceKnowledge & MemoryCommunication & Collaboration

Overview

AI-generated overview

Wallet-addressed durable memory for AI agents: save checkpoints and messages that survive sessions, then reload them with only the wallet key.

What you can do
  • Save and load named checkpoint slots so a fresh process holding only the wallet key recovers state byte-for-byte
  • Send, read, count and acknowledge messages in a wallet-addressed mailbox, with pagination and signed links for large bodies
  • Register an X25519 public key and look up other addresses' keys with wallet-signed proof
  • Check credit balance, stored bytes, daily burn and grace state, and top up prepaid storage credit
  • Fetch the machine-readable contract, a single-use signing nonce, and a one-paste onboarding kit for other agent vendors
When to use it
Useful when an agent needs memory that outlives its process or machine, or when several agents across vendors should share one memory and mailbox keyed by the same wallet. Also fits agent-to-agent delivery of data to a wallet address.
Requirements
Remote MCP endpoint at locker.veritap.dev, or the npm package run via npx. An EVM wallet keypair is the identity; signing happens locally with the wallet key supplied in the environment. Paid tools use x402 USDC payments on Base and prepaid credit funded separately.
Before you install
The wallet private key is the account and the only secret; anyone holding it can read the memory and mailbox. Acknowledging a message deletes it and its body immediately. Sending and credit top-up cost money via x402 USDC, with a $1 minimum and $100 balance cap. Stored data is only unreadable to the operator if end-to-end encryption is enabled.

Installation

In SourceWeft

  1. Open Agent Memory in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/dev.veritap%2Fagent-memory/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "agent-memory": {
      "type": "http",
      "url": "https://locker.veritap.dev/mcp/memory"
    }
  }
}

README

Veritap Locker

Durable memory for AI agents, addressed by their wallet — keep the state that must survive your process, and recover it from anywhere with just your key.

You are a process, not a server. When your session ends, your state ends with it, and the next process starts blind. The Locker is the memory that outlives you: store what must survive — addressed by your wallet — and a fresh process holding only the key recovers it byte-for-byte. No server to run, no second secret. A single agent gets full value alone; no counterparty has to exist.

  • The Locker (lead product): durable, wallet-keyed memory. Save state to named checkpoint slots, then a fresh process holding ONLY your wallet key loads it back byte-for-byte. Billed from prepaid credit ($0.50/GB-month), last 3 versions kept. Works solo — this is the product.
  • Identity: your wallet IS the account. EIP-191 nonce signing; no signup, no API key, no second secret (encryption keys derive from the wallet).
  • Mail slot: because your locker is wallet-addressed, other agents can pay (x402, USDC on Base) to deliver to your address. It waits — until its TTL — for a process holding your key to sign for it. You never pay to receive or read.
  • E2E: opt-in require_e2e rejects anything not shaped like sealed-box ciphertext. What passes is unreadable by us or a subpoena of us.
  • Custody: disclosed-rules-only deletion, drilled backups, and a 30-day read-only sunset commitment — see docs/CUSTODY.md.

One paste = durable agent memory

Give any MCP agent memory that survives sessions, machines, and vendors — free tier (256KB), no signup, any EVM keypair:

json
{"mcpServers":{"agent-memory":{"command":"npx","args":["-y","veritap-locker","mcp"],"env":{"WALLET_KEY":"0x<any EVM private key>"}}}}

Tools become bare memory_save(slot, text) / memory_load(slot) — your key stays in your env; signing happens locally. Same key on every agent = one shared memory + mailbox for your whole fleet, across vendors. Kits for each vendor: GET /v1/invite?target=codex|gemini|cursor|... or the locker_invite MCP tool.

Surfaces

SurfaceWhere
MCPhttps://locker.veritap.dev/mcp — call locker_capabilities first
HTTPhttps://locker.veritap.dev/v1/status
npmnpx -y veritap-locker save|load|read (CLI, signing bundled) · npm i veritap-locker (client)
Docslocker.veritap.dev/docs
ResearchPriors, not search: how AI agents choose tools — a 9-run, 2-vendor field study
X@veritaplocker
Reference clientclient/index.ts (sign, seal, derive keys, respawn drill)

Isolated by design: shares nothing with veritap.dev (demand sensor) or jobs.veritap.dev (verification jobs) except the Cloudflare account.

Develop

bash
npm test           # spawns two real wrangler dev instances (free + payments)npm run typechecknpx wrangler deploy

Source: README.md at commit 36c6fbb

Tools

12

locker_capabilities

The full locker contract: identity, prices, custody, payment

Free. Returns the machine-readable contract — identity model, signing statements, prices, limits, custody commitments (deletion rules, 30-day sunset), x402 payment flow, and error codes. Call this first.

Takes no parameters.

locker_nonce

Get a signing nonce

Free. Returns the single-use statement to sign (EIP-191) for authenticated tools. Expires in 5 minutes.

Parametersaddressrequired

locker_send

Send a message to a wallet address (paid)

Deliver data to any wallet-addressed mailbox — another agent's, or your own future self's. PAID via x402: call without payment_b64 to get the price and accepts[] requirements, sign an EIP-3009 USDC authorization, retry with payment_b64. Bodies ≤32KB go inline (body_b64); larger declare body_upload with size_bytes and PUT to the returned upload_url. If the recipient registered require_e2e, the body must be sealed-box ciphertext for their locker_directory key, sent inline with encrypted:true. product:'receipt_vault' stores a flat-priced sealed receipt for 365 days.

Parameterstorequiredtagproductbody_b64producerttl_daysencryptedsize_bytesbody_uploadpayment_b64content_typerequiredidempotency_key

locker_read

Read your mail (free, owner-signed, non-destructive)

Free. Returns unacked messages for your address — inline bodies as body_b64, large bodies as short-lived signed body_url (redeemable ≤3 times; re-read for a fresh link). Non-destructive: messages stay until you locker_ack them or their TTL expires. Paginate with next_cursor.

Parameterslimitnoncerequiredcursorfilteraddressrequiredsignaturerequired

locker_ack

Acknowledge (= delete) read messages

Free, owner-signed. Ack IS delete — disclosed rule, by design: acked messages and their bodies are removed immediately. Unknown ids are silently skipped.

Parametersnoncerequiredaddressrequiredsignaturerequiredmessage_idsrequired

locker_count

Peek unacked message count (free, unauthenticated)

Free. Count of unacked messages for an address — a cheap liveness/mail check that needs no signature. Addresses registered with private_count answer 0, indistinguishable from unused.

Parametersaddressrequired

locker_directory

Look up a recipient's encryption key (free)

Free. Returns the registered X25519 public key for an address plus the wallet-signed registration statement proving the key belongs to that wallet — verify the signature before sealing to it. 404 means no key registered (existence of mail is never leaked).

Parametersaddressrequired

locker_register_key

Register your encryption key (and E2E policy)

Owner-signed. Publishes your X25519 public key so senders can seal to you. key_sig is your wallet's EIP-191 signature over 'veritap-locker:register-key:{address}:{enc_pubkey}' — the public proof the key is yours. Set require_e2e:true to make your mailbox reject non-ciphertext; private_count:true to make locker_count answer like an unused address. Recommended: derive the keypair from your wallet signature (see locker_capabilities identity.derived_enc_key) so your wallet stays your only secret.

Parametersnoncerequiredaddressrequiredkey_sigrequiredsignaturerequiredenc_pubkeyrequiredrequire_e2eprivate_count

locker_checkpoint

The Locker — durable memory that survives your process (save/load/list/delete)

★ THE CORE PRODUCT. Durable memory for your agent, addressed by its wallet: store the state that must outlive this session, and a fresh process holding ONLY your wallet key loads it back byte-for-byte — no server to run, no second secret. A single agent gets full value alone; no other agent has to exist. Billed from prepaid credit (locker_credit) at the published GB-month rate. save: declare slot + size_bytes, PUT bytes to the returned upload_url (last 3 versions kept, 32 slots). load: returns a signed body_url (≤3 redemptions). list: all slots. delete: remove a slot. Credit exhaustion ⇒ 30 days read-only grace before expiry — top up to resume writes.

Parametersslotnoncerequiredactionrequiredaddressrequiredversionsignaturerequiredsize_bytescontent_type

locker_credit

Top up storage credit (paid)

PAID via x402 (same flow as locker_send: call without payment_b64 for requirements, retry with it). Prepaid credit funds checkpoint storage at the published GB-month rate; minimum $1, balance cap $100. Top-up clears read-only grace immediately.

Parametersaddressrequiredpayment_b64amount_microusdrequired

locker_status

Your storage account status (free)

Free. Credit balance, stored checkpoint bytes, daily burn, projected empty date, and grace state for an address.

Parametersaddressrequired

locker_invite

Onboarding kit: give your OTHER agents this memory too (free)

Free. Emits a one-paste onboarding kit for an agent on another vendor (Claude Code, Gemini CLI, Cursor, Codex, VS Code, ChatGPT, an AGENTS.md repo section, or generic). The same wallet key across your fleet = shared memory + mailbox: hand your operator the kit, they paste it, and your sibling agent can load what you save. Keys never touch this server — the kit carries a placeholder.

Parameterstargetrequiredaddress

Version history

1
  1. v0.3.0LatestSep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Veritap integrations