diff --git a/.claude/skills/xrpl-skills/xrpl-payments/SKILL.md b/.claude/skills/xrpl-skills/xrpl-payments/SKILL.md index ba5d04ec7b..1fc7134668 100644 --- a/.claude/skills/xrpl-skills/xrpl-payments/SKILL.md +++ b/.claude/skills/xrpl-skills/xrpl-payments/SKILL.md @@ -71,7 +71,7 @@ skills pair with the same shared Wallet skill. See 1. **Identify the payment type** — XRP, RLUSD, IOU, or cross-currency. Check [payments.md](references/payments.md). 2. **Check prerequisites** — Trust line set up? Destination has reserve? Sufficient balance including fees? -3. **Build** — Construct the transaction object. Set `source_tag` and `Memos` on every agent-initiated transaction. Do not set `Fee`, `Sequence`, or `LastLedgerSequence` — the Wallet skill's autofill step populates these from the live node. +3. **Build** — Construct the transaction object. Set `Memos` on every agent-initiated transaction. Do not set `Fee`, `Sequence`, or `LastLedgerSequence` — the Wallet skill's autofill step populates these from the live node. 4. **Simulate** — Call `simulate` on the raw (un-autofilled) transaction before handing off. Catches malformed transactions, missing trust lines, and reserve errors without touching the ledger or triggering the signing ceremony. See simulate pattern in [payments.md](references/payments.md). 5. **Hand off to the Wallet skill** — Pass the transaction object to the XRPL Agent Wallet skill. It will autofill, show the human a preview, collect confirmation, sign locally, and submit via `submitAndWait`. Do not call `submit_and_wait` or `submitAndWait` from this skill. 6. **Handle errors explicitly** — `tec*` codes indicate a fee was charged. `tef*`/`tem*` indicate no fee was charged. See error table in [payments.md](references/payments.md). diff --git a/docs/agents/track-agent-behavior.md b/docs/agents/track-agent-behavior.md index 59aede5437..0930b65911 100644 --- a/docs/agents/track-agent-behavior.md +++ b/docs/agents/track-agent-behavior.md @@ -117,7 +117,7 @@ payment = Payment( account=wallet.address, amount=xrp_to_drops(25), destination=DESTINATION, - source_tag=AGENT_SOURCE_TAG, + source_tag=CUSTOM_SOURCE_TAG, memos=[build_memo( agent_id="invoice-agent-v1", session_id="sess-abc123", @@ -144,7 +144,7 @@ const result = await client.submitAndWait( Account: wallet.classicAddress, Amount: xrpl.xrpToDrops('25'), Destination: DESTINATION, - SourceTag: AGENT_SOURCE_TAG, + SourceTag: CUSTOM_SOURCE_TAG, Memos: [buildMemo('invoice-agent-v1', 'sess-abc123', 'pay_invoice', 'inv-00789')], }, { wallet }