diff --git a/pages/learn/create-escrow.js b/pages/learn/create-escrow.js new file mode 100644 index 000000000..642e4c4de --- /dev/null +++ b/pages/learn/create-escrow.js @@ -0,0 +1,209 @@ +import { serverSideTranslations } from 'next-i18next/serverSideTranslations' +import SEO from '../../components/SEO' +import { getIsSsrMobile } from '../../utils/mobile' +import { network } from '../../utils' +import { nativeCurrency, explorerName, xahauNetwork } from '../../utils' +import Link from 'next/link' +import Image from 'next/image' +import Breadcrumbs from '../../components/Breadcrumbs' + +export async function getServerSideProps(context) { + const { locale } = context + return { + props: { + isSsrMobile: getIsSsrMobile(context), + ...(await serverSideTranslations(locale, ['common'])) + } + } +} + +export default function CreateEscrow() { + return ( + <> + +
+ +
+

How to Create Escrows on {explorerName}: A Complete Guide

+
+
+ Create an escrow +
How to create an escrow on {explorerName}
+
+
+

What is an Escrow?

+

+ An escrow is a secure payment mechanism on the {explorerName}. Instead of sending funds directly, the sender + places them into escrow with specific release conditions. The funds remain locked on the blockchain until: +

+
    +
  • + a certain date and time has passed (time-based escrow), or +
  • + +
  • + a cryptographic condition is fulfilled (condition-based escrow). +
  • +
+ +

+ If the conditions are not met and a cancelAfter time is set, the escrow can be canceled + after that time, and the funds are returned to the sender. If there is no cancelAfter time, + the escrow cannot be canceled and will remain locked forever unless the condition is fulfilled. This ensures + that funds are safe, transparent, and trustless—no third party is required to hold or + manage them.{' '} +

+ +

Why use Escrows?

+

+ Escrows are widely used in blockchain payments because they add an extra layer of security and automation. +

+

+ Common use cases include: +

+
    +
  • + Delayed or scheduled payments – for example, releasing funds to a freelancer or business + partner only after a project milestone is reached. +
  • +
  • + Conditional transactions – payments that only go through if a certain condition is met, + such as providing a password, secret, or proof of delivery. +
  • +
  • + Escrowed fundraising – where funds are locked until a campaign succeeds. +
  • + {xahauNetwork && ( + <> +
  • + Automated financial agreements – combining escrows with smart contracts (like Hooks + on Xahau) for complex logic. +
  • + + )} +
  • + Trustless trades – enabling secure transfers between parties without relying on + intermediaries. +
  • +
+

+ Because escrows are enforced by the blockchain itself, neither the sender nor the recipient can change the + rules once the escrow is created. This makes them a reliable tool for both business and personal + transactions. +

+

How to Create an Escrow on {explorerName}

+
+

+ + 👉 Go to + {' '} + Create An Escrow Page +

+
+

💡 You can also try creating an escrow on the Testnet first, so you don’t need to lock your real funds.

+
+
+ Create an escrow +
How to create an escrow on {explorerName}
+
+
+
    +

    + Step 1. Enter the Recipient Address +

    +

    Fill in the destination wallet address.

    +

    + 👉 Avoid sending funds to exchange or service addresses—if the address changes or the exchange shuts down, + the escrow may never reach the recipient. +

    +

    + Step 2. Enter the Amount +

    +

    Specify how much {nativeCurrency} you want to lock in escrow.

    + Step 3. Add a Memo (Optional) +

    You can include a memo. Keep in mind that it will be public on the blockchain.

    +

    + Step 4. Set the Escrow Conditions +

    +

    Choose one or both options:

    +
      +
    • + Unlock after — when the funds can be released. +
    • +
    • + Cancel after — after that time, the funds can be returned to you (the escrow can be + canceled). +
    • +
    + Step 5. Advanced Options (for Pro Subscribers) +

    + If you are a Bithomp Pro subscriber, you can access additional features like{' '} + Cryptographic condition (PREIMAGE-SHA-256). This means you generate a random secret + (preimage), hash it, and store the hash in the escrow. +

    +

    + ⚠️ Keep the secret (fullfillment) securely yourself — WE DO NOT store it. If you lose the + secret and there is no cancelAfter time set,{' '} + the escrowed funds will be locked forever and cannot be released or canceled. + The condition hash is public and is stored directly in the escrow on the blockchain. You will see it in + the escrow transaction details +

    + Step 6. Confirm and Create the Escrow +

    + Tick the box to agree with the terms and conditions. Click Create Escrow. Sign the transaction using your + wallet (Xaman, Ledger, MetaMask, Gem Wallet, etc.). Once signed, the escrow will be created and appear in + your transaction history. +

    +
+

Who can cancel an escrow

+

+ {' '} + After the cancelAfter time has passed, the escrow does not expire or return funds automatically —{' '} + any account may submit an EscrowCancel transaction to return the funds to the escrow + sender. On our website you can perform this from the Account Page by selecting + the escrow and signing a cancel transaction with your wallet.{' '} +

+
+
+ cancel an escrow +
How to cancel an escrow on {explorerName}
+
+
+

+ {' '} + We make it simple and secure to create escrows on {explorerName}. You can use it for delayed or conditional + payments, or safely test the feature on the testnet without risking your real funds. +

+
+
+
+
+ + ) +} diff --git a/pages/learn/index.js b/pages/learn/index.js index 4c1654aaf..0dfb4fd6d 100644 --- a/pages/learn/index.js +++ b/pages/learn/index.js @@ -37,6 +37,7 @@ const buildLearnContent = () => { items: [ { title: 'The Bithomp Explorer Advantages', slug: 'the-bithomp-explorer-advantages' }, { title: 'How to Mint NFTs on ' + explorerName, slug: 'nft-minting' }, + { title: 'How to Create an Escrow on XRPL', slug: 'create-escrow' }, { title: 'The Bithomp API', slug: 'the-bithomp-api' }, { title: 'XRP and XAH Taxes - get SCV exports for your report', slug: 'xrp-xah-taxes' }, { title: 'How to Issue a Token on ' + explorerName, slug: 'issue-a-token' }, diff --git a/pages/services/escrow.js b/pages/services/escrow.js index 4b5893e0f..8e60b3161 100644 --- a/pages/services/escrow.js +++ b/pages/services/escrow.js @@ -454,7 +454,7 @@ export default function CreateEscrow({ We do not save/keep the Fulfillment. Please copy and save it securely.

- If you lose it, you won't be able to relase the funds. + If you lose it, you won't be able to release the funds.
diff --git a/pages/sitemap.xml.js b/pages/sitemap.xml.js index b7083bff8..8ad10deeb 100644 --- a/pages/sitemap.xml.js +++ b/pages/sitemap.xml.js @@ -99,6 +99,7 @@ if (network === 'mainnet') { { loc: 'learn/xrp-xah-taxes', changefreq: 'monthly', priority: '0.9' }, { loc: 'learn/issue-a-token', changefreq: 'monthly', priority: '0.9' }, { loc: 'learn/guide-for-token-issuers', changefreq: 'monthly', priority: '0.9' }, + { loc: 'learn/create-escrow', changefreq: 'monthly', priority: '0.5' }, { loc: 'learn/image-services', changefreq: 'monthly', priority: '0.6' } ) } @@ -142,6 +143,7 @@ function generateSiteMap(posts) { 'learn/amm', 'learn/issue-a-token', 'learn/guide-for-token-issuers', + 'learn/create-escrow', 'learn/image-services' ] const oldPages = ['explorer/'] diff --git a/public/images/pages/learn/create-escrow/cover-xahau.jpg b/public/images/pages/learn/create-escrow/cover-xahau.jpg new file mode 100644 index 000000000..64c1840fa Binary files /dev/null and b/public/images/pages/learn/create-escrow/cover-xahau.jpg differ diff --git a/public/images/pages/learn/create-escrow/cover.jpg b/public/images/pages/learn/create-escrow/cover.jpg new file mode 100644 index 000000000..4486ea35e Binary files /dev/null and b/public/images/pages/learn/create-escrow/cover.jpg differ diff --git a/public/images/pages/learn/create-escrow/screen-cancel.png b/public/images/pages/learn/create-escrow/screen-cancel.png new file mode 100644 index 000000000..d7e3514e7 Binary files /dev/null and b/public/images/pages/learn/create-escrow/screen-cancel.png differ diff --git a/public/images/pages/learn/create-escrow/screen-xahau.png b/public/images/pages/learn/create-escrow/screen-xahau.png new file mode 100644 index 000000000..93d8f7524 Binary files /dev/null and b/public/images/pages/learn/create-escrow/screen-xahau.png differ diff --git a/public/images/pages/learn/create-escrow/screen.png b/public/images/pages/learn/create-escrow/screen.png new file mode 100644 index 000000000..e5ae7e99d Binary files /dev/null and b/public/images/pages/learn/create-escrow/screen.png differ