XRPL Standards
Raw specification files for all 79 XRPL Standards (XLS-1 through XLS-102), organized by topic. Read the relevant file to get the full spec — field definitions, transaction formats, ledger objects, failure conditions, invariants, and RPC changes.
How to Use
The path depends on your environment. Find this skill's install directory and read the spec file directly:
Read <skill-dir>/references/<topic>/<file>.md
Common locations:
- claude.ai:
/mnt/skills/user/xrpl-standards/
- Claude Code (
npx skills add): .claude/skills/xrpl-standards/ (relative to project root)
To auto-detect, search for the skill directory:
find /mnt/skills ~/.claude -name "INDEX.md" -path "*/xrpl-standards/references/*" 2>/dev/null | head -1 | sed 's|/references/INDEX.md||'
To list or fetch a spec not yet in refs:
bash <skill-dir>/scripts/list-xls.sh
bash <skill-dir>/scripts/fetch-xls.sh <number>
identity — DID, credentials, sign-in
| XLS |
Title |
Status |
File |
| 40 |
Decentralized Identity — DID obj, DIDSet, DIDDelete |
Final |
references/identity/xls-0040.md |
| 63 |
SignIn Transaction — off-chain auth, sfData field |
Stagnant |
references/identity/xls-0063.md |
| 70 |
On-Chain Credentials — Credential obj, CredentialCreate/Accept/Delete, DepositPreauth ext |
Final |
references/identity/xls-0070.md |
tokens — NFT, MPT, URIToken
| XLS |
Title |
Status |
File |
| 20 |
Non-Fungible Tokens — NFToken, NFTokenMint/Burn/CreateOffer/AcceptOffer/CancelOffer |
Final |
references/tokens/xls-0020.md |
| 33 |
Multi-Purpose Tokens (MPT) — MPTokenIssuance, MPTokenIssuanceCreate/Destroy/Set, MPTokenAuthorize |
Final |
references/tokens/xls-0033.md |
| 35 |
URITokens — URIToken obj, URITokenMint/Burn/CreateOffer/BuyOffer/CancelOffer |
Draft |
references/tokens/xls-0035.md |
| 46 |
Dynamic NFTs — mutable metadata extension to NFToken |
Final |
references/tokens/xls-0046.md |
| 51 |
NFToken Escrows |
Stagnant |
references/tokens/xls-0051.md |
| 52 |
NFTokenMintOffer — combined mint + offer tx |
Final |
references/tokens/xls-0052.md |
| 54 |
NFTokenOffer Destination Tag |
Stagnant |
references/tokens/xls-0054.md |
| 61 |
Cross-Currency NFTokenAcceptOffer |
Stagnant |
references/tokens/xls-0061.md |
| 87 |
Token Pre-Authorization — issuer approval by account, credential, or domain |
Stagnant |
references/tokens/xls-0087.md |
| 89 |
MPT Metadata Schema |
Final |
references/tokens/xls-0089.md |
| 90 |
Permissioned Domains for MPTs |
Draft |
references/tokens/xls-0090.md |
| 94 |
Dynamic MPT — mutable MPToken fields |
Final |
references/tokens/xls-0094.md |
| 96 |
Confidential MPT — ConfidentialMPTConvert/Send/MergeInbox/ConvertBack/Clawback |
Final |
references/tokens/xls-0096.md |
| 99 |
ElGamal Key Rotation for Confidential MPTs — issuer, auditor, and holder key rotation and recovery |
Draft |
references/tokens/xls-0099.md |
| 10 |
Non-Transferable Token standard |
Stagnant |
references/tokens/xls-0010.md |
| 16 |
NFT Metadata v1 |
Stagnant |
references/tokens/xls-0016.md |
| 24 |
NFT Metadata v2 |
Final |
references/tokens/xls-0024.md |
| 26 |
IOU Token Metadata via xrp-ledger.toml |
Draft |
references/tokens/xls-0026.md |
defi — AMM, DEX, vault, lending, options
| XLS |
Title |
Status |
File |
| 30 |
Automated Market Maker — AMM obj, AMMCreate/Deposit/Withdraw/Vote/Bid/Delete |
Final |
references/defi/xls-0030.md |
| 73 |
AMM Clawback — AMMClawback tx |
Draft |
references/defi/xls-0073.md |
| 81 |
Permissioned DEX — OfferCreate/Payment extensions, PermissionedDomain gating |
Final |
references/defi/xls-0081.md |
| 82 |
MPT Integration into DEX, MPTVersion2 amendment extending XLS-33/XLS-30 to MPT |
Draft |
references/defi/xls-0082.md |
| 65 |
Single Asset Vault — Vault obj, VaultCreate/Set/Delete/Deposit/Withdraw |
Draft |
references/defi/xls-0065.md |
| 66 |
Lending Protocol — LoanBroker, Loan objs, 9 new transactions |
Draft |
references/defi/xls-0066.md |
| 98 |
Standard Metadata for Vaults, JSON convention for Vault.Data |
Draft |
references/defi/xls-0098.md |
| 62 |
Options — option contract transactions |
Stagnant |
references/defi/xls-0062.md |
| 60 |
Default AutoBridge |
Stagnant |
references/defi/xls-0060.md |
payments — escrow, channels, batch, remit
| XLS |
Title |
Status |
File |
| 56 |
Atomic/Batch Transactions — Batch tx, inner transaction handling |
Final |
references/payments/xls-0056.md |
| 85 |
Token-Enabled Escrows — escrow/channel support for IOU and MPT |
Final |
references/payments/xls-0085.md |
| 100 |
Smart Escrows — programmable escrow conditions |
Draft |
references/payments/xls-0100.md |
| 55 |
Remit — Remit tx for bundled transfers |
Final |
references/payments/xls-0055.md |
| 34 |
Token Payment Channels & Escrow (Withdrawn, superseded by XLS-85) |
Withdrawn |
references/payments/xls-0034.md |
| 67 |
Charge |
Stagnant |
references/payments/xls-0067.md |
| 76 |
Min Incoming Amount (Deprecated) |
Deprecated |
references/payments/xls-0076.md |
accounts — permissions, freeze, signer lists, reserves
| XLS |
Title |
Status |
File |
| 74 |
Account Permissions — granular tx-level permission flags |
Final |
references/accounts/xls-0074.md |
| 75 |
Permission Delegation — Delegate obj, DelegateSet tx |
Final |
references/accounts/xls-0075.md |
| 80 |
Permissioned Domains — PermissionedDomain obj, PermissionedDomainSet/Delete |
Final |
references/accounts/xls-0080.md |
| 86 |
Firewall — account-level transaction filtering |
Draft |
references/accounts/xls-0086.md |
| 77 |
Deep Freeze — enhanced freeze for trust lines |
Final |
references/accounts/xls-0077.md |
| 39 |
Clawback — issuer clawback of IOU balances |
Final |
references/accounts/xls-0039.md |
| 68 |
Sponsored Fees and Reserves — Sponsorship obj, fee/reserve delegation |
Draft |
references/accounts/xls-0068.md |
| 49 |
Multiple Signer Lists |
Draft |
references/accounts/xls-0049.md |
| 64 |
Pseudo-Account |
Draft |
references/accounts/xls-0064.md |
| 23 |
Lite Accounts |
Stagnant |
references/accounts/xls-0023.md |
| 7 |
Deletable Accounts |
Final |
references/accounts/xls-0007.md |
| 71 |
Initial Owner Reserve Exemption |
Stagnant |
references/accounts/xls-0071.md |
data — oracles, subscriptions
| XLS |
Title |
Status |
File |
| 47 |
Price Oracles — Oracle obj, OracleSet/Delete, price aggregation RPC |
Final |
references/data/xls-0047.md |
| 78 |
Subscriptions — on-chain payment streams |
Draft |
references/data/xls-0078.md |
cross-chain — bridge, proof of payment
| XLS |
Title |
Status |
File |
| 38 |
Cross-Chain Bridge — Bridge obj, XChainCreateBridge, locking/claiming txs |
Final |
references/cross-chain/xls-0038.md |
| 41 |
XPOP — proof-of-payment standard, off-chain verification format |
Final |
references/cross-chain/xls-0041.md |
smart-contracts — plugins, WASM, contracts
| XLS |
Title |
Status |
File |
| 101 |
Smart Contracts — Contract/ContractSource/ContractData objs, ContractCreate/Call/Modify/Delete |
Draft |
references/smart-contracts/xls-0101.md |
| 102 |
WASM VM — virtual machine specification |
Draft |
references/smart-contracts/xls-0102.md |
| 42 |
Plugins — plugin ledger objects |
Stagnant |
references/smart-contracts/xls-0042.md |
core — protocol fundamentals
| XLS |
Title |
Status |
File |
| 13 |
Tickets — Ticket obj, TicketCreate tx |
Final |
references/core/xls-0013.md |
| 37 |
CTID — Concise Transaction Identifier encoding |
Final |
references/core/xls-0037.md |
| 69 |
Simulate — simulate RPC for dry-run execution |
Final |
references/core/xls-0069.md |
| 97 |
Server Definitions — server_definitions RPC enhancements |
Final |
references/core/xls-0097.md |
| 22 |
API Versioning |
Final |
references/core/xls-0022.md |
| 45 |
Prepublish Validator Lists |
Final |
references/core/xls-0045.md |
| 17 |
XFL — developer-friendly balance representation |
Final |
references/core/xls-0017.md |
| 5 |
Tagged Addresses |
Final |
references/core/xls-0005.md |
| 8 |
Tickets (withdrawn, superseded by XLS-13) |
Withdrawn |
references/core/xls-0008.md |
| 9 |
Blinded Tags |
Stagnant |
references/core/xls-0009.md |
| 11 |
Retiring Amendments |
Final |
references/core/xls-0011.md |
| 12 |
Secret Numbers |
Final |
references/core/xls-0012.md |
| 15 |
Concise Transaction Identifier (withdrawn, superseded by XLS-37) |
Withdrawn |
references/core/xls-0015.md |
| 18 |
Bootstrapping XRPLD Networks |
Stagnant |
references/core/xls-0018.md |
| 21 |
Asset Code Prefixes |
Stagnant |
references/core/xls-0021.md |
| 25 |
Enhanced Secret Numbers |
Final |
references/core/xls-0025.md |
| 32 |
Request URI Structure |
Stagnant |
references/core/xls-0032.md |
| 50 |
Validator TOML Infrastructure |
Final |
references/core/xls-0050.md |
| 95 |
Rename rippled → xrpld |
Draft |
references/core/xls-0095.md |
| 1 |
XLS Process and Guidelines |
Living |
references/core/xls-0001.md |
ecosystem — wallets, URIs, icons
| XLS |
Title |
Status |
File |
| 2 |
Destination Information |
Stagnant |
references/ecosystem/xls-0002.md |
| 3 |
Deeplink Signed Transactions |
Stagnant |
references/ecosystem/xls-0003.md |
| 4 |
Trustline Add URI |
Stagnant |
references/ecosystem/xls-0004.md |
| 6 |
Visual Account Icons |
Final |
references/ecosystem/xls-0006.md |
Refreshing Refs
Use the local sync script in this repo:
python3 .agents/skills/xrpl-standards/scripts/sync-xls-standards.py
Run with --dry-run to inspect changes without writing files.
--extract writes the compressed extracted summary.
- Default writes full upstream
README.md content.
A GitHub Action also runs this script every Monday and Thursday at 06:00 UTC:
.github/workflows/sync-xrpl-standards.yml
1---2name: xrpl-standards3description: Reference for any XRPL Standard (XLS-N) when implementing or reviewing XRPL protocol features. Trigger on: XLS number (XLS-30, XLS-70), amendment name (AMM, Credentials, MPT, DID, NFToken, Batch, Escrow, Clawback, Firewall, Permissioned DEX, Token Pre-Authorization), transaction type (AMMCreate, CredentialCreate, NFTokenMint, DelegateSet, PermissionedDomainSet, TokenPreauth, BatchSubmit), or ledger object name (Credential, AMM, MPToken, Delegate, Oracle, Bridge, TokenPreauth).4---56# XRPL Standards78Raw specification files for all 79 XRPL Standards (XLS-1 through XLS-102), organized by topic. Read the relevant file to get the full spec — field definitions, transaction formats, ledger objects, failure conditions, invariants, and RPC changes.910## How to Use1112The path depends on your environment. Find this skill's install directory and read the spec file directly:1314```15Read <skill-dir>/references/<topic>/<file>.md16```1718Common locations:1920- **claude.ai**: `/mnt/skills/user/xrpl-standards/`21- **Claude Code** (`npx skills add`): `.claude/skills/xrpl-standards/` (relative to project root)2223To auto-detect, search for the skill directory:2425```bash26find /mnt/skills ~/.claude -name "INDEX.md" -path "*/xrpl-standards/references/*" 2>/dev/null | head -1 | sed 's|/references/INDEX.md||'27```2829To list or fetch a spec not yet in refs:3031```bash32bash <skill-dir>/scripts/list-xls.sh33bash <skill-dir>/scripts/fetch-xls.sh <number>34```3536---3738## identity — DID, credentials, sign-in3940| XLS | Title | Status | File |41| ----- | ------- | -------- | ------ |42| 40 | Decentralized Identity — `DID` obj, `DIDSet`, `DIDDelete` | Final | `references/identity/xls-0040.md` |43| 63 | SignIn Transaction — off-chain auth, `sfData` field | Stagnant | `references/identity/xls-0063.md` |44| 70 | On-Chain Credentials — `Credential` obj, `CredentialCreate/Accept/Delete`, `DepositPreauth` ext | Final | `references/identity/xls-0070.md` |4546## tokens — NFT, MPT, URIToken4748| XLS | Title | Status | File |49| ----- | ------- | -------- | ------ |50| 20 | Non-Fungible Tokens — `NFToken`, `NFTokenMint/Burn/CreateOffer/AcceptOffer/CancelOffer` | Final | `references/tokens/xls-0020.md` |51| 33 | Multi-Purpose Tokens (MPT) — `MPTokenIssuance`, `MPTokenIssuanceCreate/Destroy/Set`, `MPTokenAuthorize` | Final | `references/tokens/xls-0033.md` |52| 35 | URITokens — `URIToken` obj, `URITokenMint/Burn/CreateOffer/BuyOffer/CancelOffer` | Draft | `references/tokens/xls-0035.md` |53| 46 | Dynamic NFTs — mutable metadata extension to NFToken | Final | `references/tokens/xls-0046.md` |54| 51 | NFToken Escrows | Stagnant | `references/tokens/xls-0051.md` |55| 52 | NFTokenMintOffer — combined mint + offer tx | Final | `references/tokens/xls-0052.md` |56| 54 | NFTokenOffer Destination Tag | Stagnant | `references/tokens/xls-0054.md` |57| 61 | Cross-Currency NFTokenAcceptOffer | Stagnant | `references/tokens/xls-0061.md` |58| 87 | Token Pre-Authorization — issuer approval by account, credential, or domain | Stagnant | `references/tokens/xls-0087.md` |59| 89 | MPT Metadata Schema | Final | `references/tokens/xls-0089.md` |60| 90 | Permissioned Domains for MPTs | Draft | `references/tokens/xls-0090.md` |61| 94 | Dynamic MPT — mutable MPToken fields | Final | `references/tokens/xls-0094.md` |62| 96 | Confidential MPT — `ConfidentialMPTConvert/Send/MergeInbox/ConvertBack/Clawback` | Final | `references/tokens/xls-0096.md` |63| 99 | ElGamal Key Rotation for Confidential MPTs — issuer, auditor, and holder key rotation and recovery | Draft | `references/tokens/xls-0099.md` |64| 10 | Non-Transferable Token standard | Stagnant | `references/tokens/xls-0010.md` |65| 16 | NFT Metadata v1 | Stagnant | `references/tokens/xls-0016.md` |66| 24 | NFT Metadata v2 | Final | `references/tokens/xls-0024.md` |67| 26 | IOU Token Metadata via xrp-ledger.toml | Draft | `references/tokens/xls-0026.md` |6869## defi — AMM, DEX, vault, lending, options7071| XLS | Title | Status | File |72| ----- | ------- | -------- | ------ |73| 30 | Automated Market Maker — `AMM` obj, `AMMCreate/Deposit/Withdraw/Vote/Bid/Delete` | Final | `references/defi/xls-0030.md` |74| 73 | AMM Clawback — `AMMClawback` tx | Draft | `references/defi/xls-0073.md` |75| 81 | Permissioned DEX — `OfferCreate`/`Payment` extensions, `PermissionedDomain` gating | Final | `references/defi/xls-0081.md` |76| 82 | MPT Integration into DEX, `MPTVersion2` amendment extending XLS-33/XLS-30 to MPT | Draft | `references/defi/xls-0082.md` |77| 65 | Single Asset Vault — `Vault` obj, `VaultCreate/Set/Delete/Deposit/Withdraw` | Draft | `references/defi/xls-0065.md` |78| 66 | Lending Protocol — `LoanBroker`, `Loan` objs, 9 new transactions | Draft | `references/defi/xls-0066.md` |79| 98 | Standard Metadata for Vaults, JSON convention for `Vault.Data` | Draft | `references/defi/xls-0098.md` |80| 62 | Options — option contract transactions | Stagnant | `references/defi/xls-0062.md` |81| 60 | Default AutoBridge | Stagnant | `references/defi/xls-0060.md` |8283## payments — escrow, channels, batch, remit8485| XLS | Title | Status | File |86| ----- | ------- | -------- | ------ |87| 56 | Atomic/Batch Transactions — `Batch` tx, inner transaction handling | Final | `references/payments/xls-0056.md` |88| 85 | Token-Enabled Escrows — escrow/channel support for IOU and MPT | Final | `references/payments/xls-0085.md` |89| 100 | Smart Escrows — programmable escrow conditions | Draft | `references/payments/xls-0100.md` |90| 55 | Remit — `Remit` tx for bundled transfers | Final | `references/payments/xls-0055.md` |91| 34 | Token Payment Channels & Escrow (Withdrawn, superseded by XLS-85) | Withdrawn | `references/payments/xls-0034.md` |92| 67 | Charge | Stagnant | `references/payments/xls-0067.md` |93| 76 | Min Incoming Amount (Deprecated) | Deprecated | `references/payments/xls-0076.md` |9495## accounts — permissions, freeze, signer lists, reserves9697| XLS | Title | Status | File |98| ----- | ------- | -------- | ------ |99| 74 | Account Permissions — granular tx-level permission flags | Final | `references/accounts/xls-0074.md` |100| 75 | Permission Delegation — `Delegate` obj, `DelegateSet` tx | Final | `references/accounts/xls-0075.md` |101| 80 | Permissioned Domains — `PermissionedDomain` obj, `PermissionedDomainSet/Delete` | Final | `references/accounts/xls-0080.md` |102| 86 | Firewall — account-level transaction filtering | Draft | `references/accounts/xls-0086.md` |103| 77 | Deep Freeze — enhanced freeze for trust lines | Final | `references/accounts/xls-0077.md` |104| 39 | Clawback — issuer clawback of IOU balances | Final | `references/accounts/xls-0039.md` |105| 68 | Sponsored Fees and Reserves — `Sponsorship` obj, fee/reserve delegation | Draft | `references/accounts/xls-0068.md` |106| 49 | Multiple Signer Lists | Draft | `references/accounts/xls-0049.md` |107| 64 | Pseudo-Account | Draft | `references/accounts/xls-0064.md` |108| 23 | Lite Accounts | Stagnant | `references/accounts/xls-0023.md` |109| 7 | Deletable Accounts | Final | `references/accounts/xls-0007.md` |110| 71 | Initial Owner Reserve Exemption | Stagnant | `references/accounts/xls-0071.md` |111112## data — oracles, subscriptions113114| XLS | Title | Status | File |115|-----|-------|--------|------|116| 47 | Price Oracles — `Oracle` obj, `OracleSet/Delete`, price aggregation RPC | Final | `references/data/xls-0047.md` |117| 78 | Subscriptions — on-chain payment streams | Draft | `references/data/xls-0078.md` |118119## cross-chain — bridge, proof of payment120121| XLS | Title | Status | File |122|-----|-------|--------|------|123| 38 | Cross-Chain Bridge — `Bridge` obj, `XChainCreateBridge`, locking/claiming txs | Final | `references/cross-chain/xls-0038.md` |124| 41 | XPOP — proof-of-payment standard, off-chain verification format | Final | `references/cross-chain/xls-0041.md` |125126## smart-contracts — plugins, WASM, contracts127128| XLS | Title | Status | File |129|-----|-------|--------|------|130| 101 | Smart Contracts — `Contract/ContractSource/ContractData` objs, `ContractCreate/Call/Modify/Delete` | Draft | `references/smart-contracts/xls-0101.md` |131| 102 | WASM VM — virtual machine specification | Draft | `references/smart-contracts/xls-0102.md` |132| 42 | Plugins — plugin ledger objects | Stagnant | `references/smart-contracts/xls-0042.md` |133134## core — protocol fundamentals135136| XLS | Title | Status | File |137| ----- | ------- | -------- | ------ |138| 13 | Tickets — `Ticket` obj, `TicketCreate` tx | Final | `references/core/xls-0013.md` |139| 37 | CTID — Concise Transaction Identifier encoding | Final | `references/core/xls-0037.md` |140| 69 | Simulate — `simulate` RPC for dry-run execution | Final | `references/core/xls-0069.md` |141| 97 | Server Definitions — `server_definitions` RPC enhancements | Final | `references/core/xls-0097.md` |142| 22 | API Versioning | Final | `references/core/xls-0022.md` |143| 45 | Prepublish Validator Lists | Final | `references/core/xls-0045.md` |144| 17 | XFL — developer-friendly balance representation | Final | `references/core/xls-0017.md` |145| 5 | Tagged Addresses | Final | `references/core/xls-0005.md` |146| 8 | Tickets (withdrawn, superseded by XLS-13) | Withdrawn | `references/core/xls-0008.md` |147| 9 | Blinded Tags | Stagnant | `references/core/xls-0009.md` |148| 11 | Retiring Amendments | Final | `references/core/xls-0011.md` |149| 12 | Secret Numbers | Final | `references/core/xls-0012.md` |150| 15 | Concise Transaction Identifier (withdrawn, superseded by XLS-37) | Withdrawn | `references/core/xls-0015.md` |151| 18 | Bootstrapping XRPLD Networks | Stagnant | `references/core/xls-0018.md` |152| 21 | Asset Code Prefixes | Stagnant | `references/core/xls-0021.md` |153| 25 | Enhanced Secret Numbers | Final | `references/core/xls-0025.md` |154| 32 | Request URI Structure | Stagnant | `references/core/xls-0032.md` |155| 50 | Validator TOML Infrastructure | Final | `references/core/xls-0050.md` |156| 95 | Rename rippled → xrpld | Draft | `references/core/xls-0095.md` |157| 1 | XLS Process and Guidelines | Living | `references/core/xls-0001.md` |158159## ecosystem — wallets, URIs, icons160161| XLS | Title | Status | File |162| ----- | ------- | -------- | ------ |163| 2 | Destination Information | Stagnant | `references/ecosystem/xls-0002.md` |164| 3 | Deeplink Signed Transactions | Stagnant | `references/ecosystem/xls-0003.md` |165| 4 | Trustline Add URI | Stagnant | `references/ecosystem/xls-0004.md` |166| 6 | Visual Account Icons | Final | `references/ecosystem/xls-0006.md` |167168---169170## Refreshing Refs171172Use the local sync script in this repo:173174```bash175python3 .agents/skills/xrpl-standards/scripts/sync-xls-standards.py176```177178Run with `--dry-run` to inspect changes without writing files.179180- `--extract` writes the compressed extracted summary.181- Default writes full upstream `README.md` content.182183A GitHub Action also runs this script every Monday and Thursday at 06:00 UTC:184185- `.github/workflows/sync-xrpl-standards.yml`