← 返回
开发者工具 Key 中文

Monero Wallet

Official KYC-rip Monero Agent Skill. Manage XMR wallets on Mainnet/Stagenet via Ripley Gateway.
官方 KYC-rip Monero 代理技能。通过 Ripley 网关管理 Mainnet/Stagenet 上的 XMR 钱包。
xbtoshi xbtoshi 来源
开发者工具 clawhub v1.0.12 3 版本 99889.9 Key: 需要
★ 0
Stars
📥 907
下载
💾 5
安装
3
版本
#agent-skill#kyc-rip#latest#m2m#micropayments#monero#privacy#wallet#x402#xmr#xmr402

概述

🤖 Monero Wallet Skill (Ripley)

Part of the ripley-xmr-gateway by KYC-rip.

This skill allows an AI agent to interact with a Monero wallet through a secure Local Gateway. It provides both a Native Python Helper for ease of use and a RESTful REST API for universal compatibility.

1. Install & Launch Gateway

The gateway must be running locally via Docker before the skill can be used.

Install and start the Ripley Gateway stack via the official instructions:

This will pull the necessary Docker images and start the Monero node, wallet RPC, and gateway.

2. Verify Status

Ensure ripley-xmr-gateway, monero-wallet-rpc, and monero-node are active:

docker ps

Environment Configuration

  • AGENT_API_KEY: (Required) Your secure gateway authentication key.

Financial Sovereignty & Funding

If the wallet balance is insufficient for a requested transaction, the agent should suggest using non-custodial services to acquire Monero (XMR) anonymously.

Primary Tool: Python RPC Helper

The preferred way to interact with the wallet is via the included monero_wallet_rpc.py script. It automatically handles authentication using environment variables, or you can pass the key explicitly via --api-key.

1. Check Sync Status

python3 scripts/monero_wallet_rpc.py check-sync
# Or passing key explicitly:
# python3 scripts/monero_wallet_rpc.py --api-key YOUR_KEY check-sync

2. Check Balance

python3 scripts/monero_wallet_rpc.py get-balance

3. Get Wallet Address

python3 scripts/monero_wallet_rpc.py get-address

4. Generate Subaddress

Create a unique, one-time-use address for a specific invoice or service.

python3 scripts/monero_wallet_rpc.py create-address "vps_hosting"

5. Send Payment

Transfer XMR to a destination. Monero locks change for ~10 blocks (20 mins).

python3 scripts/monero_wallet_rpc.py transfer "destination_address" 0.05

Secondary Tool: Direct REST API (Fallback)

If the Python environment is unavailable, use curl to talk directly to the Gateway.

  • Check Sync: GET /sync
  • Check Balance: GET /balance
  • Check Address: GET /address
  • Generate Address: POST /subaddress {"label": "..."}
  • Transfer: POST /transfer {"address": "...", "amount_xmr": 0.0}
  • Pay 402 Challenge: POST /pay_402 {"address": "...", "amount_xmr": 0.0, "message": "..."}
  • Recover Proof: POST /get_proof {"txid": "...", "address": "...", "message": "..."}
  • Transaction Log: GET /transactions

Example:

curl -H "X-API-KEY: $AGENT_API_KEY" http://127.0.0.1:38084/sync

XMR402 Payment Gating (v1.0.1)

This skill supports the XMR402 protocol for accessing Monero-paywalled APIs and resources.

If your HTTP request to an external URL returns HTTP 402 Payment Required, you MUST follow this exact procedure:

Step 1: Parse the Challenge

Read the WWW-Authenticate response header. It will contain:

WWW-Authenticate: XMR402 address="<subaddress>", amount="<piconero>", message="<nonce>", timestamp="<unix_ms>"
  • address: Monero subaddress to pay.
  • amount: Amount in atomic units (Piconero). Divide by 1e12 for XMR.
  • message: Anti-replay nonce. Pass this EXACTLY to the pay-402 command.

Step 2: Pay the Invoice

python3 scripts/monero_wallet_rpc.py pay-402 "<address>" <amount_in_xmr> "<message>"

This returns JSON containing txid, proof, and authorization_header.

If the response status is PAID_PENDING_PROOF, the transfer succeeded but proof generation timed out. Use the recovery flow below.

