XRPL training workbook — learn by doing, prove by artifact
Project description
日本語 | 中文 | Español | Français | हिन्दी | Italiano | Português (BR)
XRPL training workbook — learn by doing, prove by artifact.
Each module teaches one XRPL skill and produces a verifiable artifact: a transaction ID, a signed receipt, or a diagnostic report. No accounts, no fluff, no cloud — just competence and receipts.
Install
pipx install xrpl-lab
Or with pip:
pip install xrpl-lab
Requires Python 3.11+.
Quickstart
xrpl-lab start
The guided launcher walks you through wallet setup, funding, and your first module.
Offline mode
xrpl-lab start --dry-run
No network required. Simulated transactions for learning the workflow.
Modules
24 modules across ten tracks: Foundations, NFTs, Tokens, Payments, Identity, DEX, Reserves, Audit, AMM, and Capstone. Prerequisites are explicit — the CLI and linter enforce them.
The # column matches the order shown by xrpl-lab list (canonical track order).
| # | Module | Track | Mode | Prerequisites | Produces |
|---|---|---|---|---|---|
| 1 | Receipt Literacy | foundations | testnet | — | txid, report |
| 2 | Failure Literacy | foundations | testnet | Receipt Literacy | txid, report |
| 3 | Trust Lines 101: Issued Currencies as Relationships | foundations | testnet | — | txid, report |
| 4 | Debugging Trust Lines | foundations | testnet | Trust Lines 101: Issued Currencies as Relationships | txid, report |
| 5 | NFT Minting 101: Your First Game Asset | nfts | testnet | — | txid, report |
| 6 | NFT Marketplace 101: Trading Assets with Enforced Royalties | nfts | testnet | — | txid, report |
| 7 | Dynamic NFTs 101: A Game Item That Levels Up | nfts | testnet | — | txid, report |
| 8 | MPT Issuance 101: A Game Currency in One Transaction | tokens | testnet | — | txid, report |
| 9 | MPT Distribution 101: Getting the Currency to Players | tokens | testnet | MPT Issuance 101: A Game Currency in One Transaction | txid, report |
| 10 | Token Freeze 101: The Issuer's Pause Button | tokens | testnet | — | txid, report |
| 11 | Clawback 101: The Issuer Recall Lever | tokens | testnet | — | txid, report |
| 12 | Escrow 101: Time-Locked XRP | payments | testnet | — | txid, report |
| 13 | Escrow Finish 101: Releasing Locked XRP | payments | testnet | Escrow 101: Time-Locked XRP | txid, report |
| 14 | Payment Channels 101: Sign Many, Settle Once | payments | testnet | — | txid, report |
| 15 | DID 101: On-Ledger Identity | identity | testnet | — | txid, report |
| 16 | DEX Literacy: Offers, Order Books, and Cancellations | dex | testnet | Trust Lines 101: Issued Currencies as Relationships | txid, report |
| 17 | DEX Market Making 101: Earning Spread on the Order Book | dex | testnet | DEX Literacy: Offers, Order Books, and Cancellations | txid, report |
| 18 | DEX Inventory Guardrails: Don't Get Lopsided | dex | testnet | DEX Market Making 101: Earning Spread on the Order Book | txid, report |
| 19 | Reserves 101: Where Your XRP 'Went' | reserves | testnet | Trust Lines 101: Issued Currencies as Relationships | txid, report |
| 20 | Account Hygiene: Freeing Reserves and Cleaning Up Objects | reserves | testnet | Reserves 101: Where Your XRP 'Went' | txid, report |
| 21 | Audit Mode: Verify Receipts at Scale | audit | testnet | Receipt Literacy | report, audit_pack |
| 22 | AMM Liquidity 101: Providing Liquidity and Earning Fees | amm | dry-run | Trust Lines 101: Issued Currencies as Relationships | txid, report |
| 23 | DEX vs AMM Risk Literacy: Comparing Trading Strategies | amm | dry-run | DEX Market Making 101: Earning Spread on the Order Book, AMM Liquidity 101: Providing Liquidity and Earning Fees | txid, report |
| 24 | Capstone: Stand Up a Minimal Game Economy on XRPL | capstone | testnet | MPT Issuance 101: A Game Currency in One Transaction, NFT Minting 101: Your First Game Asset, Escrow 101: Time-Locked XRP, Audit Mode: Verify Receipts at Scale | txid, report, audit_pack |
The Produces column lists the artifact kinds each module emits (txid,
report, audit_pack); see each module's page in the
handbook for
the full skill walkthrough and what you prove on-ledger.
Tracks
- foundations — wallet, payments, trust lines, error handling
- nfts — NFT game assets: minting, marketplace settlement, dynamic NFTs (XLS-20)
- tokens — Multi-Purpose Token (MPT) game-currency issuance & clawback (XLS-33)
- payments — escrow & time-locked value
- identity — Decentralized Identifiers (DID, XLS-40)
- dex — offers, order books, market making, inventory management
- reserves — account reserves, owner count, cleanup
- audit — batch verification, audit reports
- amm — automated market maker liquidity, DEX vs AMM comparison
- capstone — compose skills across tracks into one game-economy build
Modes
- testnet — real transactions on the XRPL Testnet
- dry-run — offline sandbox with simulated transactions (no network required)
Commands
xrpl-lab start Guided launcher
xrpl-lab list Show all modules with status and progression
xrpl-lab run <module_id> Run a specific module
xrpl-lab status [--json] Progress, curriculum position, blockers, track progress
xrpl-lab cohort-status [--dir DIR] [--format FORMAT] Aggregate per-learner status across a cohort directory (facilitator)
xrpl-lab session-export [--dir DIR] [--format FORMAT] [--outfile FILE] Archive all learner artifacts with a SHA-256 manifest
xrpl-lab tracks Track-level completion summaries
xrpl-lab recovery Diagnose stuck states, show recovery commands
xrpl-lab lint [glob] [--json] [--no-curriculum] Validate module files and curriculum
xrpl-lab proof-pack Export shareable proof pack
xrpl-lab proof generate Export shareable proof pack (alias of proof-pack)
xrpl-lab proof verify <file> Verify a proof pack's integrity (SHA-256)
xrpl-lab certificate Export completion certificate
xrpl-lab cert-verify <file> Verify a completion certificate's integrity
xrpl-lab doctor Run diagnostic checks
xrpl-lab self-check Alias for doctor
xrpl-lab feedback Generate support bundle (markdown)
xrpl-lab support-bundle [--json] [--verify FILE] Generate or verify support bundles
xrpl-lab audit Batch verify transactions
xrpl-lab last-run Show last module run + audit command
xrpl-lab serve [--port N] [--host H] [--dry-run] Start web dashboard and API server
xrpl-lab reset [--module MODULE_ID] Wipe local state OR reset a single module (requires confirmation)
xrpl-lab module init --id ID --track TRACK --title TITLE --time TIME Scaffold a lint-passing module skeleton
xrpl-lab wallet create Create a new wallet
xrpl-lab wallet show Show wallet info (no secrets)
xrpl-lab fund Fund wallet from testnet faucet
xrpl-lab send --to <address> --amount <xrp> [--memo <text>] Send a payment
xrpl-lab verify --tx <id> Verify a transaction on-ledger
All commands support --dry-run for offline mode where applicable.
Workshop Use
XRPL Lab is designed for real teaching settings. No accounts, no telemetry, no cloud. Everything runs locally.
Facilitator status
xrpl-lab status # Where is this learner? What's blocked? What's next?
xrpl-lab status --json # Machine-readable for scripting
xrpl-lab tracks # Track-level completion: what was actually practiced
xrpl-lab recovery # Stuck? See exactly what to run next
Support handoff
xrpl-lab support-bundle # Human-readable markdown bundle
xrpl-lab support-bundle --json # Machine-parseable JSON
xrpl-lab support-bundle --verify bundle.json # Verify a received bundle
A facilitator can diagnose any learner's issue from a support bundle without reproducing the whole session. No secrets are included.
Workshop flows
All-offline sandbox — no network required:
xrpl-lab wallet create
xrpl-lab start --dry-run
Mixed offline + testnet — real transactions for basics, sandbox for advanced:
xrpl-lab wallet create
xrpl-lab fund
xrpl-lab start
Camp → Lab progression — continue from xrpl-camp:
xrpl-lab start # auto-detects camp wallet and certificate
Artifacts
Proof pack (xrpl_lab_proof_pack.json): Shareable record of completed modules,
transaction IDs, and explorer links. Includes a SHA-256 integrity hash. No secrets.
Certificate (xrpl_lab_certificate.json): Slim completion record.
Reports (reports/*.md): Human-readable summaries of what you did and proved.
Audit packs (audit_pack_*.json): Batch verification results with SHA-256 integrity hash.
Security and Trust Model
Data XRPL Lab touches:
- Wallet seed (stored locally in
~/.xrpl-lab/wallet.jsonas plaintext JSON, protected by 0o600 file permissions and a 0o700 parent directory — not encrypted) - Module progress and transaction IDs (stored in
~/.xrpl-lab/state.json, atomic writes via tmp + rename) - XRPL Testnet RPC (public endpoint, transactions signed locally before submission)
- Testnet faucet (public HTTP, only your address is sent)
Data XRPL Lab does NOT touch:
- No mainnet. Testnet only
- No telemetry, analytics, or phone-home of any kind
- No cloud accounts, no registration, no third-party APIs
- No secrets in proof packs, certificates, reports, or support bundles — ever
Permissions and storage tiers:
- Home
~/.xrpl-lab/— private secrets tier, 0o700 directory + 0o600 wallet file. Stores wallet seed, doctor log, audit packs. - Workspace
./.xrpl-lab/— designed-shareable tier, 0o755 directory. Stores module reports, proof packs, certificates. Facilitators can review without permission elevation. - Filesystem: reads/writes only the two locations above
- Network: XRPL Testnet RPC + faucet only (both overridable via env vars, both optional with
--dry-run) - No elevated permissions required
Dashboard surface (when xrpl-lab serve is running):
- WebSocket runner endpoint enforces an Origin allow-list (closes non-allow-listed connections with code 4003)
- All error frames emit a structured envelope (
code,message,hint,severity,icon_hint) — no path leakage, no internal-state leakage - Bounded per-connection message queue with documented back-pressure behavior
See SECURITY.md for the full security policy and workshop-setup guidance.
Requirements
- Python 3.11+
- Internet connection for testnet (or use
--dry-runfor fully offline mode)
License
MIT
Built by MCP Tool Shop
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file xrpl_lab-2.2.0.tar.gz.
File metadata
- Download URL: xrpl_lab-2.2.0.tar.gz
- Upload date:
- Size: 1.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4d5bc3eedeb8a534ade3ad406785b8a46520b85399bdc2f095a760abd955d385
|
|
| MD5 |
2535dd43d8fe8e0081d6aafbee631865
|
|
| BLAKE2b-256 |
8753d5c4c08b4681c2e22532dd6e6d0407a8a9f4f94a3c751f7da3e0545bfe64
|
Provenance
The following attestation bundles were made for xrpl_lab-2.2.0.tar.gz:
Publisher:
publish-pypi.yml on mcp-tool-shop-org/xrpl-lab
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
xrpl_lab-2.2.0.tar.gz -
Subject digest:
4d5bc3eedeb8a534ade3ad406785b8a46520b85399bdc2f095a760abd955d385 - Sigstore transparency entry: 1915742485
- Sigstore integration time:
-
Permalink:
mcp-tool-shop-org/xrpl-lab@d12e80bc79cc83f4bec5c830d1b22b04c195b37d -
Branch / Tag:
refs/tags/v2.2.0 - Owner: https://github.com/mcp-tool-shop-org
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@d12e80bc79cc83f4bec5c830d1b22b04c195b37d -
Trigger Event:
release
-
Statement type:
File details
Details for the file xrpl_lab-2.2.0-py3-none-any.whl.
File metadata
- Download URL: xrpl_lab-2.2.0-py3-none-any.whl
- Upload date:
- Size: 255.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6b19f6ef49106d4add59c58070c598fc9c10b632e3fbd097c11fa29d9ae5d717
|
|
| MD5 |
95ad14161d75c131b08d723cc77780c3
|
|
| BLAKE2b-256 |
21f8af38f41a15dd3879ef4802411b5f4d897c951fb79ee420d2c052e333ea19
|
Provenance
The following attestation bundles were made for xrpl_lab-2.2.0-py3-none-any.whl:
Publisher:
publish-pypi.yml on mcp-tool-shop-org/xrpl-lab
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
xrpl_lab-2.2.0-py3-none-any.whl -
Subject digest:
6b19f6ef49106d4add59c58070c598fc9c10b632e3fbd097c11fa29d9ae5d717 - Sigstore transparency entry: 1915742652
- Sigstore integration time:
-
Permalink:
mcp-tool-shop-org/xrpl-lab@d12e80bc79cc83f4bec5c830d1b22b04c195b37d -
Branch / Tag:
refs/tags/v2.2.0 - Owner: https://github.com/mcp-tool-shop-org
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@d12e80bc79cc83f4bec5c830d1b22b04c195b37d -
Trigger Event:
release
-
Statement type: