Install
openclaw skills install @dempty-glitch/z-zero-paymentsPay for things safely from your agent — gasless USDC on Base plus JIT single-use virtual cards via the Z-Zero MCP server. Card data never enters the model context, and no payment executes without explicit human approval.
openclaw skills install @dempty-glitch/z-zero-paymentsGive this agent the ability to buy things — SaaS subscriptions, API credits, physical goods — without ever seeing a card number.
Z-Zero is a payment MCP server with two rails behind one interface:
This skill is deliberately boring about money. Three properties are structural, not policy:
request_human_approval with the exact final total and wait for confirmation. A purchase your operator didn't approve is a failed purchase, even if the checkout would have succeeded.~/.z-zero/credentials (0600) — the live key never exists in any LLM context. One key = one machine; all agents on the machine share it, and a connect from a different machine disconnects this one (built-in intrusion alarm).zk_live_) at z-zero.xyz/dashboard/agents and funds the wallet by sending USDC on Base to the deposit address shown there.Z_ZERO_API_KEY in the agent environment. (This is only a bootstrap: on first connect the key auto-rotates and the live key moves to ~/.z-zero/credentials — the exported value goes stale by design.)~/.openclaw/openclaw.json:{
"mcpServers": {
"z-zero": {
"command": "npx",
"args": ["-y", "z-zero-mcp-server@latest"],
"env": { "Z_ZERO_API_KEY": "${Z_ZERO_API_KEY}" }
}
}
}
mcporter list). You should see 12 tools including list_cards, auto_pay_checkout, and request_human_approval, plus the safe_checkout prompt.mcp://resources/sop) before your first payment in a session. It is the authoritative flow; this skill is the summary./api/tokens/resolve. It exists for the server-side injection process only. An agent calling it defeats the entire security model.request_human_approval confirmation → no payment. Do not interpret silence as consent.status and relay it verbatim, including failures.verify_url. Give it to the operator instead of asserting from memory that the order went through.mcp://resources/sop (once per session).get_merchant_hints for the target platform (Shopify, Etsy, WooCommerce…) and follow its pre_steps.request_human_approval with item, merchant, and exact total. Wait.auto_pay_checkout (it auto-detects crypto vs card checkout and routes — an EIP-681 crypto checkout settles as a gasless USDC transfer on Base; a card checkout uses a JIT single-use virtual card). For the manual path, pass cart and ship_to to request_payment_token so the card is bound to a signed intent — proof of what it was authorized to buy, not just how much it could spend.signed_receipt.diff shows what the merchant actually did versus what was authorized (charged more, swapped an item). verify_receipt(receipt_id) re-checks it any time.report_checkout_fail(url, failure_class, step, error_message). failure_class is a fixed enum — card_declined_issuer, card_declined_bin_block, avs_mismatch, 3ds_required, bot_detected, form_changed, price_changed, out_of_stock, shipping_unsupported, login_required, timeout, outcome_unconfirmed, intent_mismatch, unknown — so each failure becomes evidence the next agent can use, not a log line.list_cards — card aliases and balancescheck_balance — spendable USD for an aliasget_deposit_addresses — the Base USDC deposit address for top-upsZ_ZERO_API_KEY is missing → key not exported or agent not restarted after config change.401 Invalid API Key → key truncated on copy; re-copy the full zk_live_… value.z-zero-mcp-serverio.github.Dempty-glitch/z-zero-mcp0xdfd1f2f8…5d7a