New section: Agentic transactions on XRPL#3663
Conversation
…upported currently
There was a problem hiding this comment.
Pull request overview
Adds a new “Agentic Transactions” documentation section to the XRPL dev portal, including a landing page, getting-started guide, X402 guide, and supporting diagrams, plus associated navigation/SEO updates and Claude skill reference content.
Changes:
- Adds a new Agentic Transactions landing page and several supporting docs pages (wallet skill, payments skill, telemetry, getting started, X402 flow).
- Updates top navigation, sidebar structure, and SEO include globs to surface the new section.
- Introduces new diagrams (agentic payment loop + X402 sequence) and new Claude skill reference files under
.claude/skills.
Reviewed changes
Copilot reviewed 13 out of 18 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| top-nav.yaml | Adds “Agentic Transactions” to the top navigation. |
| sidebars.yaml | Adds a new sidebar section for Agentic Transactions and its child pages. |
| redocly.yaml | Adds an SEO/LLMs.txt section to include docs under docs/agents/**. |
| @l10n/ja/translations.yaml | Adds Japanese translation for the new top-nav label key. |
| docs/agents/agentic-transactions.page.tsx | New landing page for the Agentic Transactions section. |
| docs/agents/getting-started-with-agentic-transactions.md | New end-to-end tutorial for installing skills and making an initial payment. |
| docs/agents/xrpl-agent-wallet-skill.md | New “Agent Wallet” skill documentation (signing ceremony, key handling, safeguards). |
| docs/agents/xrpl-payments-skill.md | New “Payments” skill documentation (payment patterns, best practices, error handling). |
| docs/agents/track-agent-behavior.md | New observability guide (SourceTag, Memos, WebSocket monitoring). |
| docs/agents/agentic-payments-x402.md | New X402 guide (merchant + payer agent quickstarts) for XRPL settlement. |
| static/img/xrpl-agentic-payment-loop.svg | Dark-mode agentic payment loop diagram asset. |
| static/img/xrpl-agentic-payment-loop-light.svg | Light-mode agentic payment loop diagram asset. |
| docs/img/xrpl-agentic-payment-loop.svg | Docs-local copy of the dark-mode agentic payment loop diagram. |
| docs/img/xrpl-agentic-payment-loop-light.svg | Docs-local copy of the light-mode agentic payment loop diagram. |
| docs/img/x402-sequence-light.svg | New light-mode X402 sequence diagram asset. |
| .claude/skills/xrpl-skills/xrpl-payments/SKILL.md | Adds the XRPL Payments Claude skill definition. |
| .claude/skills/xrpl-skills/xrpl-payments/references/payments.md | Adds detailed payments reference material for the XRPL Payments skill. |
| .claude/skills/xrpl-skills/xrpl-agent-wallet/SKILL.md | Adds the XRPL Agent Wallet Claude skill definition. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| - [T54 X402 Documentation](https://xrpl-x402.t54.ai/docs) — The full X402 reference for | ||
| the XRPL implementation, including the exact payment scheme and facilitator API. | ||
| - [X402 Protocol Repository](#) — *(⚠️ FOLLOW-UP: Add the official X402 repo link once | ||
| the T54 PR is merged.)* |
oeggert
left a comment
There was a problem hiding this comment.
Looks mostly good, but there are a few issues to address with the skills and some styling on the main index page.
| Generate a new XRP Ledger testnet account. Show me the classic address and | ||
| the seed. |
There was a problem hiding this comment.
My AI went straight to generating and funding a wallet on testnet at this step.
|
|
||
| wallet = generate_faucet_wallet(client, debug=True) | ||
| print(f"Address : {wallet.address}") | ||
| print(f"Seed : {wallet.seed}") # store securely — never hardcode |
There was a problem hiding this comment.
This code contradicts the directions from the wallet skill to never print seed phrases.
There was a problem hiding this comment.
Good point. However, in this case, the code is generating a new Testnet faucet wallet, and users will need the wallet address and seed to save for future use. Any suggestion on how we could handle this?
There was a problem hiding this comment.
When I was testing it out (loaded both payment and wallet skill), the wallet skill took over and got around this by saving it to an env file and pointed me to it. Wallet skill explicitly forbid it from ever echoing seed phrases, even for test accounts.
Is this skill intended to be totally functional on its own? Wallet handling AND transaction handling? The getting started guide makes it sound like the intended architecture splits that responsibility between the two skills, but then the actual skills kind of muddle responsibilities by having a wallet section within payment skills too.
There was a problem hiding this comment.
Revised skills and tutorial to clarity scope for both skills.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Co-authored-by: oeggert <117319296+oeggert@users.noreply.github.com>
| wallet = generate_faucet_wallet(client, debug=True) | ||
| print(f"Address : {wallet.address}") | ||
| print(f"Seed : {wallet.seed}") # store securely — never hardcode |
| const { wallet } = await client.fundWallet(); | ||
| console.log("Address:", wallet.address); | ||
| console.log("Seed :", wallet.seed); | ||
| await client.disconnect(); |
| <img | ||
| src={require('../../static/img/xrpl-agentic-payment-loop-light.svg')} | ||
| alt="The Agentic Payment Loop: five steps — Trigger, Decision, Transaction, XRP Ledger Validation (tesSUCCESS or clean expiry), and Logging." | ||
| className="mw-100 agentic-loop-diagram" | ||
| /> |
| npx skills add https://github.com/XRPLF/xrpl-dev-portal/tree/agentic-txns-xrpl/.claude/skills/xrpl-skills/xrpl-agent-wallet | ||
| npx skills add https://github.com/XRPLF/xrpl-dev-portal/tree/agentic-txns-xrpl/.claude/skills/xrpl-skills/xrpl-payments |
| Generate a new XRP Ledger testnet account. Show me the classic address and | ||
| the seed. |
| - [X402 Protocol Repository](#) — *(⚠️ FOLLOW-UP: Add the official X402 repo link once | ||
| the T54 PR is merged.)* |
| - page: docs/agents/agentic-transactions.page.tsx | ||
| label: Agentic Transactions | ||
| labelTranslationKey: sidebar.docs.agenticTransactions | ||
| expanded: false |
| ``` | ||
| Generate a new XRP Ledger testnet account. Show me the classic address and | ||
| the seed. | ||
| ``` |
| from xrpl.clients import JsonRpcClient | ||
| from xrpl.wallet import generate_faucet_wallet | ||
|
|
||
| client = JsonRpcClient("https://s.altnet.rippletest.net:51234") | ||
| wallet = generate_faucet_wallet(client, debug=True) | ||
| print(f"Address : {wallet.classic_address}") | ||
| print(f"Balance : 1000 XRP") # Testnet faucet provides 1000 XRP |
| The XRP Ledger is a supported settlement chain in the X402 ecosystem via an | ||
| implementation contributed by T54. This means agents using the XRP Ledger can pay for | ||
| X402-gated services using XRP or RLUSD on day one. |
| <!-- ⚠️ FOLLOW-UP: Add JavaScript client quickstart once T54 publishes the | ||
| x402-xrpl JavaScript client documentation. --> |
| <!-- ⚠️ FOLLOW-UP: Confirm RLUSD support status in x402-xrpl and update this section | ||
| when available. --> |
| {requirementCards.map((card, idx) => { | ||
| const isLinked = !!card.href; | ||
| const inner = ( | ||
| <div className="card-body"> | ||
| <p className="req-number">{card.number}</p> | ||
| <h4 className="card-title h5">{translate(card.title)}</h4> | ||
| <p className="card-text">{translate(card.description)}</p> | ||
| </div> | ||
| ); | ||
| return isLinked ? ( | ||
| <Link | ||
| className="card req-linked" | ||
| to={card.href} | ||
| key={card.title + idx} | ||
| > | ||
| {inner} | ||
| <div className="card-footer"> | ||
| <span className="req-arrow">→</span> | ||
| </div> | ||
| </Link> |
| {/* ── Per-page styles: icon circles + chip-blue (dark & light modes) ── */} | ||
| <style>{` | ||
| /* Icon circle base */ |
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
| &.row-cols-lg-2 .card { | ||
| @include media-breakpoint-up(lg) { | ||
| flex-basis: calc(50% - #{(2 * $card-deck-margin)}); | ||
| } | ||
| } |
| {/* ── Per-page styles: icon circles + chip-blue (dark & light modes) ── */} | ||
| <style>{` | ||
| /* Icon circle base */ | ||
| .benefit-icon-wrap { | ||
| position: relative; |
| - page: docs/agents/agentic-transactions.page.tsx | ||
| label: Agentic Transactions | ||
| labelTranslationKey: sidebar.docs.agenticTransactions | ||
| expanded: false |
| topnav.docs.defi: DeFi(分散型金融) | ||
| topnav.docs.agentic-transactions: エージェントトランザクション | ||
| topnav.docs.get-started: はじめよう |
| The account is now active on the ledger. An XRPL account requires a minimum | ||
| balance of 10 XRP (the base reserve) to exist — the faucet covers this. |
| | Account activation | 10 XRP base reserve | | ||
| | Each trust line | +2 XRP owner reserve | | ||
| | Each escrow | +2 XRP owner reserve | | ||
| | Each open offer (DEX) | +2 XRP owner reserve | | ||
| | Each payment channel | +2 XRP owner reserve | |
| BASE_RESERVE_DROPS = 10_000_000 # 10 XRP | ||
| OWNER_RESERVE_DROPS = 2_000_000 # 2 XRP per object |
| The XRP Ledger is a supported settlement chain in the X402 ecosystem via an | ||
| implementation contributed by T54. This means agents using the XRP Ledger can pay for | ||
| X402-gated services using XRP or RLUSD on day one. | ||
|
|
||
| <!-- ⚠️ FOLLOW-UP: Confirm that the T54 X402 PR has been merged into the official X402 | ||
| repository and that the XRP Ledger appears as a supported chain in X402 public | ||
| documentation before publishing this page. --> |
| <!-- ⚠️ FOLLOW-UP: Add JavaScript client quickstart once T54 publishes the | ||
| x402-xrpl JavaScript client documentation. --> |
| For dollar-denominated pricing with price stability, RLUSD support in `x402-xrpl` is | ||
| on the roadmap. Use XRP for all testnet development today. | ||
|
|
||
| <!-- ⚠️ FOLLOW-UP: Confirm RLUSD support status in x402-xrpl and update this section | ||
| when available. --> |
…, and update tutorial to reflect the changes
| &.row-cols-lg-2 .card { | ||
| @include media-breakpoint-up(lg) { | ||
| flex-basis: calc(50% - #{(2 * $card-deck-margin)}); | ||
| } | ||
| } |
| {/* ── Per-page styles: icon circles + chip-blue (dark & light modes) ── */} | ||
| <style>{` | ||
| /* Icon circle base */ |
| <picture> | ||
| <source | ||
| srcSet={card.image} | ||
| media="(prefers-color-scheme: dark)" | ||
| /> | ||
| <img src={card.imageLight} alt="" aria-hidden="true" /> | ||
| </picture> |
| <!-- ⚠️ FOLLOW-UP: Confirm that the T54 X402 PR has been merged into the official X402 | ||
| repository and that the XRP Ledger appears as a supported chain in X402 public | ||
| documentation before publishing this page. --> |
| <!-- ⚠️ FOLLOW-UP: Add JavaScript client quickstart once T54 publishes the | ||
| x402-xrpl JavaScript client documentation. --> |
| <!-- ⚠️ FOLLOW-UP: Confirm RLUSD support status in x402-xrpl and update this section | ||
| when available. --> |
| topnav.docs.payments: 支払い | ||
| topnav.docs.tokenization: トークン化 | ||
| topnav.docs.defi: DeFi(分散型金融) | ||
| topnav.docs.agentic-transactions: エージェントトランザクション | ||
| topnav.docs.get-started: はじめよう |
|
I'm going to push a fix for the benefits cards. Old cards (incorrect) Also committing @maria-robobug fix for the card chips. |
oeggert
left a comment
There was a problem hiding this comment.
I pushed commits to fix issues that were definite problems, including the benefits icon issue (see above comment). Otherwise this now looks good--I left a few open questions for you, but they wouldn't be blockers to merge.
|
|
||
| --- | ||
|
|
||
| ## Where to go next |
There was a problem hiding this comment.
Should we change this to be ## See Also to match the rest of the site? I noticed this on all the other agentic doc pages as well.
There was a problem hiding this comment.
I noticed we're classifying this and track-agent-behavior.md as use cases. Do we want this to reside in the actual Use Cases directory?
| account=wallet.address, | ||
| destination="rDestinationAddress", | ||
| amount=xrp_to_drops(25), | ||
| source_tag=AGENT_SOURCE_TAG, |
There was a problem hiding this comment.
I know technically we're saying payment constructs the object, but I think we should shift SourceTag info to the wallet skill since it's a universal thing we want every agentic tx submission to have. This saves us from having to remember to add it in for future skills.




Introducing a new section for agentic transactions on XRPL. This section includes an overview and a starter kit consisting of content and skills.
The initial milestone introduces the following: