A2apay

io.github.groundhogday2011-bytev0.1.0Updated Oct 8, 2026

Pay-per-call AI query and versioned task memory for agents. No account, no API key, via x402.

VerifiedSTDIODesktop onlyAI & MLKnowledge & Memory

Overview

AI-generated overview

Lets an assistant ask a paid AI query service and store versioned task checkpoints, with a small free daily tier.

What it does
Exposes ask and remember as MCP tools. ask returns an AI-generated answer from the a2apay service; remember stores a flat text key/value record with optional tags. The underlying client also supports checkpoint and resume for versioned, task-scoped state, but the MCP server only exposes ask and remember, and remember is write-only with no read-back tool.
When to use it
Worth adding when an assistant needs occasional AI answers or simple task-scoped text storage without creating an account or API key, and when the free daily allowance is enough. Less useful if you need to read stored memory back through MCP or want a real document store.
Requirements
Runs locally as a Python process (pip install a2apay-io[mcp], then python mcp_server.py). Free tier needs no wallet or credentials. Paid use beyond the free tier needs the A2APAY_PRIVATE_KEY environment variable holding a Base mainnet wallet private key with a small USDC balance, plus the paid extra (eth-account). Network access to the a2apay service is required.
Before you install
Paid calls spend real USDC on Base mainnet from the wallet behind A2APAY_PRIVATE_KEY; the README states the key is only used to sign payment authorizations locally and is never sent anywhere, but it is still a wallet private key, so treat it as highly sensitive. Calls send queries and stored values to a third-party service. remember writes data and has no read-back tool, so stored records cannot be retrieved through MCP.

Installation

In SourceWeft

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

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

a2apay

Python client for a2apay.io — pay-per-call AI answers and persistent memory for autonomous agents. No account, no API key.

bash
pip install a2apay-io          # free-tier onlypip install "a2apay-io[paid]"  # adds real payment support (eth-account)

(The PyPI distribution is named a2apay-io — an unrelated package already holds the bare a2apay name. The importable module is still a2apay.)

Quick start (free tier, zero setup)

Every call tries the free tier first automatically — 5 requests/day per caller, no wallet needed:

python
from a2apay import Agent
agent = Agent()answer = agent.ask("What's 7 times 8?")print(answer)
agent.remember("last_task", "processed invoice #4471", tags=["billing"])

With real payment (once the free tier is used up)

python
from a2apay import Agent
agent = Agent(private_key="0x...")  # or set A2APAY_PRIVATE_KEYanswer = agent.ask("What's 7 times 8?")

The wallet needs a small USDC balance on Base mainnet ($0.028/call). The private key is used only to sign a payment authorization locally — it is never sent anywhere.

Checkpoint / resume (task memory)

Write versioned, task-scoped state and read it back later — even from a different process. Each checkpoint() to the same key adds a new version rather than overwriting, and resume() always returns the latest.

python
from a2apay import Agent
agent = Agent(private_key="0x...")agent.checkpoint("invoice-batch-7", key="status", value="processed rows 1-400")
# ...process dies, or a second process picks up later...
agent2 = Agent(private_key="0x...")  # same walletrecords = agent2.resume("invoice-batch-7")print(records[0]["value"])  # "processed rows 1-400"

resume() always requires payment ($0.014/call) — there's no free tier for reads yet, so it needs a configured wallet even for your first call. checkpoint() follows the same free-tier-then-paid behavior as remember().

What this honestly does and doesn't do

  • ask() returns a real AI-generated answer.
  • remember() stores a flat key/value record with optional tags — this is simple text storage, not a document database. Values are stored as text.
  • Falls back to a real payment only when the free tier returns a 402; if no private_key is configured at that point, it raises a clear A2ApayError rather than failing silently.
  • Payment signing uses eth-account (maintained by the Ethereum Foundation ecosystem), implementing the real x402 "exact" EVM scheme per the x402 protocol spec.

MCP server

An MCP server (mcp_server.py) exposes ask and remember as MCP tools for any MCP-aware agent or framework (Claude Desktop, etc.):

bash
pip install "a2apay-io[mcp]"python mcp_server.py

Add to an MCP client config:

json
{  "mcpServers": {    "a2apay": {      "command": "python",      "args": ["/absolute/path/to/mcp_server.py"],      "env": {"A2APAY_PRIVATE_KEY": "0x..."}    }  }}

Honest scope note: remember is write-only — there's no memory read-back tool because the live API doesn't have a read-back route yet.

Full API reference

See a2apay.io/openapi.yaml for the underlying HTTP API this wraps.

Source: README.md at commit 685aa4c

Tools

0
Tool metadata has not been indexed yet.

Version history

1
  1. v0.1.0LatestOct 8, 2026