nanopayLABSCO SUMMARY
Three spending shapes, and picking the right one is the whole decision.
A single API purchase is an intent, with policy and limits in front of it. A stream of small calls to one provider is a channel: lock funds once, spend off-chain, settle at the end. A paywall you hit unexpectedly is nanopay, which negotiates and pays without stopping the run. The failure modes are financial, so the structured error codes and the idempotency key matter more here than the tool count.
What it is
A payments server for autonomous agents. It fronts a smart contract wallet on Base, with three ways to spend: gateway nanopayments signed offline, policy-checked payment intents, and locked channels for high-frequency micro-transactions.
What you get
- nanopay — fetch a 402-protected URL and negotiate the payment inline, topping up from the main wallet when the gateway runs low
- nanopay_activate, nanopay_deposit, nanopay_withdraw and nanopay_balance to manage gateway funds
- submit_intent — a USDC payment run through policy checks and spend limits before it executes
- get_intent and list_intents for the audit trail behind those payments
- open_channel, consume_channel, settle_channel, get_channel and list_channels — lock funds once, pay many times off-chain, settle at the end
- get_balance, get_history and transfer for the ordinary wallet operations
- cross_chain_transfer for a CCTP payment routed to another chain
- smart_fetch, the older HTTP paywall negotiation path
- Structured error codes on failure, so the model can respond to a rejected payment rather than retrying blindly
Requirements
A Modexia account and an API key. The key's prefix decides the environment — a test key targets the Base Sepolia testnet, a live key targets Base mainnet — so there is no separate switch to get wrong. Runs with uvx. No ETH is needed: gas is sponsored, and every limit is denominated in USDC. Pass an idempotency key on every payment call, because a retried tool call is otherwise a second payment.
Setup effort
One command plus a key — uvx modexia-mcp, then supply credentials
USE CASES
Getting past a paywall mid-task
Fetch the protected URL and let the payment be negotiated and signed inline instead of failing the run.
Paying for a stream of API calls without a transaction each time
Lock funds in a channel, spend inside it off-chain, then settle the tally on-chain once.
Making a payment that has to pass policy
Submit it as an intent so spend limits and compliance checks run before anything moves.
Answering 'what did the agent spend'
List recent intents and the wallet's transaction history rather than reading the chain.
Checking there is money to spend before starting
Read the wallet balance and the gateway's true available balance, which excludes signatures not yet settled.
Paying someone on another chain
Send a cross-chain transfer instead of bridging by hand first.
18 tools
Listed in project docs. Your client may show a different list.
nanopay_activatenanopay_depositnanopay_withdrawnanopay_balancesubmit_intentget_intentlist_intentsopen_channelconsume_channelsettle_channelget_channellist_channelsget_balanceget_historytransfercross_chain_transfersmart_fetchBEFORE YOU INSTALL
What to know first
Tools you get
18 tools named in the project's documentation.
Requires
- uvx on PATH
- MODEXIA_API_KEY in your environment
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
uvx modexia-mcpMCP Clients
Claude Desktop
{
"mcpServers": {
"modexia": {
"command": "uvx",
"args": [
"modexia-mcp"
],
"env": {
"MODEXIA_API_KEY": "<YOUR_MODEXIA_API_KEY>"
}
}
}
}