Cross-chain bridges functionality is part of the proposed XLS-38d extension (Not Enabled) to the XRP Ledger protocol. There isn't an official amendment yet. Until there is an amendment, the details documented on these pages are subject to change frequently. [Source]
Please use this form to report bugs, provide feedback, or share network issues you experience.
Setting up an XRP-XRP bridge on a new issuing chain is somewhat complex because there are no accounts on the issuing chain, even for witnesses. The issuing chain must use its genesis account as a door account to submit attestations and create transaction submission accounts for witnesses.
- The issuing chain is set up and active. Validators must be running and successfully closing ledgers.
- The witnesses' accounts on the locking chain are funded, so they can submit transactions.
- A door account for the bridge exists on the locking chain.
XChainCreateBridgetransaction from the door account on the locking chain.
MinAccountCreateAmountvalue should at least be equal to the account reserve on the issuing chain.
SignerListSettransaction from the door account on the locking chain, using the witnesses' signing keys as the signers.
Disable the master key on the locking chain's door account with an
XChainCreateBridgetransaction from the genesis account on the issuing chain.
XChainAccountCreateCommittransactions from the witnesses' locking chain accounts to create corresponding accounts on the issuing chain.
Create an attestation for each
XChainAccountCreateCommittransaction. These attestations must be signed by the genesis seed.
Note: This can also be done by a witness server that is set up to not submit transactions.
Submit the attestations with the
XChainAddAccountCreateAttestationtransaction on the issuing chain, using the genesis account.
SignerListSettransaction from the genesis account on the issuing chain, using the witnesses' signing keys as the signers.
Disable the master key on the issuing chain's genesis account with an