agent-first-pay 0.3.0

Agent-first cryptocurrency micropayment tool — multi-network wallet (Cashu, Lightning, Solana, EVM, Bitcoin on-chain), send/receive, spend limits, REST/RPC modes
Documentation
{
  "$schema": "https://cmn.dev/schemas/v1/spore-core.json",
  "id": "agent-first-pay",
  "name": "Agent-First Pay",
  "version": "0.3.0",
  "domain": "cmn.dev",
  "key": "ed25519.7BmCWmBb2YeUWR7pmHvwAvi9wRm96VpZsJvZFSTfc2Uu",
  "synopsis": "Agent-first cryptocurrency micropayment tool — multi-network wallet (Cashu, Lightning, Solana, EVM, Bitcoin), send/receive, spend limits, pipe/RPC/REST modes",
  "intent": [
    "Give AI agents a persistent cryptocurrency payment client that supports Lightning (NWC, phoenixd, lnbits), Solana, EVM (Base, Arbitrum), eCash (Cashu), and Bitcoin on-chain (BDK + Esplora, SegWit/Taproot), with JSONL pipe mode for scripting, RPC daemon mode for multi-client sharing, and REST API mode for HTTP access — the agent sends payment requests as JSON and receives structured results without managing wallet connections or key material"
  ],
  "mutations": [
    "Remove MCP mode (--mode mcp) and rmcp/schemars dependencies, simplifying the runtime to REST, RPC, pipe, and interactive modes",
    "Split monolithic handler.rs (3171 LOC) into handler/ module directory with focused sub-modules (wallet, pay, history, limit, helpers), improving maintainability",
    "Add dispatch_storage! macro to deduplicate 15 identical match-dispatch patterns in the storage backend layer",
    "Add with_spend_reserve helper that unifies the reserve-execute-confirm/cancel spend-limit flow and logs cancel/confirm failures instead of silently ignoring them",
    "Add FX quote staleness warning when exchange rate age exceeds 80% of TTL during USD spend-limit conversion",
    "Add CommonSendArgs and CommonReceiveArgs shared clap structs to deduplicate CLI arg definitions across all five network subcommands",
    "Remove ln-nwc and ln-lnbits from default feature flags, reducing default binary size and compile-time dependencies"
  ],
  "license": "MIT",
  "bonds": [
    {
      "relation": "spawned_from",
      "uri": "cmn://cmn.dev/b3.AiLLXEv2TsvN9pcW2GyDA9Wt8ytaXpfx4unZMNjgysGx"
    }
  ],
  "tree": {
    "algorithm": "blob_tree_blake3_nfc",
    "exclude_names": [
      ".git"
    ],
    "follow_rules": [
      ".gitignore"
    ]
  }
}