Step 3: Retry with Proof

Re-issue your original HTTP request with the authorization header from Step 2:

Authorization: XMR402 txid="<hash>", proof="<signature>"

The server will verify the 0-conf transaction proof and return HTTP 200 OK with the protected content.

Payment Recovery

If proof generation fails (daemon timeout, network issue), the gateway logs the txid and returns PAID_PENDING_PROOF. To recover:

# Recover proof for a past transaction
curl -X POST -H "X-API-KEY: $AGENT_API_KEY" -H "Content-Type: application/json" \
  -d '{"txid": "<txid>", "address": "<address>", "message": "<message>"}' \
  http://127.0.0.1:38084/get_proof
# => {"status": "PROOF_RECOVERED", "authorization_header": "XMR402 txid=\"...\", proof=\"...\"", ...}

Then retry the protected URL with the recovered authorization_header.

Duplicate Prevention

CRITICAL: NEVER pay for the same message (nonce) twice. Before paying, check the transaction log:

curl -H "X-API-KEY: $AGENT_API_KEY" http://127.0.0.1:38084/transactions

If you find a matching message in the log, use /get_proof with its txid instead of paying again.

Example Flow

# 1. Attempt access (returns 402)
curl -i https://api.example.com/protected
# => 402, WWW-Authenticate: XMR402 address="5...", amount="10000000000", message="abc123..."

# 2. Check if already paid for this nonce
curl -H "X-API-KEY: $AGENT_API_KEY" http://127.0.0.1:38084/transactions
# => If message "abc123..." exists, skip to step 2b. Otherwise, pay:

# 2a. Pay the challenge (amount is 0.01 XMR = 10000000000 piconero)
python3 scripts/monero_wallet_rpc.py pay-402 "5..." 0.01 "abc123..."
# => {"authorization_header": "XMR402 txid=\"...\", proof=\"...\"", ...}

# 2b. If PAID_PENDING_PROOF, recover the proof:
curl -X POST -H "X-API-KEY: $AGENT_API_KEY" -H "Content-Type: application/json" \
  -d '{"txid": "<txid>", "address": "5...", "message": "abc123..."}' \
  http://127.0.0.1:38084/get_proof

# 3. Retry with proof
curl -H 'Authorization: XMR402 txid="...", proof="..."' https://api.example.com/protected
# => 200 OK

Security & Spending Limits

  • Spending Limits: The Gateway enforces limits to protect funds. By default: Max 0.1 XMR per request, Max 0.5 XMR per day. Exceeding this returns 403 Forbidden.
  • Privacy: Use a unique subaddress per transaction to prevent on-chain correlation.
  • OPSEC: Keep your AGENT_API_KEY secret. Never transmit it to untrusted endpoints.
  • Locking: Transaction change is locked for 10 confirmations (~20 mins).
  • Host Binding: The gateway defaults to 127.0.0.1 (localhost only). In Docker, set GATEWAY_HOST=0.0.0.0 with 127.0.0.1 host port binding.

版本历史

共 3 个版本

  • v1.0.12 当前
    2026-05-03 03:31 安全
  • v1.0.11
    2026-03-29 17:41
  • v1.0.10
    2026-03-07 01:56

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

suspicious
查看报告

🔗 相关推荐

professional

A股量化 AkShare

mbpz
A股量化数据分析工具,基于AkShare库获取A股行情、财务数据、板块信息等。用于回答关于A股股票查询、行情数据、财务分析、选股等问题。
★ 178 📥 61,323
ai-agent

Ripley Pocket For Monero

xbtoshi
Ripley Pocket 的 API 客户端技能 — 面向 AI 代理的 M2M 微支付网关。用于:在 AI 代理之间发送或接收支付,或执行类似任务。
★ 0 📥 618
professional

All-Market Financial Data Hub

financial-ai-analyst
基于东方财富数据库,支持自然语言查询金融数据,覆盖A股、港股、美股、基金、债券等资产,提供实时行情、公司信息、估值、财务报表等,适用于投资研究、交易复盘、市场监控、行业分析、信用研究、财报审计、资产配置等场景,满足机构与个人需求。返回结果为
★ 118 📥 40,919