
A transfer, step by step
4 minDifficulty Checked 2026-11-10- A transfer starts on the destination chain, with a claim ID.
- Committing with a wrong claim ID loses the funds.
- Funds are released when enough witnesses have attested.
Sending value across a bridge takes a few steps. The order surprises people: the first step happens on the chain you are sending to.
- Get a ticket. On the destination chain, you create a claim ID. Think of it as a numbered coat-check ticket. It stands for one transfer.
- Hand over the coat. On the source chain, you commit the assets and quote the ticket number. The assets are locked, or burned if they were wrapped copies going home.
- Witnesses confirm. Witness servers see the commit. Each one signs a statement and posts it on the destination chain.
- Release. When enough witnesses agree, the funds are released on the destination chain.
- Witnesses get paid. A small reward, set by the bridge, is split among the witnesses that signed.
If you named a destination account in step 2, the funds arrive there automatically. If you did not, you claim them yourself with the ticket.
The ticket number matters. The reference page for the commit transaction is blunt: quote a wrong number and the funds are lost. Check the number in a validated ledger before you commit.
You need an account on the destination chain to get a ticket. For a first visit, XRP bridges can offer a separate step that creates a new account on the far side.
Transfer flow.
| Step | Chain | Transaction | Effect |
|---|---|---|---|
| 1 | Destination | XChainCreateClaimID | Creates an XChainOwnedClaimID. Names OtherChainSource |
| 2 | Source | XChainCommit | Locks or burns Amount. Carries XChainClaimID |
| 3 | Destination | XChainAddClaimAttestation | A witness's signed attestation of the commit |
| 4 | Destination | XChainClaim | Only if no destination was set, or delivery failed |
Details:
XChainCreateClaimIDincludesSignatureReward. It must match the value on theBridgeentry.XChainCommitmust come from the account named asOtherChainSource.XChainCommithas an optionalOtherChainDestination. With it, funds transfer when quorum is reached.- xrpl.org notes that some cases still need a claim, such as a destination with Deposit Authorization enabled.
XChainClaimis sent by the claim ID's owner. It can pay anyDestinationthat exists. A failed claim keeps the claim ID, so it can be retried with other parameters.- A successful transfer destroys the
XChainOwnedClaimID. That prevents replay.
Attestations. Any account can submit one. The signature must come from a key on the door account's signer list. If the signer list changes before quorum, the new list applies and some collected signatures may be dropped. A quorum must also agree on the reward amount, so one witness cannot inflate it.
Account creation. XChainAccountCreateCommit works only on XRP-XRP bridges.
Amountmust be at least the bridge'sMinAccountCreateAmount.- Witnesses attest with
XChainAddAccountCreateAttestation. The ledger tracks them in anXChainOwnedCreateAccountClaimID. - At quorum the new account is funded automatically.
- If attestations never arrive, account creation is blocked until they do. A bridge disables this transaction by leaving
MinAccountCreateAmountunset.
An open XChainOwnedClaimID blocks deletion of the account that owns it. Finish the transfer first.
Related: Locking and issuing.
- Cross-Chain BridgesRead 2026-11-10
- XLS-38 Cross-Chain BridgeRead 2026-11-10
- XChainCreateClaimIDRead 2026-11-10
- XChainCommitRead 2026-11-10
- XChainClaimRead 2026-11-10
- XChainAddClaimAttestationRead 2026-11-10
- XChainAccountCreateCommitRead 2026-11-10
- Deleting AccountsRead 2026-11-10
