Obolus

io.github.inviti8由 GitHub 帳號 inviti8 發布v0.2.3更新於 Oct 24, 2026

Disposable Algorand wallet for AI agents. Pay x402 resources in USDC, no human provisioning.

概覽

AI 產生的概覽

為 AI 代理提供一個一次性 Algorand 錢包,讓它不必靠人工準備就能用 USDC 支付 x402 資源。

可以做什麼
Obolus 是 x402 付費資源的買方錢包。它提供三個工具:x402_fetch 抓取 URL,若對方回傳 402 就簽章並從短期工作階段帳戶付款,再回傳回應內容;wallet_status 回報餘額、目前工作階段、當日支出與各項上限;wallet_funding_info 說明人工如何為金庫注資。付款來自由金庫注資的工作階段帳戶,因此工作階段只能花掉自己持有的金額。
適用情境
當代理需要自主購買受 x402 保護的內容或服務時使用,例如付費 API 呼叫、存證或檔案處理,並希望支出由鏈上強制的工作階段餘額而非提示詞來限制。它鎖定的是必須在無人介入下完成付款的代理。
執行需求
以 stdio 啟動的本機程序,通常透過 uvx obolus mcp 或已安裝的 obolus-mcp 指令執行;需要 uv 或 pipx 等 Python 工具。環境變數:OBOLUS_NETWORK(預設 'testnet',或 'mainnet')與 OBOLUS_DATA_DIR(存放金庫金鑰與工作階段帳本的位置)。注資需要傳送 ALGO 到金庫,並在選擇加入該資產後傳送 USDC。未宣告帳號或 API 金鑰。
安裝前請注意
主網會花真錢且從不被停用,儘管預設是測試網。OBOLUS_DATA_DIR 中的種子是取回資金的唯一途徑;將它指向新目錄會建立新錢包,請備份該目錄。支出限制位於 config.toml(session_balance_micro、per_call_micro、daily_micro、allowlist),這才是真正的界線,因為授權是按工具而非按筆付款。除非設定 [files] root,否則檔案存取關閉;開啟後 x402_fetch 可把檔案送到付費端點並寫回回應。已結算的付款只能證明結算本身。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Obolus,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

[Obolus]

Obolus

An MCP server that gives an AI agent a disposable Algorand wallet, so it can pay for x402 resources without a human provisioning anything.

The name is the coin paid to the ferryman for passage: small denomination, one purpose, spent and gone.

agent → x402_fetch(url) → 402 → sign → pay → body

x402 has over a thousand listed resources and almost no buyers — a handful of wallets account for nearly all volume, and they are scripted loops rather than agents. The rail exists; nothing can reach it. Obolus is the buyer-side piece: account setup, opt-in, signing and sweeping handled invisibly, so an agent just spends.


Install

Claude Code — the plugin

/plugin marketplace add inviti8/Obolus/plugin install obolus@heavymeta

Wires up the MCP server and adds /obolus:fund-wallet, which knows the bootstrap order and why it cannot be rearranged. Nothing to install first beyond uv — the server is launched with uvx obolus mcp.

Everything else

bash
uv tool install obolus

uv tool install rather than uvx for the CLI: uvx re-resolves on every invocation, measured at 200–400 ms over an installed console script. That is nothing once per session, which is all the MCP server costs — it is why the plugin above uses uvx — but it is the wrong trade for a command called in a loop. pipx install obolus works too.

Add it to Claude Code by hand
bash
claude mcp add obolus -e OBOLUS_NETWORK=testnet -- obolus-mcp
Add it to any other MCP client
json
{  "mcpServers": {    "obolus": {      "command": "obolus-mcp",      "env": { "OBOLUS_NETWORK": "testnet" }    }  }}

It starts on testnet. Mainnet is never disabled — Obolus is meant to make real payments — but it is never what you get by forgetting to choose.


Fund it

A new vault holds nothing, and the order is forced by the chain:

bash
obolus vault          # says which of the three steps you are onobolus vault qr       # scannable codes for the two things you can send
#StepWho
1Send ≥ 0.21 ALGO to the vaultyou
2Opt the vault into USDC (obolus vault optin)Obolus
3Send USDCyou

Step 3 before step 2 fails. An Algorand account cannot receive an asset it has not opted into — the transfer is rejected outright, it does not sit pending. That is why the QR codes encode the asset id and not just the address, and why wallet_funding_info tells you which step you are on every time rather than only on error.

The QR codes carry no amount. You type that into your own wallet, where you see it before confirming.


Use it

Three tools, deliberately:

ToolWhat it does
x402_fetchFetch a URL, paying if it answers 402. Returns the body.
wallet_statusBalances, the active session, spending today, the caps.
wallet_funding_infoHow to put money in. For the human, not the agent.

There is no tool for any particular merchant. Everything is reached through x402_fetch, because the moment a wallet grows first-class verbs for one seller it stops being a wallet.


What bounds a loss

The session balance, enforced by the chain. Payments come from a short-lived session account funded from your vault, never from the vault itself. A session cannot spend what it does not hold, and that is true regardless of what any code here does.

Everything else is in-process and configurable in config.toml inside your data directory:

toml
[caps]session_balance_micro = 5000000   # $5 per sessionper_call_micro        = 500000    # $0.50 per calldaily_micro           = 2000000   # $2 a day, resets 00:00 UTCallowlist             = []        # payTo addresses or hostnames; empty = any
[session]idle_timeout_seconds  = 600       # close and sweep back after this
[files]# root = "/path/you/choose"       # off unless set - see Safety

Some refusals are not caps and have no config key: paying an address we control, a non-https resource on mainnet, an asset the wallet does not hold, and any challenge that is not a well-formed x402 v2 402.


Safety

Your seed is the only way back to your money. It lives in your data directory. Pointing OBOLUS_DATA_DIR at a new location creates a new wallet; it does not move the old one. Back the directory up.

File access is off by default. x402_fetch can send a file to a paid endpoint and write the response back, which is how you get an image signed or a document processed. Both are disabled unless you set [files] root, and confined to that directory when you do. This is deliberate: moving bytes off your machine is not something a spend cap can bound.

Approval is per tool, not per payment. Most MCP clients ask once and remember. That means the caps above are your real spending boundary, not the prompt — see DESIGN.md §7.1, which documents what was measured rather than what was assumed.

A settled payment proves settlement and nothing else — not that the resource was correct, honest, or worth its price.


Documentation

  • CLAUDE.md — orientation, and the x402 facts that cost real debugging time to learn.
  • DESIGN.md — architecture, the security model, and the limitations stated plainly.
  • IMPLEMENTATION_PLAN.md — build order and what each phase actually proved.

Status

Working on mainnet. On 2026-08-13 and 08-14 an agent used Obolus over MCP to buy three resources from a live merchant with real USDC — a notarisation at $0.05, a second at $0.05, and a C2PA signature over a 13 MB TIFF at $0.15. Each payment came from a disposable session account that was derived, funded, spent and swept closed; two sessions, both reconciled, nothing stranded. All three settlements landed with fee: 0, sponsored by the facilitator, as designed.

What that demonstrates is the rail, end to end: an agent with no human in the loop held a key, answered a 402, and got the bytes. It does not say the resources were worth their price — settlement proves settlement and nothing more.

Testnet remains the default and the place to develop. Mainnet is guarded, never disabled.

來源:README.md,提交 c338cb2

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.2.3最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分