
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.
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.
Installation
In SourceWeft
- Open A2apay in the dashboard and add it to a workspace.
- 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.
(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:
With real payment (once the free tier is used up)
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.
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 noprivate_keyis configured at that point, it raises a clearA2ApayErrorrather 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.):
Add to an MCP client config:
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
0Version history
1- v0.1.0LatestOct 8, 2026


