agenta-monero
Use when making or receiving Monero (XMR) payments. Generates addresses, sends payments, checks balances, verifies transactions, generates and verifies payment proofs, estimates fees, sweeps funds, and manages wallet operations via a self-hosted monero-wallet-rpc node. Keywords: monero, xmr, cryptocurrency, payments, wallet, send, receive, payment proof.
Rank
62
Safety
84
Downloads
2.9k
Updated
Oct 9, 2026
Version
0.1.2
Source
CLAWHUB
About
What it does, and when to use it.
Capability contract not published. No trust telemetry is available yet. 2.9K downloads reported by the source. Last updated 10/9/2026.
Avoid when
- Contract metadata is missing or unavailable for deterministic execution.
Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing
Public facts
Every fact links back to the source it came from.
- Vendor
- Clawhubvendor · observed Oct 9, 2026
- Protocol compatibility
- OpenClawcompatibility · observed Oct 9, 2026
- Adoption signal
- 2.9K downloadsadoption · observed Oct 9, 2026
- Latest release
- 0.1.2release · observed Jul 28, 2026
- Handshake status
- UNKNOWNsecurity
Install and run
Setup complexity: low.
clawhub skill install s1739h27ayzfmp9kv3fd0n0b6n8bc459:agenta-monero- Install using `clawhub skill install s1739h27ayzfmp9kv3fd0n0b6n8bc459:agenta-monero` in an isolated environment before connecting it to live workloads.
- No published capability contract is available yet, so validate auth and request/response behavior manually.
- Review the upstream CLAWHUB listing at https://clawhub.ai/tibbar-etihw/agenta-monero before using production credentials.
Contract: missing
curl -s "https://www.xpersona.co/api/v1/agents/clawhub-tibbar-etihw-agenta-monero/snapshot"
Documentation
CLAWHUB
144,631 characters of source documentation, loaded on request.
Extracted files
5 files captured from the source.
SKILL.md
---
name: agenta-monero
description: "Use when making or receiving Monero (XMR) payments. Generates addresses, sends payments, checks balances, verifies transactions, generates and verifies payment proofs, estimates fees, sweeps funds, and manages wallet operations via a self-hosted monero-wallet-rpc node. Keywords: monero, xmr, cryptocurrency, payments, wallet, send, receive, payment proof."
license: MIT
compatibility: "Requires bash 4+, curl, jq, flock (util-linux), and a running monero-wallet-rpc >= 0.18.0."
metadata:
hermes:
category: finance
tags: [monero, cryptocurrency, payments, wallet, xmr]
related_skills: []
version: "0.3.0"
author: Private Payments
permissions:
shell_execution: true
file_writes:
- ".env (chmod 600) — RPC credentials + wallet password"
- "$MONERO_LOCK_DIR/.netrc (chmod 600) — ephemeral RPC auth"
- "$MONERO_LOCK_DIR/wallet-rpc.pid — process tracking"
- "$MONERO_LOCK_DIR/wallet-rpc.port — port tracking"
- "$MONERO_LOCK_DIR/.last_refresh — refresh timestamp"
process_management: "starts/stops monero-wallet-rpc as a background process"
network_access: "HTTP POST to $MONERO_RPC_URL/json_rpc (localhost by default)"
credential_access: "reads .env for RPC + wallet credentials; writes .netrc for curl auth"
---
# Agenta-Monero
Shell wrappers over `monero-wallet-rpc` for autonomous Monero (XMR) payments. All scripts emit JSON to stdout (success) or a structured error JSON to stderr; they compose into receive/send/verify/sweep workflows. Money math is integer piconeros internally; XMR decimal strings appear in output.
> **WARNING — IRREVERSIBLE FINANCIAL OPERATIONS**
>
> - Monero transactions are **irreversible**. Once broadcast, funds cannot be recovered.
> - `send_xmr.sh` and `sweep_all.sh` **require `--confirm` to broadcast**. Without it, they refuse to relay. Use `--dry-run` to preview without `--confirm`.
> - `sweep_all.sh` transfers **all unlocked funds** from the wallet (or subaddress) to a single destination. A mistaken or maliciously triggered sweep can drain the entire balance.
> - Always validate the recipient address (`validate_address.sh`) and confirm the amount before executing a send or sweep.
> - The `.env` file contains `MONERO_WALLET_PASSWORD` and RPC credentials. It is created with `chmod 600`, but on multi-user systems, shared CI, or agent workspaces with broad read access, an attacker who reads `.env` can access the wallet and move funds. Secure the file and the system accordingly.
**Use when:** generating receive addresses, sending/sweeping XMR, checking balance, verifying an incoming payment or a payment proof, estimating fees, or reconciling transactions by hash.
## Prerequisites
- **Install Monero CLI tools** (≥ 0.18.0): download from https://getmonero.org/downloads/ — you need at minimum `monero-wallet-rpc`. Also create a wallet file: `monero-wallet-cli --generate-new-wallet ~/Monero/wallets/main --password 'PASS'` (write down the 2README.md
# Agenta-Monero > Autonomous Monero (XMR) payments for Hermes and Openclaw agents via shell. JSON-in, JSON-out wrappers over `monero-wallet-rpc` for sending, receiving, verifying, and sweeping. Composable into agent-driven workflows. > **WARNING — Irreversible Financial Operations** > > Monero transactions are **irreversible**. `send_xmr.sh` and `sweep_all.sh` broadcast by default — use `--dry-run` to preview. `sweep_all.sh` transfers **all unlocked funds** to one destination; a mistaken or maliciously triggered sweep can drain the entire wallet balance. Always validate addresses and confirm amounts before executing. ## What It Does | Command | Description | |---------|-------------| | `create_address.sh` | Generate a receive address with label | | `send_xmr.sh` | Send XMR (requires `--confirm`, supports `--dry-run`) | | `sweep_all.sh` | Sweep **all** wallet funds to a destination (requires `--confirm`, supports `--dry-run`) | | `check_balance.sh` | Check balance + unlock status | | `estimate_fee.sh` | Preview fees before sending | | `validate_address.sh` | Verify address format and network | | `get_transfer.sh` | Look up a transaction by hash | | `verify_payment.sh` | Confirm a payment was received | | `get_tx_proof.sh` / `check_tx_proof.sh` | Generate or verify payment proofs | | `list_incoming.sh` / `list_outgoing.sh` | List transactions with filtering | | `list_addresses.sh` | List subaddresses with balances | | `sync_status.sh` | Check daemon connection + wallet height | | `interactive_setup.sh` | First-time setup wizard | | `wallet_rpc_status.sh` / `stop_wallet_rpc.sh` | Manage the RPC daemon | ## Prerequisites - **OS:** Linux or macOS (Windows not supported) - **Monero CLI tools** >= 0.18.0 ([download](https://getmonero.org/downloads/)) - at minimum `monero-wallet-rpc` - **Bash** >= 4, `curl`, `jq`, `flock` (util-linux) ## Installation **Hermes:** ```bash git clone https://github.com/tibbar-etihw/agenta-monero.git ~/.hermes/skills/finance/agenta-monero ``` **OpenClaw:** ```bash git clone https://github.com/tibbar-etihw/agenta-monero.git ~/.openclaw/workspace/skills/finance/agenta-monero ``` Or tell your agent: > "Install the agenta-monero skill from https://github.com/tibbar-etihw/agenta-monero" **New to this?** See the [Getting Started guide](docs/GETTING_STARTED.md) for a detailed walkthrough covering wallet creation, daemon setup, and first-time configuration. ## Configuration Your agent configures everything. Simply prompt it with: > "Set up the Agenta-Monero skill." --- <details> <summary>Manual configuration (advanced)</summary> Copy `.env.example` to `.env` and fill in your values: ```bash cp .env.example .env ``` Required variables: - `MONERO_RPC_URL` - wallet RPC endpoint (default: `http://127.0.0.1:18088`) - `MONERO_RPC_USER` / `MONERO_RPC_PASSWORD` - RPC credentials - `MONERO_WALLET_NAME` - must match the loaded wallet - `MONERO_WALLET_PASSWORD` - wallet password - `MONERO_NETWORK` - `mainnet` or `stagenet` >
_meta.json
{
"ownerId": "kn76dhwaqd2zm8bn4qhjp3c7bd8bcppg",
"slug": "agenta-monero",
"version": "0.1.2",
"publishedAt": 1785258846093
}references/env-reference.md
# Environment Variables All configuration is read from `.env` (parsed safely — never sourced) at the skill root. Copy `.env.example` to `.env` and edit; run `./setup.sh` after changing it. Values shown are defaults. ## Connection | Variable | Default | Description | |----------|---------|-------------| | `MONERO_RPC_URL` | `http://127.0.0.1:18088` | URL of the running `monero-wallet-rpc`. | | `MONERO_RPC_USER` | _(empty)_ | RPC authentication username. Written into `$MONERO_LOCK_DIR/.netrc` (mode `0600`). | | `MONERO_RPC_PASSWORD` | _(empty)_ | RPC authentication password. Written into `.netrc`; never passed on the command line. | | `MONERO_WALLET_NAME` | _(empty)_ | Wallet name; must match the wallet loaded in the RPC server. | ## Network | Variable | Default | Description | |----------|---------|-------------| | `MONERO_NETWORK` | `mainnet` | `mainnet` \| `stagenet`. `validate_address` compares each address's `nettype` against this to derive `network_match`. | ## Lifecycle | Variable | Default | Description | |----------|---------|-------------| | `MONERO_LIFECYCLE` | `none` | `none` = assume the wallet RPC is already running (the supported mode). `full` = the agent is expected to manage daemon + wallet lifecycle (reserved). | ## Remote node (optional) | Variable | Default | Description | |----------|---------|-------------| | `MONERO_REMOTE_NODE` | _(empty)_ | Remote node hostname/IP, if used. | | `MONERO_REMOTE_PORT` | _(empty)_ | Remote node port. | ## Display | Variable | Default | Description | |----------|---------|-------------| | `MONERO_CONFIRMATIONS` | `10` | Blocks before a payment is considered `confirmed`. Used by `verify_payment`, `get_transfer`, `list_incoming`. | | `MONERO_AMOUNT_FORMAT` | `xmr` | `xmr` \| `piconero`. Output amount rendering (scripts emit XMR decimal strings by default). | ## Refresh There is no `sync` RPC; the wallet refreshes from the daemon via `refresh`, which can take seconds-to-minutes. Refresh is **operation-aware** (see `rpc-reference.md` for the per-op table). | Variable | Default | Description | |----------|---------|-------------| | `MONERO_AUTO_REFRESH` | `true` | `true` = refresh before balance/transfer/verify ops; `false` = never auto-refresh. | | `MONERO_REFRESH_MIN_INTERVAL` | `30` | Minimum seconds between refreshes (caching). A refresh is skipped if the last one was more recent than this. Stored in `$MONERO_LOCK_DIR/.last_refresh`. | | `MONERO_REFRESH_TIMEOUT` | `120` | Maximum seconds for a single `refresh` operation. | **Override:** any auto-refreshing script accepts `--no-refresh` (works in **any** argument position) to skip the refresh step — useful for fast read-only checks when you can tolerate slightly stale data. ## Retry The retry helper (`lib/retry.sh`) is **available and unit-tested, but NOT currently applied** to any script RPC call — all scripts call `rpc_call` directly. `send_xmr` and `sweep_all` are intentionally never retried (non-idempotent); `get_transfer` and
references/error-runbook.md
# Error Recovery Runbook
Full recovery procedures for every error code emitted by Agenta-Monero scripts. Every error is emitted to **stderr** as a single-line (compact) JSON object and the script exits non-zero — parse it with `jq`, not line-by-line:
```json
{
"error": true,
"code": "WALLET_NOT_LOADED",
"message": "Wallet 'my_wallet' is not loaded in the RPC server"
}
```
Parse `code` to branch; read `message` for specifics. (The `suggestion` key is reserved in the emitter but not currently populated — use the Recovery column below for guidance.)
## Error codes (full table)
| Code | Meaning | Retryable | Recovery |
|------|---------|:---------:|----------|
| `CONFIG_MISSING` | Required env var not set, or a required `--flag` omitted | No | Run `./setup.sh` to create `.env`, fill required values. For missing flags, supply the required argument (`--address`, `--amount`, `--tx-hash`, `--proof`, etc.). |
| `CONFIG_INVALID` | `.env` contains invalid syntax or shell metacharacters | No | Inspect `.env` for metacharacters or malformed lines; fix and retry. Never `source .env` — it is parsed safely by design. |
| `RPC_UNREACHABLE` | Cannot connect to `monero-wallet-rpc` | Yes | Confirm `monero-wallet-rpc` is running and `MONERO_RPC_URL` is correct; start it if not. **For a send/sweep timeout, this code means the transaction status is UNKNOWN — do NOT treat it as "absent" and do NOT retry the send;** fix connectivity and re-check with `get_transfer.sh --tx-hash`. |
| `WALLET_NOT_LOADED` | Wallet name doesn't match the loaded wallet | No | Open the correct wallet in the RPC server (`open_wallet`); verify `MONERO_WALLET_NAME`. |
| `WALLET_LOCKED` | Wallet file locked by another process | No | Find the holder (`lsof | grep wallet.keys`); kill it or wait for release. |
| `DAEMON_DISCONNECTED` | Wallet RPC can't reach the daemon | Yes | Check daemon status; restart `monerod` if needed. |
| `INSUFFICIENT_BALANCE` | Not enough unlocked funds | No | `check_balance.sh` to see available funds; wait for unlocks or reduce the amount. |
| `AMOUNT_INVALID` | Amount negative, too many decimals (>12), or exceeds balance | No | Correct the amount string (positive decimal, <=12 fractional digits). |
| `INVALID_ADDRESS` | Address format/checksum invalid | No | Re-check the address; do not use it. |
| `NETWORK_MISMATCH` | Address valid but on the wrong network | No | Use an address for the configured `MONERO_NETWORK` (mainnet/stagenet). |
| `INVALID_INPUT` | Bad argument value (priority not 0-4, tx-hash not 64 lowercase hex, label too long/has control chars, `--dest` not a JSON array) | No | Correct the argument value. |
| `SYNC_FAILED` | Wallet sync failed | Yes | Run `sync_status.sh` to diagnose; may need to restart wallet RPC. |
| `REFRESH_FAILED` | Wallet refresh failed | Yes | Run `sync_status.sh`; may need to restart wallet RPC; pass `--no-refresh` to bypass on auto-refreshing ops if you can tolerate stale data. |
| `TX_RELAY_FAILED` | Transaction created buAionUi
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
activepieces
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
cherry-studio
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
CopilotKit
The Frontend for Agents & Generative UI. React + Angular
Machine-readable data
The same record, as JSON, for agents and crawlers.
{
"facts": [
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Clawhub",
"href": "https://clawhub.ai/tibbar-etihw/skills/agenta-monero",
"sourceUrl": "https://clawhub.ai/tibbar-etihw/skills/agenta-monero",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-09T10:43:21.018Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-tibbar-etihw-agenta-monero/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-tibbar-etihw-agenta-monero/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-10-09T10:43:21.018Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "2.9K downloads",
"href": "https://clawhub.ai/tibbar-etihw/agenta-monero",
"sourceUrl": "https://clawhub.ai/tibbar-etihw/agenta-monero",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-09T10:43:21.018Z",
"isPublic": true
},
{
"factKey": "latest_release",
"category": "release",
"label": "Latest release",
"value": "0.1.2",
"href": "https://clawhub.ai/tibbar-etihw/agenta-monero",
"sourceUrl": "https://clawhub.ai/tibbar-etihw/agenta-monero",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-07-28T17:14:06.093Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-tibbar-etihw-agenta-monero/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-tibbar-etihw-agenta-monero/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
],
"events": [
{
"eventType": "release",
"title": "Release 0.1.2",
"description": "**Requires explicit confirmation to broadcast Monero transactions.** - Sending (send_xmr.sh) and sweeping (sweep_all.sh) XMR now require --confirm; transactions are not broadcast by default. - --dry-run mode is available to preview transactions without sending. - Updated documentation and usage instructions to reflect confirmation requirement. - Added \"Agenta-Monero Security Review.md\" file. - Various script, test, and documentation updates to support new confirmation workflow.",
"href": "https://clawhub.ai/tibbar-etihw/agenta-monero",
"sourceUrl": "https://clawhub.ai/tibbar-etihw/agenta-monero",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-07-28T17:14:06.093Z",
"isPublic": true
}
]
}Record generated Oct 9, 2026.
