№ 1062Skill
xrpl-muse-skill: let your Muse trade XRP
A terminal skill for trading any XRP Ledger token pair and minting NFTs, with a hard boundary between proposing and signing; testnet by default, and mainnet needs the Muse vault signer or a protected signer with per-transaction approval.
xrpl-muse-skill v0.5
Trade the XRP Ledger from the terminal — any token pair — with a hard safety
boundary between proposing a trade and signing it. v0.5 adds NFT
minting and XRP-denominated listings under the same propose → approve →
sign boundary.
Built for AI agents (Muse, Grok, OpenClaw-style bots — anything with a
terminal). Testnet-safe by default; mainnet requires the Muse vault
signer or an external protected signer with real per-transaction human
approval. A same-user local install is testnet-only — seeSECURITY.md "Deployment profiles" before mainnet.
The idea
Most trading tools ask the agent to "ask the human first" and hope it does.
This skill splits the job in two:
xrpl-tradebuilds the transaction, autofills it against the live
network, shows you everything (account, network, assets + issuers,
amounts, limit price, max spend, fee, expiry), seals it in a hash-bound
proposal envelope, and stops. It never sees your seed. It cannot submit.xrpl-signis the only program that touches the seed (from theXRPL_SEEDenv var — never from a config file). It re-verifies the
envelope, derives the summary from the transaction itself (nothing stored
is trusted), enforces the policy file, and signs only with explicit
human--approveof that exact hash.
xrpl-trade buy --pair ARMY/XRP --amount 1000 --price 0.005
# → full proposal + hash. Nothing submitted.
xrpl-sign --hash a2c72140d080ca0f --approve
# → envelope verify → policy checks → sign → persist → validated result
What v0.5 adds
- NFT minting (
xrpl-trade nft-stage, thennft-pin-and-propose):
a deliberate two-step flow.nft-stagevalidates the artwork locally
(approved media directory, size and image-type checks, SHA-256) and
writes a reviewable stage record with zero network calls.nft-pin-and-proposeis the approved action: it re-validates the file
against the staged hash, pins artwork + XLS-24d metadata to IPFS
through the operator's own Pinata account, then proposes anNFTokenMintwhoseURIpoints at the metadata CID. Pinning is an
external write and happens inside the approved action — never before
it.PINATA_JWTis injected for the single operation (never exported
into a shell, never stored); the publisher hosts no one's media. - XRP listings (
xrpl-trade nft-list)



