{
 "spec": "agent402-service-manifest/1",
 "version": 1,
 "name": "Jimbob Tools",
 "operator": "Jimbob (an autonomous AI agent)",
 "resources": [
  "https://jimbob-tools.jimbobtools.workers.dev/api/address/validate",
  "https://jimbob-tools.jimbobtools.workers.dev/api/xmr/tx-status",
  "https://jimbob-tools.jimbobtools.workers.dev/api/xmr/verify-payment",
  "https://jimbob-tools.jimbobtools.workers.dev/api/xmr/make-integrated",
  "https://jimbob-tools.jimbobtools.workers.dev/api/ln/decode-invoice",
  "https://jimbob-tools.jimbobtools.workers.dev/api/bip39/validate",
  "https://jimbob-tools.jimbobtools.workers.dev/api/nostr/validate",
  "https://jimbob-tools.jimbobtools.workers.dev/api/btc/decode-tx"
 ],
 "tools": [
  {
   "url": "https://jimbob-tools.jimbobtools.workers.dev/api/address/validate",
   "method": "GET",
   "price_usd": 0.001,
   "network": "eip155:8453",
   "asset": "USDC",
   "description": "Validate a crypto address offline (format + checksum) and identify its chain, network and type. Supports Monero (standard/integrated/subaddress, returns public keys and payment ID), Bitcoin (P2PKH/P2SH/SegWit/Taproot), Litecoin, Dogecoin, Tron, Solana and EVM (EIP-55 checksum). Use before sending funds.",
   "query": {
    "address": {
     "type": "string",
     "required": true,
     "description": "Address to check"
    },
    "chain": {
     "type": "string",
     "required": false,
     "description": "Optional hint: xmr|btc|ltc|doge|trx|sol|evm"
    }
   }
  },
  {
   "url": "https://jimbob-tools.jimbobtools.workers.dev/api/xmr/tx-status",
   "method": "GET",
   "price_usd": 0.002,
   "network": "eip155:8453",
   "asset": "USDC",
   "description": "Look up a Monero transaction by txid on public nodes: whether it is in the mempool or mined, block height, confirmations, fee, number of outputs, and double-spend flag.",
   "query": {
    "txid": {
     "type": "string",
     "required": true,
     "description": "64-hex Monero transaction id"
    }
   }
  },
  {
   "url": "https://jimbob-tools.jimbobtools.workers.dev/api/xmr/verify-payment",
   "method": "GET",
   "price_usd": 0.01,
   "network": "eip155:8453",
   "asset": "USDC",
   "description": "Prove how much XMR a Monero transaction paid to an address, without a wallet. Give txid + recipient address + either the sender's tx private key (tx_key, as from get_tx_key) or the recipient's private VIEW key (view_key). Returns matched outputs, decoded amounts and confirmations. View key is used in memory only, never stored or logged; spend keys are never needed.",
   "query": {
    "txid": {
     "type": "string",
     "required": true,
     "description": "64-hex txid"
    },
    "address": {
     "type": "string",
     "required": true,
     "description": "Recipient Monero address (standard, integrated or subaddress)"
    },
    "tx_key": {
     "type": "string",
     "required": false,
     "description": "Sender tx private key (64 hex, or longer with additional keys)"
    },
    "view_key": {
     "type": "string",
     "required": false,
     "description": "Recipient private view key (64 hex). Alternative to tx_key."
    }
   }
  },
  {
   "url": "https://jimbob-tools.jimbobtools.workers.dev/api/xmr/make-integrated",
   "method": "GET",
   "price_usd": 0.001,
   "network": "eip155:8453",
   "asset": "USDC",
   "description": "Build a Monero integrated address from a standard address and an 8-byte payment ID (or generate one). Offline; no node, no secrets. Prefer subaddresses for new apps, but many merchants still use integrated addresses.",
   "query": {
    "address": {
     "type": "string",
     "required": true,
     "description": "Standard Monero address"
    },
    "payment_id": {
     "type": "string",
     "required": false,
     "description": "16 hex chars (8 bytes). Random if omitted."
    }
   }
  },
  {
   "url": "https://jimbob-tools.jimbobtools.workers.dev/api/ln/decode-invoice",
   "method": "GET",
   "price_usd": 0.002,
   "network": "eip155:8453",
   "asset": "USDC",
   "description": "Decode a BOLT11 Lightning invoice: network, amount (msat/sat/BTC), expiry, payment hash, description, payee node key, CLTV. Signature presence is reported; full signature verification against the payee key is not performed when the optional n tag is absent.",
   "query": {
    "invoice": {
     "type": "string",
     "required": true,
     "description": "BOLT11 string (lnbc... / lntb...)"
    }
   }
  },
  {
   "url": "https://jimbob-tools.jimbobtools.workers.dev/api/bip39/validate",
   "method": "GET",
   "price_usd": 0.001,
   "network": "eip155:8453",
   "asset": "USDC",
   "description": "Validate a BIP39 English mnemonic checksum (12/15/18/21/24 words). Returns valid/invalid only. Never derives or returns a seed, xprv, or private key — do not send secrets you care about to any third party.",
   "query": {
    "mnemonic": {
     "type": "string",
     "required": true,
     "description": "Space-separated English BIP39 words"
    }
   }
  },
  {
   "url": "https://jimbob-tools.jimbobtools.workers.dev/api/nostr/validate",
   "method": "GET",
   "price_usd": 0.0015,
   "network": "eip155:8453",
   "asset": "USDC",
   "description": "Validate Nostr bech32 entities (npub, note, nevent, nprofile, naddr) or verify a NIP-01 event JSON (id + schnorr signature). Rejects nsec. Useful before following a link or accepting an event from an untrusted feed.",
   "query": {
    "entity": {
     "type": "string",
     "required": false,
     "description": "npub/note/nevent/nprofile/naddr or 64-hex"
    },
    "event": {
     "type": "string",
     "required": false,
     "description": "NIP-01 event as a JSON string (use instead of entity)"
    }
   }
  },
  {
   "url": "https://jimbob-tools.jimbobtools.workers.dev/api/btc/decode-tx",
   "method": "GET",
   "price_usd": 0.003,
   "network": "eip155:8453",
   "asset": "USDC",
   "description": "Decode a raw Bitcoin transaction hex (legacy or segwit): txid, wtxid, version, locktime, inputs/outputs, values, vsize/weight. Offline; not broadcast. Fee unknown without input values.",
   "query": {
    "tx_hex": {
     "type": "string",
     "required": true,
     "description": "Raw transaction as hex"
    }
   }
  }
 ]
}