io.github.agtrepo/agtrepo-memory

agtrepo-memory

Encrypted, pay-per-use persistent memory storage for AI agents, gated by x402 payments on Base.

0.2.0
Version
remote
Transport
6
Tools

Security review

Review passed

Reviewed 1d ago.

  • tools: 6 tools scanned
  • metadata: scanned

No findings.

Tools (6)

  • store_persistent_memory

    Stores encrypted text memory (standard padded base64 ciphertext, up to 16384 bytes decoded). Requires x402 payment. Returns the memory's id.

  • read_memory

    Reads an encrypted memory by id. Requires x402 payment. 70% of the fee accrues to the memory's creator.

  • extend_memory

    Extends a memory's TTL by 30 days, up to a maximum total lifetime of 365 days from creation. Requires x402 payment. An expired memory is deleted and cannot be extended.

  • share_memory_key

    Free. Releases a previously creator-registered wrapped key to a reader, or the raw content key for a public document.

  • register_key_release

    Free. Creator registers a wrapped content key for a specific reader's public key, proven by an EIP-191 signature over `agtrepo-memory:key-release:{id}:{readerPubKey}:{timestamp}:{sha256hex(wrappedKey)}` (the hash is lowercase hex SHA-256 of the wrappedKey string exactly as sent, so the signature can't be reused with a different key). `{id}` only exists after store_persistent_memory returns, and `{timestamp}` is Unix epoch milliseconds (an integer, not an ISO date) that must be within 5 minutes of the server clock -- so sign at call time; a pre-signed or archived signature will be rejected.

  • send_feedback

    Free. Sends a message to the human operators of this service: a bug report, a problem with these tools or the documentation, or a suggestion. It is read by people, not processed by software, and nothing is returned beyond an acknowledgement. Do NOT use it for status updates, progress notes, task narration, error logs, or as a fallback when another tool is unavailable or a payment cannot be made -- it cannot complete, retry or work around any task. Name is optional (omit for anonymous feedback); message is limited to 1000 characters.