What Would You Like to Learn?
XRP Ledger Documentation
Browse By Popular Topics
Software and SDKs
Start Developing
Article types
Dive In
Concepts
Learn the "what" and "why" behind fundamental aspects of the XRP Ledger.
Tutorials
Get step-by-step guidance to perform common tasks with the XRP Ledger.
References
Complete references for different interfaces to the XRP Ledger.
Code Samples
Browse sample code for building common use cases on the XRP Ledger.
Dev Tools
Use these web-based tools to interact with the ledger and test your software.
Run an XRP Ledger network node
Participate in the Network
NFTs
Hot Topic
Interested in non-fungible tokens, but concerned about their large carbon footprint? Read more about issuing NFTs on the XRP Ledger:
Full documentation index
See Everything
Concepts
- Introduction
- Introduction to Consensus
- XRP
- Software Ecosystem
- Payment System Basics
- Accounts
- Cryptographic Keys
- Multi-Signing
- Reserves
- Tickets
- Deposit Authorization
- Fees (Disambiguation)
- Ledgers
- Transaction Basics
- Transaction Cost
- Finality of Results
- Source and Destination Tags
- Payment Types
- Direct XRP Payments
- Cross-Currency Payments
- Checks
- Escrow
- Partial Payments
- Payment Channels
- Tokens
- Trust Lines and Issuing
- Authorized Trust Lines
- NFT Conceptual Overview
- Trading NFTokens on the XRP Ledger
- Freezing Tokens
- Common Misunderstandings about Freezes
- Rippling
- Transfer Fees
- Issuing and Operational Addresses
- Paths
- Demurrage
- Decentralized Exchange
- Offers
- Auto-Bridging
- Tick Size
- Consensus Network
- Consensus
- Consensus Principles and Rules
- Consensus Protections Against Attacks and Failure Modes
- Invariant Checking
- Negative UNL
- Transaction Queue
- About Canceling a Transaction
- Transaction Malleability
- Amendments
- Known Amendments
- Fee Voting
- Consensus Research
- Parallel Networks
- Federated Sidechains
- XRP Ledger Servers
- rippled Server Modes
- Clustering
- Ledger History
- Online Deletion
- History Sharding
- Peer Protocol
- Transaction Censorship Detection
- The Clio Server
Tutorials
- XRPL Quickstart
- 1. Create Accounts and Send XRP
- 2. Create Trust Line and Send Currency
- 3. Mint and Burn NFTokens
- 4. Transfer NFTokens
- Broker a NFToken Sale
- Get Started
- Public Servers
- Get Started Using Python
- Get Started Using Java
- Get Started Using JavaScript
- Get Started Using HTTP / WebSocket APIs
- Send XRP
- Monitor Incoming Payments with WebSocket
- Build Apps
- Build a Desktop Wallet in Python
- Production Readiness
- Set Up Secure Signing
- Look Up Transaction Results
- Reliable Transaction Submission
- Manage Account Settings
- Assign a Regular Key Pair
- Change or Remove a Regular Key Pair
- Disable Master Key Pair
- Set Up Multi-Signing
- Send a Multi-Signed Transaction
- Require Destination Tags
- Offline Account Setup Tutorial
- Use Tickets
- Use Specialized Payment Types
- Use Escrows
- Send a Time-Held Escrow
- Send a Conditionally-Held Escrow
- Cancel an Expired Escrow
- Look up escrows
- Use an Escrow as a Smart Contract
- Use Payment Channels
- Open a Payment Channel to Enable an Inter-Exchange Network
- Use Checks
- Send a Check
- Cash a Check for an Exact Amount
- Cash a Check for a Flexible Amount
- Cancel a Check
- Look Up Checks by Sender
- Look Up Checks by Recipient
- Use Tokens
- Issue a Fungible Token
- Trade in the Decentralized Exchange
- NFToken Tester Tutorial
- Enable No Freeze
- Enact Global Freeze
- Freeze a Trust Line
- XRP Ledger Businesses
- List XRP as an Exchange
- List Your Exchange on XRP Charts
- Become an XRP Ledger Gateway
- Manage the rippled Server
- Install rippled
- System Requirements
- Install on CentOS/Red Hat with yum
- Install on Ubuntu or Debian Linux
- Update Automatically on Linux
- Update Manually on CentOS/Red Hat
- Update Manually on Ubuntu or Debian
- Build and Run rippled on Ubuntu
- Build and Run rippled on macOS
- Build and Run rippled in Reporting Mode
- Capacity Planning
- rippled v1.3.x Migration Instructions
- Configure rippled
- Run rippled as a Validator
- Run rippled as a Wallet Server
- Configure Amendment Voting
- Configure StatsD
- Connect Your rippled to a Parallel Network
- Configure Online Deletion
- Configure Advisory Deletion
- Configure History Sharding
- Configure Full History
- Configure gRPC
- Enable Public Signing
- Configure Peering
- Cluster rippled Servers
- Configure a Private Server
- Configure the Peer Crawler
- Enable Link Compression
- Forward Ports for Peering
- Manually Connect to a Specific Peer
- Set Maximum Number of Peers
- Use a Peer Reservation
- Test rippled Functionality in Stand-Alone Mode
- Start a New Genesis Ledger in Stand-Alone Mode
- Load a Saved Ledger in Stand-Alone Mode
- Advance the Ledger in Stand-Alone Mode
- Troubleshooting
- Diagnosing Problems with rippled
- Health Check Interventions
- Understanding Log Messages
- rippled Server Doesn't Sync
- rippled Server Won't Start
- Fix SQLite Transaction Database Page Size Issue
- Manage the Clio Server
- Install Clio on Ubuntu Linux
References
- XRP Ledger Protocol Reference
- Basic Data Types
- base58 Encodings
- Currency Formats
- NFToken
- Ledger Data Formats
- Ledger Header
- Ledger Object IDs
- Ledger Object Types
- AccountRoot
- Amendments
- Check
- DepositPreauth
- DirectoryNode
- Escrow
- FeeSettings
- LedgerHashes
- NegativeUNL
- NFTokenOffer
- NFTokenPage
- Offer
- PayChannel
- RippleState
- SignerList
- Ticket
- Transaction Reference
- Transaction Common Fields
- Transaction Types
- AccountSet
- AccountDelete
- CheckCancel
- CheckCash
- CheckCreate
- DepositPreauth
- EscrowCancel
- EscrowCreate
- EscrowFinish
- NFTokenAcceptOffer
- NFTokenBurn
- NFTokenCancelOffer
- NFTokenCreateOffer
- NFTokenMint
- OfferCancel
- OfferCreate
- Payment
- PaymentChannelClaim
- PaymentChannelCreate
- PaymentChannelFund
- SetRegularKey
- SignerListSet
- TicketCreate
- TrustSet
- Pseudo-Transactions
- EnableAmendment
- SetFee
- UNLModify
- Transaction Results
- tec Codes
- tef Codes
- tel Codes
- tem Codes
- ter Codes
- tes Success
- Transaction Metadata
- Serialization Format
- Client Libraries
- JavaScript / TypeScript Client Library
- Migration Guide for ripple-lib 1.x to xrpl.js 2.x
- Python Client Library
- Java Client Library
- Ruby Client Library
- HTTP / WebSocket APIs
- API Conventions
- Request Formatting
- Response Formatting
- Error Formatting
- Markers and Pagination
- Rate Limiting
- rippled Server States
- Public API Methods
- Account Methods
- account_channels
- account_currencies
- account_info
- account_lines
- account_nfts
- account_objects
- account_offers
- account_tx
- gateway_balances
- noripple_check
- Ledger Methods
- ledger
- ledger_closed
- ledger_current
- ledger_data
- ledger_entry
- Transaction Methods
- submit
- submit_multisigned
- transaction_entry
- tx
- tx_history
- Path and Order Book Methods
- book_offers
- deposit_authorized
- nft_buy_offers
- nft_sell_offers
- path_find
- ripple_path_find
- Payment Channel Methods
- channel_authorize
- channel_verify
- Subscription Methods
- subscribe
- unsubscribe
- Server Info Methods
- fee
- manifest
- server_info (rippled)
- server_info (Clio)
- server_state
- Utility Methods
- json
- ping
- random
- Admin API Methods
- Key Generation Methods
- validation_create
- wallet_propose
- Logging and Data Management Methods
- can_delete
- crawl_shards
- download_shard
- ledger_cleaner
- ledger_request
- log_level
- logrotate
- node_to_shard
- Server Control Methods
- ledger_accept
- stop
- validation_seed
- Signing Methods
- sign
- sign_for
- Peer Management Methods
- connect
- peer_reservations_add
- peer_reservations_del
- peer_reservations_list
- peers
- Status and Debugging Methods
- consensus_info
- feature
- fetch_info
- get_counts
- validator_info
- validator_list_sites
- validators
- rippled Commandline Usage Reference
- Peer Port Methods
- Health Check
- Peer Crawler
- Validator List Method
- xrp-ledger.toml File