From ab146f40a87ef69fca555b764a7cd339c6f82b9c Mon Sep 17 00:00:00 2001 From: ddawson Date: Thu, 14 Sep 2023 15:23:45 -0700 Subject: [PATCH 1/3] Reorg tokens & stablecoin use case wip fix links fix 2 links trim and add topics Add checklist, rename sc subtopics Fix internal links Add DEX/AMM Add graphics reorg files reorg/rename Fix blurb Remove old JA files edits per review review changes rename output file name of index files to match the folder name Update output file and parent filenames add reusable links snippet fix broken links Update Ja file Move path.md to same location in i18n folder Revert naming for nft-collections page Rename to match files in En and Ja update links to reflect updated file name Rename nft-auctions under Ja folder and update links throughout Rename nftoken-authorized-minting and update links throughout Fix links Rename the nft-fixed-supply Ja file to match the reorg in English and update links Move nft-reserve-requirements file in Ja and update links Fix some more broken links Fix more broken links by renaming html files back Stablecoin reorg: fix various issues Remove nfts_by_issuer method (unreleased) page Remove redundant parent: attrs from config file Fix syntax highlighting of Authorizing Another Minter js Fix config/frontmatter errors --- .../payment-types/partial-payments.md | 6 +- .../autobridging.md | 0 .../automated-market-makers.md | 0 .../index.md} | 0 .../{ => decentralized-exchange}/offers.md | 0 .../{ => decentralized-exchange}/ticksize.md | 0 .../authorized-trust-lines.md | 6 +- .../clawing-back-tokens.md | 6 +- .../common-misconceptions-about-freezes.md | 0 .../tokens/{ => fungible-tokens}/demurrage.md | 2 +- .../tokens/{ => fungible-tokens}/freezes.md | 6 +- .../index.md} | 0 .../tokens/{ => fungible-tokens}/paths.md | 6 +- .../tokens/{ => fungible-tokens}/rippling.md | 2 +- .../concepts/tokens/{tokens.md => index.md} | 0 .../authorizing-another-minter.md} | 6 +- .../batch-minting.md} | 0 .../collections.md} | 0 .../guaranteeing-a-fixed-supply.md} | 0 .../{non-fungible-tokens.md => nfts/index.md} | 4 +- .../payload-storage.md} | 0 .../reserve-requirements.md} | 0 .../running-an-nft-auction.md} | 0 .../trading.md} | 4 +- .../@i18n/ja/concepts/tokens/transfer-fees.md | 4 +- .../references/protocol/data-types/nftoken.md | 2 +- .../offline-account-setup.md | 4 +- .../tokenization/authorized-minter.md | 6 +- .../tokenization/nft-mkt-overview.md | 16 +- .../tokenization/nftoken-marketplace.md | 6 +- .../tokenization/stablecoin-issuer.md | 2 +- .../payment-types/bouncing-payments.md | 18 + .../payment-types/partial-payments.md | 2 +- .../robustly-monitoring-for-payments.md | 26 + .../sending-payments-to-customers.md | 24 + .../autobridging.md | 0 .../automated-market-makers.md | 0 .../index.md} | 2 +- .../{ => decentralized-exchange}/offers.md | 0 .../{ => decentralized-exchange}/ticksize.md | 0 .../authorized-trust-lines.md | 6 +- .../clawing-back-tokens.md | 10 +- .../common-misconceptions-about-freezes.md | 0 .../tokens/{ => fungible-tokens}/demurrage.md | 2 +- .../tokens/{ => fungible-tokens}/freezes.md | 6 +- .../index.md} | 19 +- .../tokens/{ => fungible-tokens}/paths.md | 6 +- .../tokens/{ => fungible-tokens}/rippling.md | 2 +- .../stablecoins/compliance-guidelines.md | 124 ++++ .../stablecoins/configuration.md | 91 +++ .../fungible-tokens/stablecoins/index.md | 37 ++ .../stablecoins/precautions.md | 23 + .../fungible-tokens/stablecoins/settings.md | 98 ++++ .../stablecoins/technical-details.md | 105 ++++ content/concepts/tokens/index.md | 53 ++ .../concepts/tokens/nftoken-batch-minting.md | 39 -- .../authorizing-another-minter.md} | 10 +- content/concepts/tokens/nfts/batch-minting.md | 39 ++ .../collections.md} | 0 .../guaranteeing-a-fixed-supply.md} | 0 content/concepts/tokens/nfts/index.md | 46 ++ .../concepts/tokens/{ => nfts}/nft-apis.md | 22 +- .../payload-storage.md} | 0 .../reserve-requirements.md} | 2 +- .../running-an-nft-auction.md} | 4 +- content/concepts/tokens/nfts/trading.md | 76 +++ .../tokens/non-fungible-token-transfers.md | 76 --- .../concepts/tokens/non-fungible-tokens.md | 70 --- content/concepts/tokens/tokens.md | 83 --- .../references/protocol/data-types/nftoken.md | 4 +- .../protocol/transactions/types/payment.md | 2 +- .../offline-account-setup.md | 4 +- .../tutorials/use-tokens/enable-no-freeze.md | 6 +- .../use-tokens/enact-global-freeze.md | 6 +- .../use-tokens/freeze-a-trust-line.md | 6 +- .../use-cases/defi/list-xrp-as-an-exchange.md | 10 +- .../tokenization/authorized-minter.md | 10 +- .../use-cases/tokenization/digital-artist.md | 6 +- .../tokenization/nft-mkt-overview.md | 20 +- .../tokenization/nftoken-marketplace.md | 8 +- .../tokenization/stablecoin-issuer.md | 532 ++++-------------- dactyl-config.yml | 247 ++++---- img/uc-stablecoin-clawback.png | Bin 0 -> 74533 bytes img/uc-stablecoin-distribution-flow.png | Bin 0 -> 29044 bytes img/uc-stablecoin-flow.png | Bin 0 -> 232970 bytes img/uc-stablecoin-global-freeze.png | Bin 0 -> 83973 bytes img/uc-stablecoin-sandbox.png | Bin 0 -> 103783 bytes img/uc-stablecoin-stable-coin.png | Bin 0 -> 35165 bytes 88 files changed, 1133 insertions(+), 937 deletions(-) rename content/@i18n/ja/concepts/tokens/{ => decentralized-exchange}/autobridging.md (100%) rename content/@i18n/ja/concepts/tokens/{ => decentralized-exchange}/automated-market-makers.md (100%) rename content/@i18n/ja/concepts/tokens/{decentralized-exchange.md => decentralized-exchange/index.md} (100%) rename content/@i18n/ja/concepts/tokens/{ => decentralized-exchange}/offers.md (100%) rename content/@i18n/ja/concepts/tokens/{ => decentralized-exchange}/ticksize.md (100%) rename content/@i18n/ja/concepts/tokens/{ => fungible-tokens}/authorized-trust-lines.md (98%) rename content/@i18n/ja/concepts/tokens/{ => fungible-tokens}/clawing-back-tokens.md (95%) rename content/@i18n/ja/concepts/tokens/{ => fungible-tokens}/common-misconceptions-about-freezes.md (100%) rename content/@i18n/ja/concepts/tokens/{ => fungible-tokens}/demurrage.md (99%) rename content/@i18n/ja/concepts/tokens/{ => fungible-tokens}/freezes.md (98%) rename content/@i18n/ja/concepts/tokens/{trust-lines-and-issuing.md => fungible-tokens/index.md} (100%) rename content/@i18n/ja/concepts/tokens/{ => fungible-tokens}/paths.md (99%) rename content/@i18n/ja/concepts/tokens/{ => fungible-tokens}/rippling.md (99%) rename content/@i18n/ja/concepts/tokens/{tokens.md => index.md} (100%) rename content/@i18n/ja/concepts/tokens/{nftoken-authorized-minting.md => nfts/authorizing-another-minter.md} (99%) rename content/@i18n/ja/concepts/tokens/{nftoken-batch-minting.md => nfts/batch-minting.md} (100%) rename content/@i18n/ja/concepts/tokens/{nft-collections.md => nfts/collections.md} (100%) rename content/@i18n/ja/concepts/tokens/{nft-fixed-supply.md => nfts/guaranteeing-a-fixed-supply.md} (100%) rename content/@i18n/ja/concepts/tokens/{non-fungible-tokens.md => nfts/index.md} (98%) rename content/@i18n/ja/concepts/tokens/{nft-storage.md => nfts/payload-storage.md} (100%) rename content/@i18n/ja/concepts/tokens/{nft-reserve-requirements.md => nfts/reserve-requirements.md} (100%) rename content/@i18n/ja/concepts/tokens/{nftoken-auctions.md => nfts/running-an-nft-auction.md} (100%) rename content/@i18n/ja/concepts/tokens/{non-fungible-token-transfers.md => nfts/trading.md} (98%) create mode 100644 content/concepts/payment-types/bouncing-payments.md create mode 100644 content/concepts/payment-types/robustly-monitoring-for-payments.md create mode 100644 content/concepts/payment-types/sending-payments-to-customers.md rename content/concepts/tokens/{ => decentralized-exchange}/autobridging.md (100%) rename content/concepts/tokens/{ => decentralized-exchange}/automated-market-makers.md (100%) rename content/concepts/tokens/{decentralized-exchange.md => decentralized-exchange/index.md} (99%) rename content/concepts/tokens/{ => decentralized-exchange}/offers.md (100%) rename content/concepts/tokens/{ => decentralized-exchange}/ticksize.md (100%) rename content/concepts/tokens/{ => fungible-tokens}/authorized-trust-lines.md (98%) rename content/concepts/tokens/{ => fungible-tokens}/clawing-back-tokens.md (90%) rename content/concepts/tokens/{ => fungible-tokens}/common-misconceptions-about-freezes.md (100%) rename content/concepts/tokens/{ => fungible-tokens}/demurrage.md (99%) rename content/concepts/tokens/{ => fungible-tokens}/freezes.md (98%) rename content/concepts/tokens/{trust-lines-and-issuing.md => fungible-tokens/index.md} (74%) rename content/concepts/tokens/{ => fungible-tokens}/paths.md (98%) rename content/concepts/tokens/{ => fungible-tokens}/rippling.md (99%) create mode 100644 content/concepts/tokens/fungible-tokens/stablecoins/compliance-guidelines.md create mode 100644 content/concepts/tokens/fungible-tokens/stablecoins/configuration.md create mode 100644 content/concepts/tokens/fungible-tokens/stablecoins/index.md create mode 100644 content/concepts/tokens/fungible-tokens/stablecoins/precautions.md create mode 100644 content/concepts/tokens/fungible-tokens/stablecoins/settings.md create mode 100644 content/concepts/tokens/fungible-tokens/stablecoins/technical-details.md create mode 100644 content/concepts/tokens/index.md delete mode 100644 content/concepts/tokens/nftoken-batch-minting.md rename content/concepts/tokens/{nftoken-authorized-minting.md => nfts/authorizing-another-minter.md} (95%) create mode 100644 content/concepts/tokens/nfts/batch-minting.md rename content/concepts/tokens/{nft-collections.md => nfts/collections.md} (100%) rename content/concepts/tokens/{nft-fixed-supply.md => nfts/guaranteeing-a-fixed-supply.md} (100%) create mode 100644 content/concepts/tokens/nfts/index.md rename content/concepts/tokens/{ => nfts}/nft-apis.md (67%) rename content/concepts/tokens/{nft-storage.md => nfts/payload-storage.md} (100%) rename content/concepts/tokens/{nft-reserve-requirements.md => nfts/reserve-requirements.md} (96%) rename content/concepts/tokens/{nftoken-auctions.md => nfts/running-an-nft-auction.md} (98%) create mode 100644 content/concepts/tokens/nfts/trading.md delete mode 100644 content/concepts/tokens/non-fungible-token-transfers.md delete mode 100644 content/concepts/tokens/non-fungible-tokens.md delete mode 100644 content/concepts/tokens/tokens.md create mode 100644 img/uc-stablecoin-clawback.png create mode 100644 img/uc-stablecoin-distribution-flow.png create mode 100644 img/uc-stablecoin-flow.png create mode 100644 img/uc-stablecoin-global-freeze.png create mode 100644 img/uc-stablecoin-sandbox.png create mode 100644 img/uc-stablecoin-stable-coin.png diff --git a/content/@i18n/ja/concepts/payment-types/partial-payments.md b/content/@i18n/ja/concepts/payment-types/partial-payments.md index 770fa4f45a..4be64503b6 100644 --- a/content/@i18n/ja/concepts/payment-types/partial-payments.md +++ b/content/@i18n/ja/concepts/payment-types/partial-payments.md @@ -8,7 +8,7 @@ labels: --- # Partial Payment -デフォルトのケースでは、XRP Ledgerの[Paymentトランザクション][]の`Amount`フィールドに、為替レートと[送金手数料](transfer-fees.html)を差し引いた実際の送金額が指定されます。「Partial Payment」フラグ([**tfPartialPayment**](payment.html#paymentのフラグ))を使うと、送金額を増額する代わりに受取金額を減額して、支払を正常に実行できます。Partial Paymentは、追加コストなしで[支払を返金](stablecoin-issuer.html#不明な入金の返金)したい場合に便利です。 +デフォルトのケースでは、XRP Ledgerの[Paymentトランザクション][]の`Amount`フィールドに、為替レートと[送金手数料](transfer-fees.html)を差し引いた実際の送金額が指定されます。「Partial Payment」フラグ([**tfPartialPayment**](payment.html#paymentのフラグ))を使うと、送金額を増額する代わりに受取金額を減額して、支払を正常に実行できます。Partial Paymentは、追加コストなしで[支払を返金](bouncing-payments.html)したい場合に便利です。 [トランザクションコスト](transaction-cost.html)に使用されるXRPの額は、トランザクションタイプに関わらず常に送金元のアカウントから差し引かれます。 @@ -113,6 +113,6 @@ Partial Payment以外の場合、トランザクションのメタデータの`d - 「顧客確認」のガイドラインに従い、顧客の身元情報を厳密に検証します。不正使用者を事前に認識して阻止したり、システムを悪用した不正使用者に対して法的措置を講じたりすることができます。 -{% include '_snippets/rippled-api-links.md' %} -{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} {% include '_snippets/rippled_versions.md' %} diff --git a/content/@i18n/ja/concepts/tokens/autobridging.md b/content/@i18n/ja/concepts/tokens/decentralized-exchange/autobridging.md similarity index 100% rename from content/@i18n/ja/concepts/tokens/autobridging.md rename to content/@i18n/ja/concepts/tokens/decentralized-exchange/autobridging.md diff --git a/content/@i18n/ja/concepts/tokens/automated-market-makers.md b/content/@i18n/ja/concepts/tokens/decentralized-exchange/automated-market-makers.md similarity index 100% rename from content/@i18n/ja/concepts/tokens/automated-market-makers.md rename to content/@i18n/ja/concepts/tokens/decentralized-exchange/automated-market-makers.md diff --git a/content/@i18n/ja/concepts/tokens/decentralized-exchange.md b/content/@i18n/ja/concepts/tokens/decentralized-exchange/index.md similarity index 100% rename from content/@i18n/ja/concepts/tokens/decentralized-exchange.md rename to content/@i18n/ja/concepts/tokens/decentralized-exchange/index.md diff --git a/content/@i18n/ja/concepts/tokens/offers.md b/content/@i18n/ja/concepts/tokens/decentralized-exchange/offers.md similarity index 100% rename from content/@i18n/ja/concepts/tokens/offers.md rename to content/@i18n/ja/concepts/tokens/decentralized-exchange/offers.md diff --git a/content/@i18n/ja/concepts/tokens/ticksize.md b/content/@i18n/ja/concepts/tokens/decentralized-exchange/ticksize.md similarity index 100% rename from content/@i18n/ja/concepts/tokens/ticksize.md rename to content/@i18n/ja/concepts/tokens/decentralized-exchange/ticksize.md diff --git a/content/@i18n/ja/concepts/tokens/authorized-trust-lines.md b/content/@i18n/ja/concepts/tokens/fungible-tokens/authorized-trust-lines.md similarity index 98% rename from content/@i18n/ja/concepts/tokens/authorized-trust-lines.md rename to content/@i18n/ja/concepts/tokens/fungible-tokens/authorized-trust-lines.md index 9e1a8ae559..d90592a221 100644 --- a/content/@i18n/ja/concepts/tokens/authorized-trust-lines.md +++ b/content/@i18n/ja/concepts/tokens/fungible-tokens/authorized-trust-lines.md @@ -1,6 +1,6 @@ --- html: authorized-trust-lines.html -parent: tokens.html +parent: trust-lines-and-issuing.html blurb: 認可トラストラインとは、トークンを保有できる人を制限するための設定です。 labels: - トークン @@ -125,6 +125,6 @@ POST http://localhost:8088/ - [RippleState (トラストライン) フラグ](ripplestate.html#ripplestateのフラグ) -{% include '_snippets/rippled-api-links.md' %} -{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} {% include '_snippets/rippled_versions.md' %} diff --git a/content/@i18n/ja/concepts/tokens/clawing-back-tokens.md b/content/@i18n/ja/concepts/tokens/fungible-tokens/clawing-back-tokens.md similarity index 95% rename from content/@i18n/ja/concepts/tokens/clawing-back-tokens.md rename to content/@i18n/ja/concepts/tokens/fungible-tokens/clawing-back-tokens.md index 1a7754746d..0a52480ec3 100644 --- a/content/@i18n/ja/concepts/tokens/clawing-back-tokens.md +++ b/content/@i18n/ja/concepts/tokens/fungible-tokens/clawing-back-tokens.md @@ -1,6 +1,6 @@ --- html: clawing-back-tokens.html -parent: tokens.html +parent: trust-lines-and-issuing.html blurb: 発行者は、トークンを発行する前にClawback機能を有効にすると、規制遵守の目的でトークンを取り戻すことができます。 labels: - トークン @@ -37,6 +37,6 @@ Clawback機能はデフォルトで無効になっています。使用するに このトランザクションが成功した場合、rp6abvbTbjoce8ZDJkT6snvxTZSYMBCC9Sが発行し、rsA2LpzuawewSBQXkiju3YQTMzW13pAAdWが保有する最大314.159FOOを回収することになります。 -{% include '_snippets/rippled-api-links.md' %} -{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} {% include '_snippets/rippled_versions.md' %} diff --git a/content/@i18n/ja/concepts/tokens/common-misconceptions-about-freezes.md b/content/@i18n/ja/concepts/tokens/fungible-tokens/common-misconceptions-about-freezes.md similarity index 100% rename from content/@i18n/ja/concepts/tokens/common-misconceptions-about-freezes.md rename to content/@i18n/ja/concepts/tokens/fungible-tokens/common-misconceptions-about-freezes.md diff --git a/content/@i18n/ja/concepts/tokens/demurrage.md b/content/@i18n/ja/concepts/tokens/fungible-tokens/demurrage.md similarity index 99% rename from content/@i18n/ja/concepts/tokens/demurrage.md rename to content/@i18n/ja/concepts/tokens/fungible-tokens/demurrage.md index 3e1155c3ae..9390e42d86 100644 --- a/content/@i18n/ja/concepts/tokens/demurrage.md +++ b/content/@i18n/ja/concepts/tokens/fungible-tokens/demurrage.md @@ -1,6 +1,6 @@ --- html: demurrage.html -parent: tokens.html +parent: trust-lines-and-issuing.html blurb: (廃止) 一部の古いXRP Ledgerツールは、組み込み金利やマイナス金利を持つ通貨コードをサポートしていました。. status: removed --- diff --git a/content/@i18n/ja/concepts/tokens/freezes.md b/content/@i18n/ja/concepts/tokens/fungible-tokens/freezes.md similarity index 98% rename from content/@i18n/ja/concepts/tokens/freezes.md rename to content/@i18n/ja/concepts/tokens/fungible-tokens/freezes.md index 4a5a3cc5f6..6a468da6d9 100644 --- a/content/@i18n/ja/concepts/tokens/freezes.md +++ b/content/@i18n/ja/concepts/tokens/fungible-tokens/freezes.md @@ -1,6 +1,6 @@ --- html: freezes.html -parent: tokens.html +parent: trust-lines-and-issuing.html blurb: 発行者はコンプライアンス目的でトークンの取引を停止できます。 labels: - トークン @@ -98,6 +98,6 @@ No Freeze設定は、アドレスのマスターキーのシークレットキ - [RippleState(trust line)フラグ](ripplestate.html#ripplestateのフラグ) -{% include '_snippets/rippled-api-links.md' %} -{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} {% include '_snippets/rippled_versions.md' %} diff --git a/content/@i18n/ja/concepts/tokens/trust-lines-and-issuing.md b/content/@i18n/ja/concepts/tokens/fungible-tokens/index.md similarity index 100% rename from content/@i18n/ja/concepts/tokens/trust-lines-and-issuing.md rename to content/@i18n/ja/concepts/tokens/fungible-tokens/index.md diff --git a/content/@i18n/ja/concepts/tokens/paths.md b/content/@i18n/ja/concepts/tokens/fungible-tokens/paths.md similarity index 99% rename from content/@i18n/ja/concepts/tokens/paths.md rename to content/@i18n/ja/concepts/tokens/fungible-tokens/paths.md index 46f01a2c92..36e90b6b19 100644 --- a/content/@i18n/ja/concepts/tokens/paths.md +++ b/content/@i18n/ja/concepts/tokens/fungible-tokens/paths.md @@ -1,6 +1,6 @@ --- html: paths.html -parent: tokens.html +parent: trust-lines-and-issuing.html blurb: トークンによる支払いは、接続されているユーザーのパスとオーダーブックを通す必要があります。 labels: - 支払い @@ -113,6 +113,6 @@ XRPは任意のアドレスに直接送金できるため、[XRP間のトラン - [ripple_path_findメソッド][] -{% include '_snippets/rippled-api-links.md' %} -{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} {% include '_snippets/rippled_versions.md' %} diff --git a/content/@i18n/ja/concepts/tokens/rippling.md b/content/@i18n/ja/concepts/tokens/fungible-tokens/rippling.md similarity index 99% rename from content/@i18n/ja/concepts/tokens/rippling.md rename to content/@i18n/ja/concepts/tokens/fungible-tokens/rippling.md index b61b265dad..f8761aac5e 100644 --- a/content/@i18n/ja/concepts/tokens/rippling.md +++ b/content/@i18n/ja/concepts/tokens/fungible-tokens/rippling.md @@ -1,6 +1,6 @@ --- html: rippling.html -parent: tokens.html +parent: trust-lines-and-issuing.html blurb: Ripplingは、複数当事者間でのトークン残高の自動ネット決済です。 labels: - トークン diff --git a/content/@i18n/ja/concepts/tokens/tokens.md b/content/@i18n/ja/concepts/tokens/index.md similarity index 100% rename from content/@i18n/ja/concepts/tokens/tokens.md rename to content/@i18n/ja/concepts/tokens/index.md diff --git a/content/@i18n/ja/concepts/tokens/nftoken-authorized-minting.md b/content/@i18n/ja/concepts/tokens/nfts/authorizing-another-minter.md similarity index 99% rename from content/@i18n/ja/concepts/tokens/nftoken-authorized-minting.md rename to content/@i18n/ja/concepts/tokens/nfts/authorizing-another-minter.md index da6bd2f6d6..4ffb7bbecf 100644 --- a/content/@i18n/ja/concepts/tokens/nftoken-authorized-minting.md +++ b/content/@i18n/ja/concepts/tokens/nfts/authorizing-another-minter.md @@ -14,7 +14,7 @@ labels: 認可Minterを`AccountSet`トランザクションで設定します。 -``` json +```js tx_json = { "TransactionType": "AccountSet", "Account": "rrE5EgHN4DfjXhR9USecudHm7UyhTYq6m", @@ -31,7 +31,7 @@ tx_json = { 認可Minterを削除するには、`AccountSet`トランザクションを使用して、`asfAuthorizedNFTokenMinter`フラグをクリアしてください。 -``` json +```js tx_json = { "TransactionType": "AccountSet", "Account": "rrE5EgHN4DfjXhR9USecudHm7UyhTYq6m", @@ -43,7 +43,7 @@ tx_json = { 標準的な `NFTokenMint` トランザクションを使用して、別のアカウントのNFTをMintすることができます。違いは、`Issuer`フィールド、つまりNFTをMintするアカウントのIDを含める必要があることです。 -```json +```js const transactionBlob = { "TransactionType": "NFTokenMint", "Account": "r3riWB2TDWRmwmT7FRKdRHjqm6efYu4s9C", diff --git a/content/@i18n/ja/concepts/tokens/nftoken-batch-minting.md b/content/@i18n/ja/concepts/tokens/nfts/batch-minting.md similarity index 100% rename from content/@i18n/ja/concepts/tokens/nftoken-batch-minting.md rename to content/@i18n/ja/concepts/tokens/nfts/batch-minting.md diff --git a/content/@i18n/ja/concepts/tokens/nft-collections.md b/content/@i18n/ja/concepts/tokens/nfts/collections.md similarity index 100% rename from content/@i18n/ja/concepts/tokens/nft-collections.md rename to content/@i18n/ja/concepts/tokens/nfts/collections.md diff --git a/content/@i18n/ja/concepts/tokens/nft-fixed-supply.md b/content/@i18n/ja/concepts/tokens/nfts/guaranteeing-a-fixed-supply.md similarity index 100% rename from content/@i18n/ja/concepts/tokens/nft-fixed-supply.md rename to content/@i18n/ja/concepts/tokens/nfts/guaranteeing-a-fixed-supply.md diff --git a/content/@i18n/ja/concepts/tokens/non-fungible-tokens.md b/content/@i18n/ja/concepts/tokens/nfts/index.md similarity index 98% rename from content/@i18n/ja/concepts/tokens/non-fungible-tokens.md rename to content/@i18n/ja/concepts/tokens/nfts/index.md index e2a4bfce85..dde13d6a49 100644 --- a/content/@i18n/ja/concepts/tokens/non-fungible-tokens.md +++ b/content/@i18n/ja/concepts/tokens/nfts/index.md @@ -77,6 +77,6 @@ XRP Ledgerでは、容量を節約するために、一つのアカウントで - [nft_info メソッド][] (Clioサーバのみ) -{% include '_snippets/rippled-api-links.md' %} -{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} {% include '_snippets/rippled_versions.md' %} diff --git a/content/@i18n/ja/concepts/tokens/nft-storage.md b/content/@i18n/ja/concepts/tokens/nfts/payload-storage.md similarity index 100% rename from content/@i18n/ja/concepts/tokens/nft-storage.md rename to content/@i18n/ja/concepts/tokens/nfts/payload-storage.md diff --git a/content/@i18n/ja/concepts/tokens/nft-reserve-requirements.md b/content/@i18n/ja/concepts/tokens/nfts/reserve-requirements.md similarity index 100% rename from content/@i18n/ja/concepts/tokens/nft-reserve-requirements.md rename to content/@i18n/ja/concepts/tokens/nfts/reserve-requirements.md diff --git a/content/@i18n/ja/concepts/tokens/nftoken-auctions.md b/content/@i18n/ja/concepts/tokens/nfts/running-an-nft-auction.md similarity index 100% rename from content/@i18n/ja/concepts/tokens/nftoken-auctions.md rename to content/@i18n/ja/concepts/tokens/nfts/running-an-nft-auction.md diff --git a/content/@i18n/ja/concepts/tokens/non-fungible-token-transfers.md b/content/@i18n/ja/concepts/tokens/nfts/trading.md similarity index 98% rename from content/@i18n/ja/concepts/tokens/non-fungible-token-transfers.md rename to content/@i18n/ja/concepts/tokens/nfts/trading.md index 64672e4e24..999997eb45 100644 --- a/content/@i18n/ja/concepts/tokens/non-fungible-token-transfers.md +++ b/content/@i18n/ja/concepts/tokens/nfts/trading.md @@ -79,6 +79,6 @@ _([NonFungibleTokensV1_1 amendment][]により追加されました)_ -{% include '_snippets/rippled-api-links.md' %} -{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} {% include '_snippets/rippled_versions.md' %} diff --git a/content/@i18n/ja/concepts/tokens/transfer-fees.md b/content/@i18n/ja/concepts/tokens/transfer-fees.md index 826ff141dc..5fce5aa144 100644 --- a/content/@i18n/ja/concepts/tokens/transfer-fees.md +++ b/content/@i18n/ja/concepts/tokens/transfer-fees.md @@ -80,6 +80,6 @@ XRPは発行者が存在しないため、送金手数料がかかることは -{% include '_snippets/rippled-api-links.md' %} -{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} {% include '_snippets/rippled_versions.md' %} diff --git a/content/@i18n/ja/references/protocol/data-types/nftoken.md b/content/@i18n/ja/references/protocol/data-types/nftoken.md index eea11a90bf..949846d5d6 100644 --- a/content/@i18n/ja/references/protocol/data-types/nftoken.md +++ b/content/@i18n/ja/references/protocol/data-types/nftoken.md @@ -53,7 +53,7 @@ E) 32ビットの(自動生成される)単調増加するのシーケンス |:------------------|:-----------|:--------------------------------------------| | `lsfBurnable` | `0x0001` | 設定されている場合、発行者(または発行者が許可したエンティティ)が`NFToken`を破棄できることを示します。オブジェクトの所有者は常に破棄することができます。 | | `lsfOnlyXRP` | `0x0002` | 設定されている場合、`NFToken`はXRPに対してのみオファーまたは売却できることを示します。 | -| `lsfTrustLine` | `0x0004` | **廃止予定** 設定されている場合、送金手数料を保持するための[トラストライン](trust-lines-and-issuing.html)を自動的に作成します。設定されていない場合、発行者がそのトークンのトラストラインを持っていない場合、この`NFToken`をそのトークンで売買することは失敗します。[fixRemoveNFTokenAutoTrustLine amendment][]により、このフラグは利用できなくなります。| +| `lsfTrustLine` | `0x0004` | **廃止** 設定されている場合、送金手数料を保持するための[トラストライン](trust-lines-and-issuing.html)を自動的に作成します。設定されていない場合、発行者がそのトークンのトラストラインを持っていない場合、この`NFToken`をそのトークンで売買することは失敗します。[fixRemoveNFTokenAutoTrustLine amendment][]により、このフラグは利用できなくなります。| | `lsfTransferable` | `0x0008` | 設定されている場合、この`NFToken`は所有者から別の所有者に転送することができます。設定されていない場合、所有者は発行者との間でのみ譲渡が可能です。 | | `lsfReservedFlag` | `0x8000` | 将来の使用に備えて確保されています。このフラグを設定しようとすると失敗します。 | diff --git a/content/@i18n/ja/tutorials/manage-account-settings/offline-account-setup.md b/content/@i18n/ja/tutorials/manage-account-settings/offline-account-setup.md index 08b212cac1..199f9eac36 100644 --- a/content/@i18n/ja/tutorials/manage-account-settings/offline-account-setup.md +++ b/content/@i18n/ja/tutorials/manage-account-settings/offline-account-setup.md @@ -343,6 +343,6 @@ Loading: "/etc/opt/ripple/rippled.cfg" -{% include '_snippets/rippled-api-links.md' %} -{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} {% include '_snippets/rippled_versions.md' %} diff --git a/content/@i18n/ja/use-cases/tokenization/authorized-minter.md b/content/@i18n/ja/use-cases/tokenization/authorized-minter.md index d4ec11a7b6..ea75a36417 100644 --- a/content/@i18n/ja/use-cases/tokenization/authorized-minter.md +++ b/content/@i18n/ja/use-cases/tokenization/authorized-minter.md @@ -74,12 +74,12 @@ NFTを出品する際、オブジェクトのメタデータを使って分類 関連項目: -- [Clioのセットアップ](install-clio-on-ubuntu.html) +- [Clioのセットアップ](install-clio-on-ubuntu.html) - [XRPL Data API](https://api.xrpldata.com/docs/static/index.html#/) - [Bithomp](https://docs.bithomp.com/#nft-xls-20) - ## NFTのキャッシュ - diff --git a/content/@i18n/ja/use-cases/tokenization/nftoken-marketplace.md b/content/@i18n/ja/use-cases/tokenization/nftoken-marketplace.md index a13915ce7b..c652e9a475 100644 --- a/content/@i18n/ja/use-cases/tokenization/nftoken-marketplace.md +++ b/content/@i18n/ja/use-cases/tokenization/nftoken-marketplace.md @@ -9,7 +9,7 @@ labels: _NFTokenマーケットプレイスでは、XRPLを利用して、厳選されたNFTokenを消費者に譲渡するためのWeb上のサービスを提供し、ブランド構築と売上に応じた仲介手数料を得ることができるというメリットを得ることができるようになります。_ ---- +--- NFTokenマーケットプレイスは、NFTokenクリエイターとコレクターの仲介役となります。マーケットプレイスの運営は、NFTokenのクリエイターを探し出し、販売するアイテムを集めます。購入者は、あなたのサイトを訪れ、選択されたアイテムを確認し、オファーを提示します。あなたは、クリエイターが設定した最低価格と購入者から提示された最適な価格を照合し、トランザクションを完了させ、仲介手数料を受け取ります。 @@ -74,11 +74,11 @@ NFTを出品する際、オブジェクトのメタデータを使って分類 関連項目: -- [Clioのセットアップ](install-clio-on-ubuntu.html) +- [Clioのセットアップ](install-clio-on-ubuntu.html) - [XRPL Data API](https://api.xrpldata.com/docs/static/index.html#/) - [Bithomp](https://docs.bithomp.com/#nft-xls-20) - diff --git a/content/concepts/payment-types/bouncing-payments.md b/content/concepts/payment-types/bouncing-payments.md new file mode 100644 index 0000000000..88fb319158 --- /dev/null +++ b/content/concepts/payment-types/bouncing-payments.md @@ -0,0 +1,18 @@ +--- +html: bouncing-payments.html +parent: payment-types.html +blurb: When the purpose of a payment is unclear, return it to the sender. +labels: + - Tokens +--- +# Bouncing Payments + +When one of your addresses receives a payment whose purpose is unclear, we recommend that you try to return the money to its sender. While this is more work than pocketing the money, it demonstrates good faith towards customers. You can have an operator bounce payments manually, or create a system to do so automatically. + +The first requirement to bouncing payments is [robustly monitoring for incoming payments](robustly-monitoring-for-payments.html). You do not want to accidentally refund a customer for more than they sent you! (This is particularly important if your bounce process is automated.) Malicious users can take advantage of a naive integration by sending [partial payments](partial-payments.html#partial-payments-exploit). + +Second, you should send bounced payments as Partial Payments. Since third parties can manipulate the cost of pathways between addresses, Partial Payments allow you to divest yourself of the full amount without being concerned about exchange rates within the XRP Ledger. You should publicize your bounced payments policy as part of your terms of use. Send the bounced payment from either an operational address or a standby address. + +To send a Partial Payment, enable the [`tfPartialPayment` flag](payment.html#payment-flags) on the transaction. Set the `Amount` field to the amount you received and omit the `SendMax` field. You should use the `SourceTag` value from the incoming payment as the `DestinationTag` value for the return payment. + +To prevent two systems from bouncing payments back and forth indefinitely, you can set a new Source Tag for the outgoing return payment. If you receive an unexpected payment whose Destination Tag matches the Source Tag of a return you sent, then do not bounce it back again. diff --git a/content/concepts/payment-types/partial-payments.md b/content/concepts/payment-types/partial-payments.md index 0e58064d4a..4569224e2c 100644 --- a/content/concepts/payment-types/partial-payments.md +++ b/content/concepts/payment-types/partial-payments.md @@ -10,7 +10,7 @@ labels: The sender of any [Payment transaction][] can enable the ["Partial Payment" flag](payment.html#payment-flags) and send a payment which delivers less than the `Amount` field indicates. When processing any Payment, use the `delivered_amount` metadata field, not the `Amount` field. The `delivered_amount` is the amount a payment actually delivered. -If a Payment does not enable the Partial Payment flag, the `Amount` field of a [Payment transaction][] in the XRP Ledger specifies the amount to deliver after charging for exchange rates and [transfer fees](transfer-fees.html). The Partial Payment flag ([`tfPartialPayment`](payment.html#payment-flags)) allows a payment to succeed by reducing the amount received instead of increasing the amount sent. Partial payments are useful for [returning payments](stablecoin-issuer.html#bouncing-payments) without incurring additional costs to oneself. +If a Payment does not enable the Partial Payment flag, the `Amount` field of a [Payment transaction][] in the XRP Ledger specifies the amount to deliver after charging for exchange rates and [transfer fees](transfer-fees.html). The Partial Payment flag ([`tfPartialPayment`](payment.html#payment-flags)) allows a payment to succeed by reducing the amount received instead of increasing the amount sent. Partial payments are useful for [returning payments](bouncing-payments.html) without incurring additional costs to oneself. The amount of XRP used for the [transaction cost](transaction-cost.html) is always deducted from the sender’s account, regardless of the type of transaction. This transaction cost, or fee, is not included in the `Amount`. diff --git a/content/concepts/payment-types/robustly-monitoring-for-payments.md b/content/concepts/payment-types/robustly-monitoring-for-payments.md new file mode 100644 index 0000000000..d1221d8913 --- /dev/null +++ b/content/concepts/payment-types/robustly-monitoring-for-payments.md @@ -0,0 +1,26 @@ +--- +html: robustly-monitoring-for-payments.html +parent: payment-types.html +blurb: Recommendations for monitoring incoming payments for a variety of possible irregularities. +labels: + - Tokens +--- +# Robustly Monitoring for Payments + +To robustly check for incoming payments, issuers should do the following: + +* Keep a record of the most-recently-processed transaction and ledger. That way, if you temporarily lose connectivity, you know how far to go back. +* Check the result code of every incoming payment. Some payments go into the ledger to charge an anti-spam fee, even though they failed. Only transactions with the result code `tesSUCCESS` can change non-XRP balances. Only transactions from a validated ledger are final. +* Look out for [Partial Payments](partial-payments.html). Payments with the partial payment flag enabled can be considered "successful" if any non-zero amount is delivered, even minuscule amounts. + * Check the transaction for a [`delivered_amount` field](partial-payments.html#the-delivered_amount-field). If present, that field indicates how much money _actually_ got delivered to the `Destination` address. + * In xrpl.js, you can use the [`xrpl.getBalanceChanges()` method](https://js.xrpl.org/modules.html#getBalanceChanges) to see how much each address received. In some cases, this can be divided into multiple parts on different trust lines. +* Some transactions change your balances without being payments directly to or from one of your addresses. + +To make things simpler for your customers, we recommend accepting payments to both your operational address and your issuing addresses. + +As an added precaution, we recommend comparing the balances of your issuing address with the collateral funds in your internal accounting system as of each new XRP Ledger ledger version. The issuing address's negative balances should match the assets you have allocated to XRP Ledger outside the network. If the two do not match up, then you should suspend processing payments into and out of the XRP Ledger until you have resolved the discrepancy. + +* Use the `gateway_balances` method to check your balances. +* If you have a Transfer Fee set, then your obligations within the XRP Ledger decrease slightly whenever other XRP Ledger addresses transfer your tokens among themselves. + +For more details on how to read the details of incoming transactions, see [Look Up Transaction Results](look-up-transaction-results.html). diff --git a/content/concepts/payment-types/sending-payments-to-customers.md b/content/concepts/payment-types/sending-payments-to-customers.md new file mode 100644 index 0000000000..bfefcbe45f --- /dev/null +++ b/content/concepts/payment-types/sending-payments-to-customers.md @@ -0,0 +1,24 @@ +--- +html: sending-payments-to-customers.html +parent: payment-types.html +blurb: Construct payments carefully to thwart malicious actors. +labels: + - Tokens +--- +# Sending Payments to Customers + +When you build an automated system to send payments into the XRP Ledger for your customers, you must make sure that it constructs payments carefully. Malicious actors are constantly trying to find ways to trick a system into paying them more money than it should. + +Generally, when sending stablecoins, you use a [Payment transaction][]. Some of the details are different depending on whether you are issuing tokens for the first time or transferring them from a hot wallet to a customer. Things to note include: + +- When issuing new tokens from your issuing address, you should omit the `SendMax` field. Otherwise, malicious users can arrange their settings so that you issue the full `SendMax` amount instead of just the intended destination `Amount`. +- When sending tokens _from a hot wallet_, you must specify `SendMax` if you have a nonzero transfer fee. In this case, set the `SendMax` field to the amount specified in the `Amount` field plus the transfer fee. (You may want to round up slightly, in case the precision of your calculations doesn't exactly match the XRP Ledger's.) For example, if you send a transaction whose `Amount` field specifies 99.47 USD, and your transfer fee is 0.25%, you should set the `SendMax` field to 124.3375, or 124.34 USD if you round up. +- Omit the `Paths` field. This field is unnecessary when sending directly from the issuer, or from a hot wallet as long as the tokens being sent and the tokens being received have the same currency code and issuer—that is, they're the same stablecoin. The `Paths` field is intended for [Cross-Currency Payments](cross-currency-payments.html) and longer multi-hop (rippling) payments. If you naively perform pathfinding and attach the paths to your transaction, your payment may take a more expensive indirect route rather than failing if the direct path is not available; malicious users can even set this up to +- If you get a `tecPATH_DRY` result code, this usually indicates that either the customer doesn't have the necessary trust line set up already, or your issuer's rippling settings aren't configured correctly. + +For a detailed tutorial on issuing a token on the XRP Ledger, whether a stablecoin or otherwise, see [Issue a Fungible Token](issue-a-fungible-token.html). + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} \ No newline at end of file diff --git a/content/concepts/tokens/autobridging.md b/content/concepts/tokens/decentralized-exchange/autobridging.md similarity index 100% rename from content/concepts/tokens/autobridging.md rename to content/concepts/tokens/decentralized-exchange/autobridging.md diff --git a/content/concepts/tokens/automated-market-makers.md b/content/concepts/tokens/decentralized-exchange/automated-market-makers.md similarity index 100% rename from content/concepts/tokens/automated-market-makers.md rename to content/concepts/tokens/decentralized-exchange/automated-market-makers.md diff --git a/content/concepts/tokens/decentralized-exchange.md b/content/concepts/tokens/decentralized-exchange/index.md similarity index 99% rename from content/concepts/tokens/decentralized-exchange.md rename to content/concepts/tokens/decentralized-exchange/index.md index 8431cccbb1..8d0e3dec6a 100644 --- a/content/concepts/tokens/decentralized-exchange.md +++ b/content/concepts/tokens/decentralized-exchange/index.md @@ -2,7 +2,7 @@ html: decentralized-exchange.html parent: tokens.html template: pagetype-category.html.jinja -blurb: The XRP Ledger contains a fully-functional exchange where users can trade tokens for XRP or each other. +blurb: The XRP Ledger contains a fully functional exchange where users can trade tokens for XRP or each other. targets: - en --- diff --git a/content/concepts/tokens/offers.md b/content/concepts/tokens/decentralized-exchange/offers.md similarity index 100% rename from content/concepts/tokens/offers.md rename to content/concepts/tokens/decentralized-exchange/offers.md diff --git a/content/concepts/tokens/ticksize.md b/content/concepts/tokens/decentralized-exchange/ticksize.md similarity index 100% rename from content/concepts/tokens/ticksize.md rename to content/concepts/tokens/decentralized-exchange/ticksize.md diff --git a/content/concepts/tokens/authorized-trust-lines.md b/content/concepts/tokens/fungible-tokens/authorized-trust-lines.md similarity index 98% rename from content/concepts/tokens/authorized-trust-lines.md rename to content/concepts/tokens/fungible-tokens/authorized-trust-lines.md index a7f9be5704..ad4407d4b7 100644 --- a/content/concepts/tokens/authorized-trust-lines.md +++ b/content/concepts/tokens/fungible-tokens/authorized-trust-lines.md @@ -1,6 +1,6 @@ --- html: authorized-trust-lines.html -parent: tokens.html +parent: trust-lines-and-issuing.html blurb: Authorized trust lines is a setting to limit who can hold a token. labels: - Tokens @@ -129,6 +129,6 @@ In the response's `result.lines` array, find the object whose `currency` field i - [RippleState (trust line) Flags](ripplestate.html#ripplestate-flags) -{% include '_snippets/rippled-api-links.md' %} -{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} {% include '_snippets/rippled_versions.md' %} diff --git a/content/concepts/tokens/clawing-back-tokens.md b/content/concepts/tokens/fungible-tokens/clawing-back-tokens.md similarity index 90% rename from content/concepts/tokens/clawing-back-tokens.md rename to content/concepts/tokens/fungible-tokens/clawing-back-tokens.md index 95c9032df9..80ed7da635 100644 --- a/content/concepts/tokens/clawing-back-tokens.md +++ b/content/concepts/tokens/fungible-tokens/clawing-back-tokens.md @@ -1,6 +1,6 @@ --- html: clawing-back-tokens.html -parent: tokens.html +parent: trust-lines-and-issuing.html blurb: Issuers can claw back their tokens for compliance purposes if they enable the Clawback feature before issuing tokens. labels: - Tokens @@ -17,7 +17,7 @@ Issuers can gain the ability to claw back their tokens by enabling the **Allow C Clawback is disabled by default. To use clawback, you must send an [AccountSet transaction][] to enable the **Allow Trust Line Clawback** setting. **An issuer with any existing tokens cannot enable Clawback.** You can only enable **Allow Trust Line Clawback** if you have a completely empty owner directory, meaning you must do so before you set up any trust lines, offers, escrows, payment channels, checks, or signer lists. -If you attempt to set `lsfAllowTrustLineClawback` while `lsfNoFreeze` is set, the transaction returns `tecNO_PERMISSION`, because clawback cannot be enabled on an account that has already disclaimed the ability to freeze trust lines. +If you attempt to set `lsfAllowTrustLineClawback` while `lsfNoFreeze` is set, the transaction returns `tecNO_PERMISSION`, because clawback cannot be enabled on an account that has already disclaimed the ability to freeze trust lines. Conversely, if you try to set `lsfNoFreeze` while `lsfAllowTrustLineClawback` is set, the transaction also returns `tecNO_PERMISSION`. ## Example Clawback Transaction @@ -37,6 +37,6 @@ Conversely, if you try to set `lsfNoFreeze` while `lsfAllowTrustLineClawback` is If successful, this transaction would claw back at most 314.159 FOO issued by rp6abvbTbjoce8ZDJkT6snvxTZSYMBCC9S and held by rsA2LpzuawewSBQXkiju3YQTMzW13pAAdW. -{% include '_snippets/rippled-api-links.md' %} -{% include '_snippets/tx-type-links.md' %} -{% include '_snippets/rippled_versions.md' %} \ No newline at end of file +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/concepts/tokens/common-misconceptions-about-freezes.md b/content/concepts/tokens/fungible-tokens/common-misconceptions-about-freezes.md similarity index 100% rename from content/concepts/tokens/common-misconceptions-about-freezes.md rename to content/concepts/tokens/fungible-tokens/common-misconceptions-about-freezes.md diff --git a/content/concepts/tokens/demurrage.md b/content/concepts/tokens/fungible-tokens/demurrage.md similarity index 99% rename from content/concepts/tokens/demurrage.md rename to content/concepts/tokens/fungible-tokens/demurrage.md index c9fc446143..c5a638c479 100644 --- a/content/concepts/tokens/demurrage.md +++ b/content/concepts/tokens/fungible-tokens/demurrage.md @@ -1,6 +1,6 @@ --- html: demurrage.html -parent: tokens.html +parent: trust-lines-and-issuing.html blurb: (Obsolete) Some older XRP Ledger tools used to support currency codes with built-in interest and negative interest rates. status: removed --- diff --git a/content/concepts/tokens/freezes.md b/content/concepts/tokens/fungible-tokens/freezes.md similarity index 98% rename from content/concepts/tokens/freezes.md rename to content/concepts/tokens/fungible-tokens/freezes.md index 2b84b8d70a..bab520f786 100644 --- a/content/concepts/tokens/freezes.md +++ b/content/concepts/tokens/fungible-tokens/freezes.md @@ -1,6 +1,6 @@ --- html: freezes.html -parent: tokens.html +parent: trust-lines-and-issuing.html blurb: Issuers can freeze their issued tokens for compliance purposes. labels: - Tokens @@ -98,6 +98,6 @@ You can only enable the No Freeze setting with a transaction signed by your addr - [RippleState (trust line) Flags](ripplestate.html#ripplestate-flags) -{% include '_snippets/rippled-api-links.md' %} -{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} {% include '_snippets/rippled_versions.md' %} diff --git a/content/concepts/tokens/trust-lines-and-issuing.md b/content/concepts/tokens/fungible-tokens/index.md similarity index 74% rename from content/concepts/tokens/trust-lines-and-issuing.md rename to content/concepts/tokens/fungible-tokens/index.md index 540a1d0021..d828151ad4 100644 --- a/content/concepts/tokens/trust-lines-and-issuing.md +++ b/content/concepts/tokens/fungible-tokens/index.md @@ -5,20 +5,27 @@ blurb: Learn about the properties and rationale of trust lines. labels: - Tokens --- -# Trust Lines and Issuing +# Fungible Tokens -Trust lines are structures in the XRP Ledger for holding [tokens](tokens.html). Trust lines enforce the XRP Ledger's rule that you cannot cause someone else to hold a token they don't want. This precaution is necessary to enable the XRP Ledger's use case for [community credit](tokens.html#community-credit) among other benefits. +Anyone can issue fungible tokens on the XRP Ledger, ranging from informal "IOUs" to fiat-backed stablecoins, purely digital fungible and semi-fungible tokens, and more. + +Fungible tokens are interchangeable and indistinguishable from one another. They can be swapped and substituted for other tokens of equivalent value. To create fungible tokens, you set up a _trust line_, a form of accounting relationship, between two accounts, then send payments between them. For most use cases, there are also some settings you should configure first. + +## Trust Lines + +Trust lines are structures in the XRP Ledger for holding fungible [tokens](tokens.html). Trust lines enforce the XRP Ledger's rule that you cannot cause someone else to hold a token they don't want. This precaution is necessary to enable the XRP Ledger's use case for [community credit](tokens.html#community-credit) among other benefits. Each "trust line" is a _bidirectional_ relationship consisting of: -- The identifiers for the **two [accounts](accounts.html)** that the trust line connects. -- A single, shared **balance**, which is positive from the perspective of one account and negative from the other perspective. +- The identifiers for the two [accounts](accounts.html) that the trust line connects. +- A single, shared balance, which is positive from the perspective of one account and negative from the other perspective. - The account with a negative balance is generally considered the "issuer" of the tokens. However, in the [APIs](http-websocket-apis.html), the name `issuer` can refer to either side. -- Various **settings** and metadata. _Each_ of the two accounts can control its own settings on the trust line. - - Most importantly, each side sets a **limit** on the trust line, which is 0 by default. Each account's balance (from its perspective on the trust line) can't go above that account's limit, except [through that account's own actions](#going-above-the-limit). +- Various settings and metadata. _Each_ of the two accounts can control its own settings on the trust line. + - Most importantly, each side sets a limit on the trust line, which is 0 by default. Each account's balance (from its perspective on the trust line) can't go above that account's limit, except [through that account's own actions](#going-above-the-limit). Each trust line is specific to a given [currency code][]. Two accounts can have any number of trust lines between them for different currency codes, but only one shared trust line for any particular currency code. +The balance on a trust line is negative or positive depending on which side you view it from. The side with the negative balance is called the "issuer" and can control some properties of how those tokens behave. When you send tokens to another account that isn't the issuer, those tokens "ripple" through the issuer and possibly other accounts using the same currency code. This is useful in some cases, but can cause unexpected and undesirable behavior in others. You can use the [No Ripple flag](rippling.html) on trust lines to prevent those trust lines from rippling. ## Creation diff --git a/content/concepts/tokens/paths.md b/content/concepts/tokens/fungible-tokens/paths.md similarity index 98% rename from content/concepts/tokens/paths.md rename to content/concepts/tokens/fungible-tokens/paths.md index ffc18fb28c..3e5591d025 100644 --- a/content/concepts/tokens/paths.md +++ b/content/concepts/tokens/fungible-tokens/paths.md @@ -1,6 +1,6 @@ --- html: paths.html -parent: tokens.html +parent: trust-lines-and-issuing.html blurb: Payments of tokens must traverse paths of connected users and order books. labels: - Payments @@ -116,6 +116,6 @@ The `type` field, used for the binary serialization of a path set, is actually c -{% include '_snippets/rippled-api-links.md' %} -{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} {% include '_snippets/rippled_versions.md' %} diff --git a/content/concepts/tokens/rippling.md b/content/concepts/tokens/fungible-tokens/rippling.md similarity index 99% rename from content/concepts/tokens/rippling.md rename to content/concepts/tokens/fungible-tokens/rippling.md index 42612de8b6..fc6c2f3835 100644 --- a/content/concepts/tokens/rippling.md +++ b/content/concepts/tokens/fungible-tokens/rippling.md @@ -1,6 +1,6 @@ --- html: rippling.html -parent: tokens.html +parent: trust-lines-and-issuing.html blurb: Rippling is automatic multi-party net settlement of token balances. labels: - Tokens diff --git a/content/concepts/tokens/fungible-tokens/stablecoins/compliance-guidelines.md b/content/concepts/tokens/fungible-tokens/stablecoins/compliance-guidelines.md new file mode 100644 index 0000000000..2718913ac0 --- /dev/null +++ b/content/concepts/tokens/fungible-tokens/stablecoins/compliance-guidelines.md @@ -0,0 +1,124 @@ +--- +html: stablecoin-compliance-guidelines.html +parent: stablecoins.html +blurb: Stablecoin issuers are responsible for complying with local regulations and reporting to appropriate agencies. +labels: + - Tokens +--- +# Stablecoin Compliance Guidelines + +Stablecoin issuers are responsible for complying with local regulations and reporting to the appropriate agencies. Regulations vary by country and state, but may include the reporting and compliance requirements described in the following sections. Before issuing a token, you should seek professional legal advice on the requirements for your jurisdiction and use case. The following resources may be useful background reading. + +### Know Your Customer (KYC) + +Know Your Customer (KYC) refers to due diligence activities conducted by a financial institution to determine and verify the identity of its customers to prevent use of the institution for criminal activity. Criminal activity in financial terms may include money laundering, terrorist financing, financial fraud, and identity theft. Customers may be individuals, intermediaries, or businesses. + +The KYC process generally aims to: + +- Identify the customer (and, in the case of organizations and businesses, any beneficial owners) + +- Understand the purpose and intended nature of the business relationship + +- Understand the expected transaction activity. + +KYC is critical for financial institutions and related businesses to mitigate risk, especially legal and reputational risk. Having an inadequate or nonexistent KYC program may result in civil and criminal penalties for the institution or individual employees. + +See also: + +- [(USA) Bank Secrecy Act / Anti-Money Laundering Examination Manual](https://bsaaml.ffiec.gov/manual/Introduction/01) + +- [The Non-US Standard on KYC set by the Financial Action Task Force (FATF)](http://www.fatf-gafi.org/publications/fatfrecommendations/documents/fatf-recommendations.html) + + + +### Anti-Money Laundering (AML) and Combating the Financing of Terrorism (CFT) + +Money laundering is the process of moving illegal funds by disguising the source, nature or ownership so that funds can be legally accessed or distributed via legitimate financial channels and credible institutions. In short, it is converting “dirty money” into “clean money.” Anti-Money Laundering (AML) refers to the laws and procedures designed to stop money laundering from occurring. + +Terrorist financing is the solicitation, collection, or provision of funds to organizations engaged in terrorist activity or organizations that support terrorism and its proliferation. Combating the Financing of Terrorism (CFT) refers to the process of identifying, reporting, and blocking flows of funds used to finance terrorism. + +See also: + +- [“International Standards on Combating Money Laundering and the Financing of Terrorism & Proliferation.” FATF, 2012](http://www.fatf-gafi.org/publications/fatfrecommendations/documents/fatf-recommendations.html) + +- [“Virtual Currencies: Key Definitions and Potential AML/CFT Risks.” FATF, 2014](http://www.fatf-gafi.org/publications/methodsandtrends/documents/virtual-currency-definitions-aml-cft-risk.html) + + + +### Source of Funds + +To prevent illicit funds from passing through their systems, financial institutions must be able to determine within reason if the source of a customer’s funds is linked to criminal activity. + +Determining the exact source of funds for every customer may not be administratively feasible. As a result, some regulatory authorities may not provide specific regulation or guidance for all accounts. In specific cases, however, authorities may require financial institutions to identify and report the source of funds. Guidance by the FATF recommends that where the risks of money laundering or terrorist financing are higher (commonly referred to as a “risk-based approach”), financial institutions conduct enhanced due diligence, including but not limited to determining the customer’s source of funds. + + + +### Suspicious Activity Reporting + +If a financial institution suspects that funds may be related to criminal activity, the institution must file a Suspicious Activity Report (SAR) with the appropriate regulatory authority. Failure to report suspicious activity may result in in penalties for the institution. + +See also: + +- [Suspicious Activity Reporting Overview (USA FFIEC)](https://bsaaml.ffiec.gov/manual/RegulatoryRequirements/04_ep) + +- [FATF Recommendation 16: Reporting of suspicious transactions and compliance](http://www.fatf-gafi.org/publications/fatfrecommendations/documents/fatf-recommendations.html) + +### Travel Rule + +The Travel Rule is a Bank Secrecy Act (BSA) rule requiring funds-transmitting financial institutions to forward certain information to the next financial institution if the funds transmittal equals or exceeds the USD equivalent of $3,000. The following information must be included in the transmittal order: + +- The name of the transmittor, +- The account number of the transmittor, if used, +- The address of the transmittor, +- The identity of the transmittor's financial institution, +- The amount of the transmittal order, +- The execution date of the transmittal order, and +- The identity of the recipient's financial institution. + + + +See also: + +- [Funds “Travel” Regulations: Questions & Answers ](https://www.fincen.gov/resources/statutes-regulations/guidance/funds-travel-regulations-questions-answers) + +### Fee Disclosure and Tracing Funds + +- In the United States, Dodd Frank 1073 Electronic Fund Transfer Act (Regulation E) requires banks to provide information on cost and delivery terms for international payments originating in the US including exchange rate, fees, and the amount to be received by the designated recipient in the foreign country. "Pre-payment disclosure" is provided to a consumer when requesting an international electronic payment and “receipt disclosure” is provided to a consumer at the time consumer authorizes the transfer. + + See also: + + - [The Consumer Financial Protection Bureau description of the regulation and extensions for banks](https://www.consumerfinance.gov/rules-policy/final-rules/electronic-fund-transfers-regulation-e/#rule) + +- In the European Union, EU Funds Transfer Regulation requires that the originator’s bank, the beneficiary’s bank, and any intermediary banks include certain details of the payer and payee in transaction details to detect, investigate, and prevent money laundering and terrorist financing. + + See also: + + - [EU Regulation (EC) No 1781/2006 description](http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=OJ:L:2006:345:0001:0009:EN:PDF) + + - [Effective June 26, 2017: Regulation 2015/847 on information accompanying transfers of funds](http://eur-lex.europa.eu/legal-content/EN/ALL/?uri=CELEX%3A32015R0847) + +### Office of Foreign Assets Control (OFAC) + +The Office of Foreign Assets Control (OFAC) is an agency of the US Department of Treasury that administers and enforces economic and trade sanctions in support of U.S. foreign policy and national security objectives. All U.S. persons and U.S. incorporated entities and their foreign branches must follow OFAC regulations. Under OFAC regulations, U.S. financial institutions are prohibited—unless authorized by OFAC or expressly exempted by statute—from conducting transactions and other dealings with individuals, entities, or countries under sanctions or embargo programs administered and enforced by OFAC. + +See also: + +- [A list of OFAC resources](https://www.treasury.gov/resource-center/faqs/Sanctions/Pages/ques_index.aspx) + + + +### Guidance on Virtual Currency and Money Service Business + +- United States: + + - [FinCEN Guidance and Definitions around Virtual Currency, March 18, 2013](https://www.fincen.gov/resources/statutes-regulations/guidance/application-fincens-regulations-persons-administering) + + - [FinCEN Publishes Two Rulings on Virtual Currency Miners and Investors, January 30, 2014](https://www.fincen.gov/news/news-releases/fincen-publishes-two-rulings-virtual-currency-miners-and-investors) + +- Europe: + + - [European Banking Authority Opinion on Virtual Currencies, July 4, 2014](http://www.eba.europa.eu/documents/10180/657547/EBA-Op-2014-08+Opinion+on+Virtual+Currencies.pdf) + +- FATF Guidance for Money Service Businesses: + + - [Financial Action Task Force, July 2009](http://www.fatf-gafi.org/media/fatf/documents/reports/Guidance-RBA-money-value-transfer-services.pdf) diff --git a/content/concepts/tokens/fungible-tokens/stablecoins/configuration.md b/content/concepts/tokens/fungible-tokens/stablecoins/configuration.md new file mode 100644 index 0000000000..eaa5781593 --- /dev/null +++ b/content/concepts/tokens/fungible-tokens/stablecoins/configuration.md @@ -0,0 +1,91 @@ +--- +html: stablecoin-configuration.html +parent: stablecoins.html +blurb: Configure your stablecoin to fine tune its capabilities. +labels: + - Tokens +--- +# Stablecoin Configuration + +There are some settings you must configure on your XRP Ledger account before you start issuing tokens. For examples of how to configure these settings, see [Issue a Fungible Token](issue-a-fungible-token.html). + +Settings you might want to configure include: + +| Setting | Notes | +|---------|-------| +| Default Ripple | Issuers must enable this field. | +| Deposit Authorization | Block all incoming payments from users you haven't explicitly approved. | +| Require Auth | Restrict your tokens to being held by users you've explicitly approved. | +| Tick Size | Round off exchange rates in the decentralized exchange to facilitate faster price discovery. | +| Transfer Fee | Charge a percentage fee when users send your token to each other. | + + +## Default Ripple + +The Default Ripple flag controls whether the balances on a trust line are allowed to _ripple_ by default. Rippling is what allows customers to send and trade tokens among themselves, so an issuer MUST allow rippling on all the trust lines to its issuing address. See [Rippling](rippling.html). + +Before asking customers to create trust lines to its issuing address, an issuer should enable the Default Ripple flag on that address. Otherwise, the issuer must individually disable the No Ripple flag for each trust line that other addresses have created. + + +## Deposit Authorization + +The Deposit Authorization setting blocks all incoming payments to your account, unless either: + +- You have previously preauthorized the sender. +- You send a transaction to receive the funds. For example, you could finish an Escrow that was initiated by a stranger. + +Deposit Authorization is most useful for blocking unwanted XRP payments, because you already can't receive tokens unless you've created a trust line to their issuer. However, as a stablecoin issuer, you need to be able to receive payments from users in order for them to redeem the stablecoin for its off-ledger value; you can preauthorize your customers but doing so requires storing an object in the ledger for each custom address, increasing your reserve requirement substantially. + +Therefore, Deposit Authorization is not recommended for stablecoin issuers unless you need it to meet regulatory requirements about receiving money from unknown or sanctioned entities. + +For more information, see [Deposit Authorization](depositauth.html). + + +## Disallow XRP + +The Disallow XRP setting is designed to discourage XRP Ledger users from sending XRP to an address by accident. This reduces the costs and effort of bouncing undesired payments from addresses that aren't intended to receive and hold XRP. The Disallow XRP flag is not enforced at the protocol level, because doing so could allow addresses to become permanently unusable if they run out of XRP. Client applications should honor the Disallow XRP flag by default, but may allow users to ignore it. + +The Disallow XRP flag is optional, but if you don't intend to receive XRP from customers you may want to enable it on your issuing address and all your operational addresses. + + +## Require Auth + +The Require Auth setting blocks users from holding the tokens you issue unless you explicitly approve their trust lines first. You can use this setting to meet regulatory requirements if it matters who holds your tokens within the XRP Ledger. However, this can reduce the utility of your tokens since your approval becomes a bottleneck for users to use them. + +Also, you must use your issuing address each time you authorize a trust line; if you must authorize a lot of trust lines, this can undermine the security of your issuing address because you have to use it so often. (If you only need to use the issuing address sparingly, you can put greater protections on its secret keys. The more often you use it, the more of a burden those protections become.) + +For more information, see [Authorized Trust Lines](authorized-trust-lines.html). + + +## Tick Size + +The Tick Size setting controls how many decimal places are used when calculating exchange rates in the [Decentralized Exchange](decentralized-exchange.html). A higher Tick Size means more precision and less rounding in the amounts of various trades. Too much precision can be inconvenient because trades are ranked primarily based on exchange rate, so a trader can offer a minuscule amount more to the top of the list. A smaller Tick Size works similar to the minimum bid increment at an auction, saving everyone the time and effort of gradually bidding up a price by irrelevantly small amounts. However, a smaller Tick Size results in more rounding, which can increase the costs of trading, and sometimes has surprising results because two Offers that seemed like an exact match before rounding no longer match after rounding. + +The Tick Size is an account-level setting and applies to all tokens issued by the same address. + +Tick Size only controls the precision of _exchange rates_, not the precision of the token itself. Users can send and hold very large or very small amounts regardless of the Tick Size set by the token's issuer. + +For more information, see [Tick Size](ticksize.html). + + +## Transfer Fees + +A transfer fee setting charges users a percentage fee when sending your tokens to each other. The transfer fee does not apply when issuing tokens or redeeming them directly with the issuing address. (It _does_ apply when users send payments to your hot wallet.) If you issue multiple tokens from the same address, the same transfer fee applies to all of them. + +When users send a token with a transfer fee, the amount of the transfer fee is debited from the sending side in addition to the destination amount, but only the destination amount is credited to the recipient. The amount of the fee "vanishes" from the XRP Ledger. As a stablecoin issuer, this means that you gain that much equity in your reserves outside of the XRP Ledger—or, in other words, the amount you need to keep as collateral decreases each time users pay a transfer fee. + +At a protocol level, the transfer fee is defined by the `TransferRate` account setting, which is an integer from 1 billion to 2 billion. + +For more information, see [Transfer Fees](transfer-fees.html). + + +### Transfer Fees with Operational and Standby Addresses + +All XRP Ledger addresses, including operational and standby addresses, are subject to the issuer's transfer fees when sending tokens. If you set a nonzero transfer fee, then you must send extra (to pay the transfer fee) when making payments from your operational address or standby address. In other words, your addresses must pay back a little of the balance your issuing address created, each time you make a payment. + +Set the `SendMax` transaction parameter higher than the destination `Amount` parameter by a percentage based on the `TransferRate` setting. + +**Note:** Transfer fees do not apply when sending tokens directly from or to the issuing address. The issuing address must always accept its tokens at face value in the XRP Ledger. This means that customers don't have to pay the transfer fee if they send payments to the issuing address directly, but they do when sending to an operational address. If you accept payments at both addresses, you may want to adjust the amount you credit customers in your system of record when customers send payments to the operational address, to compensate for the transfer fee the customer pays. + +For example: If ACME sets a transfer fee of 1%, an XRP Ledger payment to deliver 5 EUR.ACME from a customer address to ACME's issuing address would cost exactly 5 EUR.ACME. However, the customer would need to send 5.05 EUR.ACME to deliver 5 EUR.ACME to ACME's operational address. When ACME credits customers for payments to ACME's operational address, ACME credits the customer for the amount delivered to the operational address _and_ the transfer fee, giving the customer €5,05 in ACME's systems. + diff --git a/content/concepts/tokens/fungible-tokens/stablecoins/index.md b/content/concepts/tokens/fungible-tokens/stablecoins/index.md new file mode 100644 index 0000000000..97efdeb1de --- /dev/null +++ b/content/concepts/tokens/fungible-tokens/stablecoins/index.md @@ -0,0 +1,37 @@ +--- +html: stablecoins.html +parent: trust-lines-and-issuing.html +blurb: There are five common types of stablecoin traded on the XRP Ledger. +labels: + - XRP + - Stablecoin +--- +# Stablecoins + +A Stablecoin holds assets of value outside of the XRP Ledger and issues tokens representing the equivalent value on the ledger. This type of issuer is sometimes called a _gateway_, because currency can move into and out of the XRP Ledger through their service. If the assets that back a token use the same amounts and denomination as the tokens in the ledger, that token can be considered a "stablecoin" because – in theory – the exchange rate between that token and its off-ledger representation should be stable at 1:1. + +A stablecoin issuer should offer _deposits_ and _withdrawals_ to exchange the tokens for the actual currency or asset in the world outside the XRP Ledger. + +In practice, the XRP Ledger is a computer system that cannot enforce any rules outside of itself, so stablecoins on the XRP Ledger depend on their issuer's integrity. If you can't count on the stablecoin's issuer to redeem your tokens for the real thing on demand, then you shouldn't expect the stablecoin to hold its value. As a user, you should be mindful of who's issuing the tokens: are they reliable, lawful, and solvent? If not, it's probably best not to hold those tokens. + +There are five common types of currency token traded on the XRP Ledger. + +## Fiat Backed + +Fiat-backed stablecoins are based on an existing currency such as EUR, USD, YEN, and so on. They are backed at an exchange rate of 1:1. It is a simple, stable option, but it is more centralized and susceptible to hacking. In the strictest definition of a "stablecoin", only 100% fiat-backed tokens qualify. + +## Crypto Backed + +Crypto-backed stablecoins are similar to fiat-backed stablecoins, but set aside a certain amount of cryptocurrency as collateral. It's decentralized, doesn't require a custodian or audits and regulation. It's also more volatile, and reliant on the stability of the underlying cryptocurrency. + +## Commodity Backed + +Commodity-backed stablecoins are based on a fungible asset such as gold, real estate, oil, or electricity. Commodities are relatively stable and liquid, but are centralized and require regular audits to verify their value. + +## Financial Instrument Backed + +A stablecoin can be backed by financial instruments such as bonds or equity shares. + +## Non-collateralized + +A non-collateralized token relies on algorithm-generated smart contracts to supply or sell tokens, similar to a central bank's approach to printing and destroying currency. No collateral is required to mint tokens. Value is controlled by supply and demand through algorithms that stabilize the price. Non-collateralized tokens are typically not considered stablecoins, due to their volatility. diff --git a/content/concepts/tokens/fungible-tokens/stablecoins/precautions.md b/content/concepts/tokens/fungible-tokens/stablecoins/precautions.md new file mode 100644 index 0000000000..b6b49fc417 --- /dev/null +++ b/content/concepts/tokens/fungible-tokens/stablecoins/precautions.md @@ -0,0 +1,23 @@ +--- +html: stablecoin-precautions.html +parent: stablecoins.html +blurb: Precautions to consider when transferring stablecoin funds in and out of the XRPL. +labels: + - Tokens +--- +# Stablecoin Precautions + +Processing payments to and from the XRP Ledger naturally comes with some risks, so an issuer should be sure to take care in implementing these processes. As a stablecoin issuer, you should consider the following precautions: + +- Protect yourself against reversible deposits. XRP Ledger payments are irreversible, but many digital payments are not. Scammers can abuse this to take their fiat money back by canceling a deposit after receiving tokens in the XRP Ledger. +- When sending into the XRP Ledger, always specify your issuing address as the issuer of the token. Otherwise, you might accidentally use paths that deliver the same currency issued by other addresses. +- Before sending a payment into the XRP Ledger, double check the cost of the payment. A payment from your operational address to a customer should not cost more than the destination amount plus any transfer fee you have set. +- Before processing a payment out of the XRP Ledger, make sure you know the customer's identity. This makes it harder for anonymous attackers to scam you. Most anti-money-laundering regulations require this anyway. This is especially important because the users sending money from the XRP Ledger could be different than the ones that initially received the money in the XRP Ledger. +- Follow the guidelines for reliable transaction submission when sending XRP Ledger transactions. +- Robustly monitor for incoming payments, and read the correct amount. Don't mistakenly credit someone the full amount if they only sent a [partial payment](partial-payments.html). See [Robustly monitoring for payments](robustly-monitoring-for-payments.html). +- Track your obligations and balances within the XRP Ledger, and compare with the assets in your collateral account. If they do not match up, stop processing withdrawals and deposits until you resolve the discrepancy. +- Avoid ambiguous situations. We recommend the following: + - Enable the `Disallow XRP` flag for the issuing address and all operational addresses, so customers do not accidentally send you XRP. (Private exchanges should *not* set this flag, since they trade XRP normally.) + - Enable the [`RequireDest` flag](require-destination-tags.html) for the issuing address and all operational addresses, so customers do not accidentally send a payment without the destination tag to indicate who should be credited. + - Enable the `RequireAuth` flag on all operational addresses so they cannot issue tokens by accident. +- Monitor for suspicious or abusive behavior. For example, a user could repeatedly send funds into and out of the XRP Ledger, as a denial of service attack that effectively empties an operational address's balance. Suspend customers whose addresses are involved in suspicious behavior by not processing their XRP Ledger payments. \ No newline at end of file diff --git a/content/concepts/tokens/fungible-tokens/stablecoins/settings.md b/content/concepts/tokens/fungible-tokens/stablecoins/settings.md new file mode 100644 index 0000000000..88d85ffbb8 --- /dev/null +++ b/content/concepts/tokens/fungible-tokens/stablecoins/settings.md @@ -0,0 +1,98 @@ +--- +html: stablecoin-settings.html +parent: stablecoins.html +blurb: Settings to configure before issuing your stablecoin. +labels: + - XRP + - Stablecoin +--- +# Stablecoin Settings + +Before you mint your new stablecoin, you need to configure settings, some of which are immutable once you issue the first coin. + +## Create Your Issuing and Distribution Accounts + +Create a new account that you designate as the _issuer_, sometimes called the "cold" wallet. There is nothing different or special about the account itself, only the way you use it. Use the account to mint your stablecoins. + +Many implementations use a _standby_ account as a "warm" wallet. Trusted human operators use the standby account to distribute stablecoins to _operational_ accounts. + +
+ +
+ +Operational accounts, or "hot" wallets, trade with other accounts on the XRPL. Automated, internet-connected systems use the secret keys to these addresses to conduct day-to-day business like transfers to customers and partners. + +Using standby and operational accounts helps to insulate the issuing account against hacking attacks, and also makes it easier to monitor the creation and destruction of your stablecoins. + + +## Set Your Transfer Fee + +A transfer fee setting charges users a percentage fee when transferring tokens between accounts. + +When users send a token with a transfer fee, the amount of the transfer fee is debited from the sending side in addition to the destination amount, but only the destination amount is credited to the recipient. The amount of the fee "vanishes" from the XRP Ledger. As a stablecoin issuer, this means that you gain that much equity in your reserves outside of the XRP Ledger—or, in other words, the amount you need to keep as collateral decreases each time users pay a transfer fee. + +For more information, see [Transfer Fees](transfer-fees.html). + + +## Set Your Tick Size + +The Tick Size setting controls how many decimal places are used when calculating exchange rates in the [Decentralized Exchange](decentralized-exchange.html). A higher Tick Size (more decimal places) means more precision and less rounding in the amounts of various trades. A smaller Tick Size works similar to the minimum bid increment at an auction, saving everyone the time and effort of gradually bidding up a price by unreasonably small amounts. + +The Tick Size is an account-level setting and applies to all tokens issued by the same address. + +See [Tick Size](ticksize.html). + + +## Set the Default Ripple Flag + +The Default Ripple flag controls whether the balances on a trust line are allowed to _ripple_ by default. Rippling is what allows customers to send and trade tokens among themselves. An issuer MUST allow rippling on all the trust lines to its issuing address. + +Before asking customers to create trust lines to your issuing address, enable the Default Ripple flag on that address. Otherwise, you must individually disable the No Ripple flag for each trust line that other addresses have created. + +See [Rippling](rippling.html). + + +## Enable Destination Tags + +If your stablecoin application handles transactions on behalf of several customers, it might not be immediately obvious to which account you should credit. Destination tags help to avoid this situation by requiring the sender to specify the beneficiary or destination for a payment. To enable the `RequireDest` flag, set the `asfRequireDest` value (1) in the `SetFlag` field of an `AccountSet` transaction. See [Source and Destination Tags](source-and-destination-tags.html). + +## Asset Control Features + +You have several options for controlling the creation and distribution of your stablecoins. + + +### Authorized Trust Lines + +When you need to follow compliance rules such as Know Your Customer (KYC) and Anti-Money Laundering (AML), you can use trust lines to create permissioned pools for the distribution of your stablecoin. This allows you to be certain to whom the funds are transferred. + +See [Authorized Trust Lines](authorized-trust-lines.html). + + +### Freeze Flags + +You have the ability to freeze your stablecoins in your holder accounts. You might do this when you suspect fraudulent activity, or to enforce holds. You can freeze individual trust lines, or enact a global freeze of all activity. + +Conversely, you can set the No Freeze feature, which permanently gives up the ability to freeze tokens. This makes your stablecoin more like fiat currency, in the sense that you cannot interfere with counterparties trading the tokens among themselves. + +See [Freezing Tokens](freezes.html). + + +### Clawback Flags + +_(Requires the [Clawback amendment](known-amendments.html#clawback) :not_enabled:)_ + +Clawback allows you to retrieve, or _clawback_, stablecoins from a trust line under specific circumstances. This gives you added ability to respond to challenges such as lost account access or malicious activity. + +See [Clawback](clawback.html). + + +### Fixed Supply + +Restricting your stablecoins to a fixed number guarantees that stablecoin value will not be diluted in the future if you decide to issue more tokens. + +To create a fixed supply: + +1. Create a distribution wallet with settings similar to your issuing wallet. +2. Set up a trust line between the issuing wallet and the distribution wallet. +3. Send all tokens from the issuing wallet to the distribution wallet. +4. Black hole the issuing account. diff --git a/content/concepts/tokens/fungible-tokens/stablecoins/technical-details.md b/content/concepts/tokens/fungible-tokens/stablecoins/technical-details.md new file mode 100644 index 0000000000..f1664afe8c --- /dev/null +++ b/content/concepts/tokens/fungible-tokens/stablecoins/technical-details.md @@ -0,0 +1,105 @@ +--- +html: stablecoin-technical-details.html +parent: stablecoins.html +blurb: Issue your own stablecoin, based on assets of equal value outside of the XRP Ledger. +labels: + - Tokens +--- + +# Stablecoin Technical Details + +## Infrastructure + +For your own security as well as the stability of the network, each XRP Ledger business should [run its own XRP Ledger servers](install-rippled.html), including one [validator](rippled-server-modes.html#validators). + + +### APIs and Middleware + +There are several interfaces you can use to connect to the XRP Ledger, depending on your needs and your existing software: + +- [HTTP / WebSocket APIs](http-websocket-apis.html) can be used as a low-level interface to all core XRP Ledger functionality. +- [Client Libraries](client-libraries.html) are available in several programming languages to provide convenient utilities for accessing the XRP Ledger. +- Other tools such as [xApps](https://xumm.readme.io/docs/xapps) are also available. +- Third party wallet applications might also be useful, especially for humans in charge of standby addresses. + + +## Tool Security + +Any time you submit an XRP Ledger transaction, it must be signed using your secret key. The secret key gives full control over your XRP Ledger address. Never send your secret key to a server run by someone else. Either use your own server, or sign the transactions locally using a client library. + +For instructions and examples of secure configurations, see [Set Up Secure Signing](secure-signing.html). + + +## Robustly Monitoring for Payments + +To robustly check for incoming payments, issuers should do the following: + +* Keep a record of the most-recently-processed transaction and ledger. That way, if you temporarily lose connectivity, you know how far to go back. +* Check the result code of every incoming payment. Some payments go into the ledger to charge an anti-spam fee, even though they failed. Only transactions with the result code `tesSUCCESS` can change non-XRP balances. Only transactions from a validated ledger are final. +* Look out for [Partial Payments](partial-payments.html). Payments with the partial payment flag enabled can be considered "successful" if any non-zero amount is delivered, even minuscule amounts. + * Check the transaction for a [`delivered_amount` field](partial-payments.html#the-delivered_amount-field). If present, that field indicates how much money *actually* got delivered to the `Destination` address. + * In xrpl.js, you can use the [`xrpl.getBalanceChanges()` method](https://js.xrpl.org/modules.html#getBalanceChanges) to see how much each address received. In some cases, this can be divided into multiple parts on different trust lines. +* Some transactions change your balances without being payments directly to or from one of your addresses. For example, if ACME sets a nonzero transfer fee, then ACME's issuing address's outstanding obligations decrease each time Bob and Charlie exchange ACME's tokens. + +To make things simpler for your customers, we recommend accepting payments to both your operational address and your issuing addresses. + +As an added precaution, we recommend comparing the balances of your issuing address with the collateral funds in your internal accounting system as of each new ledger version. The issuing address's negative balances should match the assets you have allocated to XRP Ledger outside the network. If the two do not match up, then you should suspend processing payments into and out of the XRP Ledger until you have resolved the discrepancy. + +* Use the `gateway_balances` method to check your balances. +* If you have a Transfer Fee set, then your obligations within the XRP Ledger decrease slightly whenever other XRP Ledger addresses transfer your tokens among themselves. + +For more details on how to read the details of incoming transactions, see [Look Up Transaction Results](look-up-transaction-results.html). + + +## Sending Payments to Customers + +When you build an automated system to send payments into the XRP Ledger for your customers, you must make sure that it constructs payments carefully. Malicious actors are constantly trying to find ways to trick a system into paying them more money than it should. + +Generally, when sending stablecoins, you use a Payment transaction. Some of the details are different depending on whether you are issuing tokens for the first time or transferring them from a hot wallet to a customer. Things to note include: + +- When issuing new tokens from your issuing address, you should omit the `SendMax` field. Otherwise, malicious users can arrange their settings so that you issue the full `SendMax` amount instead of just the intended destination `Amount`. +- When sending tokens from a hot wallet, you must specify `SendMax` if you have a nonzero transfer fee. In this case, set the `SendMax` field to the amount specified in the `Amount` field plus the transfer fee. (You may want to round up slightly, in case the precision of your calculations doesn't exactly match the XRP Ledger's. For example, if you send a transaction whose `Amount` field specifies 99.47 USD, and your transfer fee is 0.25%, you should set the `SendMax` field to 124.3375, or 124.34 USD, if you round up.) +- Omit the `Paths` field. This field is unnecessary when sending directly from the issuer, or from a hot wallet as long as the tokens being sent and the tokens being received have the same currency code and issuer—that is, they're the same stablecoin. The `Paths` field is intended for cross-currency payments and longer multi-hop (rippling) payments. If you perform pathfinding and attach the paths to your transaction, your payment might take a more expensive indirect route rather than failing if the direct path is not available; malicious users can even set this up to fail. +- If you get a `tecPATH_DRY` result code, this usually indicates that either the customer doesn't have the necessary trust line set up already, or your issuer's rippling settings aren't configured correctly. + +For a detailed tutorial on issuing a token on the XRP Ledger, whether a stablecoin or otherwise, see [Issue a Fungible Token](issue-a-fungible-token.html). + + +## Bouncing Payments + +When one of your addresses receives a payment where the purpose is unclear, we recommend that you try to return the money to its sender. While this is more work than pocketing the money, it demonstrates good faith towards customers. You can have an operator bounce payments manually, or create a system to do so automatically. + +The first requirement to bouncing payments is [robustly monitoring for incoming payments](#robustly-monitoring-for-payments). You do not want to accidentally refund a customer for more than they sent you! (This is particularly important if your bounce process is automated.) Malicious users can take advantage of a naive integration by sending [partial payments](partial-payments.html#partial-payments-exploit). + +Second, you should send bounced payments as Partial Payments. Since third parties can manipulate the cost of pathways between addresses, Partial Payments allow you to divest yourself of the full amount without being concerned about exchange rates within the XRP Ledger. You should publicize your bounced payments policy as part of your terms of use. Send the bounced payment from either an operational address or a standby address. + +To send a Partial Payment, enable the [`tfPartialPayment` flag](payment.html#payment-flags) on the transaction. Set the `Amount` field to the amount you received and omit the `SendMax` field. You should use the `SourceTag` value from the incoming payment as the `DestinationTag` value for the return payment. + +To prevent two systems from bouncing payments back and forth indefinitely, you can set a new Source Tag for the outgoing return payment. If you receive an unexpected payment whose Destination Tag matches the Source Tag of a return you sent, then do not bounce it back again. + + +## Reliable Transaction Submission + +The goal of reliably submitting transactions is to achieve the following two properties in a finite amount of time: + +* Idempotency - Transactions should be processed once and only once, or not at all. +* Verifiability - Applications can determine the final result of a transaction. + +To submit transactions reliably, follow these guidelines: + +* Persist details of the transaction before submitting it. +* Use the `LastLedgerSequence` parameter. (Many [client libraries](client-libraries.html) do this by default.) +* Resubmit a transaction if it has not appeared in a validated ledger whose [ledger index][] is less than or equal to the transaction's `LastLedgerSequence` parameter. + +For more information, see [Reliable Transaction Submission](reliable-transaction-submission.html). + + +## xrp-ledger.toml File + +You can publish information about what currencies you issue, and which XRP Ledger addresses you control, to protect against impostors or confusion, using an [`xrp-ledger.toml` file](xrp-ledger-toml.html). This machine-readable format is convenient for client applications to process. If you run an XRP Ledger validator, you can also publish the key in the same file. + + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/concepts/tokens/index.md b/content/concepts/tokens/index.md new file mode 100644 index 0000000000..de8d798042 --- /dev/null +++ b/content/concepts/tokens/index.md @@ -0,0 +1,53 @@ +--- +html: tokens.html +parent: concepts.html +blurb: Anyone can make tokens representing digital value on the XRP Ledger. +labels: + - Tokens +--- +# Tokens + +All assets other than XRP can be represented in the XRP Ledger as _tokens_. + +Standard tokens are fungible: meaning, all units of that token are interchangeable and indistinguishable. Tokens can be used for [cross-currency payments](cross-currency-payments.html) and can be traded in the [decentralized exchange](decentralized-exchange.html). + +**Note:** Tokens on the XRP Ledger have also been called "IOUs" (as in [I-owe-you](https://en.wikipedia.org/wiki/IOU)) and "issued currencies" in the past. However, these terms are not preferred because they do not cover the full range of digital assets that XRP Ledger tokens can represent. + +Tokens can also be non-fungible. Non-fungible tokens (NFTs) serve to encode ownership of unique physical, non-physical, or purely digital goods, such as works of art or in-game items. + +See [Fungible Tokens](trust-lines-and-issuing.html) and [Non-fungible Tokens](non-fungible-tokens.html). + +## Stablecoins + +Stablecoins are a common model for tokens in the XRP Ledger. The issuer holds assets of value outside of the XRP Ledger, and issues tokens representing the equivalent value on the ledger. + +See [Stablecoins](stablecoins.html). + +## Community Credit + +Another way you can use the XRP Ledger is for "community credit", a system where individuals who know each other can use the XRP Ledger to track who owes whom how much money. One feature of the XRP Ledger is that it can automatically and atomically use these debts to settle payments through [rippling](rippling.html). + +For more on this type of usage, see [paths](paths.html). + +## Other Tokens + +There are other use cases for tokens issued in the XRP Ledger. For example, you can create an "Initial Coin Offering" (ICO) by issuing a fixed amount of currency to a secondary address, then "throwing away the key" to the issuer. + +**Warning:** ICOs might be [regulated as securities](https://www.sec.gov/oiea/investor-alerts-and-bulletins/ib_coinofferings) in the USA. + +Be sure to research the relevant regulations before engaging in any financial service business. + +## Token Properties + +Tokens in the XRP Ledger are fundamentally different than XRP. Tokens always exist in _trust lines_, and all transfers of tokens move along trust lines. You cannot cause someone else's account to hold more of a token than the _limit_ configured on their trust line. (You _can_ cause your own trust line to go over the limit, for example by buying more of it in the decentralized exchange or by decreasing the limit after you already have a positive balance.) + +Anyone can issue tokens by sending a [Payment transaction][] if the necessary trust lines are in place. You can "burn" tokens by sending them back to the issuer. In some cases, cross-currency payments or trades can also create more tokens according to an issuer's settings. + +Issuers have options with tokens that are not available with XRP. Issuers can charge a [transfer fee](transfer-fees.html) that is automatically deducted when users transfer their tokens. Issuers can also define a [tick size](ticksize.html) for exchanges rates involving their tokens. Both issuers and regular accounts can [freeze](freezes.html) trust lines, which limits how the tokens in those trust lines can be used. + +Tokens use decimal (base-10) math with 15 digits of precision and an exponent that allows them to express very large values (up to 9999999999999999 × 1080) and very small values (down to 1.0 × 10-81). + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/concepts/tokens/nftoken-batch-minting.md b/content/concepts/tokens/nftoken-batch-minting.md deleted file mode 100644 index e54f3e0064..0000000000 --- a/content/concepts/tokens/nftoken-batch-minting.md +++ /dev/null @@ -1,39 +0,0 @@ ---- -html: nftoken-batch-minting.html -parent: non-fungible-tokens.html -blurb: Minting NFToken objects in batches. -labels: - - Non-fungible Tokens, NFTs ---- - -# Batch minting - -There are two common approaches to minting NFToken objects in batches: mint on demand and scripted minting. - -## Mint On Demand (Lazy Minting) - -When using a mint on demand model, you and potential customers make buy or sell offers for initial sales of a NFToken object off the XRP Ledger. When you are ready to start the initial sale, you mint the token, create a sell offer or accept a buy offer, then complete the transaction. - -### Benefits - -* There is no reserve requirement for holding unsold NFToken objects. -* You mint NFToken objects in real time when you know that it will sell. - -### Downside - -Any market activity before the initial sale of the NFToken object is not recorded on the XRP Ledger. This might not be an issue for some applications. - -## Scripted Minting - -Use a program or script to mint many tokens at once. You might find that [Tickets](tickets.html) help you submit transactions in parallel, up to a current limit of 200 transactions in one group. - -For a practical example, see the [Batch Mint NFTs Using JavaScript](batch-mint-nfts-using-javascript.html) tutorial. - -### Benefits - -* NFToken objects are minted ahead of time -* Market activity for the initial sale of the NFToken object is captured on the ledger - -### Downside - -You need to meet the [reserve requirement](reserves.html) for all of the `NFToken` objects you mint. As a rule of thumb, this is roughly 1/12th XRP per NFToken object at the current reserve rate. In the event that you do not have enough XRP in reserve, your mint transactions fail until you get more XRP. diff --git a/content/concepts/tokens/nftoken-authorized-minting.md b/content/concepts/tokens/nfts/authorizing-another-minter.md similarity index 95% rename from content/concepts/tokens/nftoken-authorized-minting.md rename to content/concepts/tokens/nfts/authorizing-another-minter.md index b70308ea33..4a52d66ae9 100644 --- a/content/concepts/tokens/nftoken-authorized-minting.md +++ b/content/concepts/tokens/nfts/authorizing-another-minter.md @@ -5,7 +5,7 @@ blurb: You can assign another account to mint NFTs in your stead. labels: - Non-fungible Tokens, NFTs --- -# Authorizing Another Account to Mint Your NFTs +# Authorizing Another Minter Each account can have 0 or 1 authorized minter that can mint NFTs on its behalf. By authorizing a minter, a creator can allow a different account to mint NFTs for them, which allows them to focus on making more NFTs. @@ -13,9 +13,9 @@ Each account can have 0 or 1 authorized minter that can mint NFTs on its behalf. You set the authorized minter with an `AccountSet` transaction. -``` json +```js tx_json = { - "TransactionType": "AccountSet", + "TransactionType": "AccountSet", "Account": "rrE5EgHN4DfjXhR9USecudHm7UyhTYq6m", "NFTokenMinter": "r3riWB2TDWRmwmT7FRKdRHjqm6efYu4s9C", "SetFlag": xrpl.AccountSetAsfFlags.asfAuthorizedNFTokenMinter @@ -30,7 +30,7 @@ tx_json = { To remove an authorized minter, use the `AccountSet` transaction and clear the `asfAuthorizedNFTokenMinter` flag. -``` json +```js tx_json = { "TransactionType": "AccountSet", "Account": "rrE5EgHN4DfjXhR9USecudHm7UyhTYq6m", @@ -42,7 +42,7 @@ tx_json = { You mint tokens for another account using the standard `NFTokenMint` transaction. The difference is that you must include the `Issuer` field, the account ID of the account for which you are minting the NFT. -```json +```js const transactionBlob = { "TransactionType": "NFTokenMint", "Account": "r3riWB2TDWRmwmT7FRKdRHjqm6efYu4s9C", diff --git a/content/concepts/tokens/nfts/batch-minting.md b/content/concepts/tokens/nfts/batch-minting.md new file mode 100644 index 0000000000..299ea0dfb5 --- /dev/null +++ b/content/concepts/tokens/nfts/batch-minting.md @@ -0,0 +1,39 @@ +--- +html: nftoken-batch-minting.html +parent: non-fungible-tokens.html +blurb: Minting NFTs in batches. +labels: + - Non-fungible Tokens, NFTs +--- + +# Batch Minting + +There are two common approaches to minting NFTs in batches: mint on demand and scripted minting. + +## Mint On Demand (Lazy Minting) + +When using a mint on demand model, you and potential customers make buy or sell offers for initial sales of an NFT off the XRP Ledger. When you are ready to start the initial sale, you mint the token, create a sell offer or accept a buy offer, then complete the transaction. + +### Benefits + +* There is no reserve requirement for holding unsold NFTs. +* You mint NFTs in real time when you know that it will sell. + +### Downside + +Any market activity before the initial sale of the NFT is not recorded on the XRP Ledger. This might not be an issue for some applications. + +## Scripted Minting + +Use a program or script to mint many tokens at once. You might find that [Tickets](tickets.html) help you submit transactions in parallel, up to a current limit of 200 transactions in one group. + +For a practical example, see the [Batch Mint NFTs Using JavaScript](batch-mint-nfts-using-javascript.html) tutorial. + +### Benefits + +* NFTs are minted ahead of time. +* Market activity for the initial sale of the NFT is captured on the ledger. + +### Downside + +You need to meet the [reserve requirement](reserves.html) for all of the NFTs you mint. As a rule of thumb, this is roughly 1/12th XRP per NFT at the current reserve rate. In the event that you do not have enough XRP in reserve, your mint transactions fail until you get more XRP. diff --git a/content/concepts/tokens/nft-collections.md b/content/concepts/tokens/nfts/collections.md similarity index 100% rename from content/concepts/tokens/nft-collections.md rename to content/concepts/tokens/nfts/collections.md diff --git a/content/concepts/tokens/nft-fixed-supply.md b/content/concepts/tokens/nfts/guaranteeing-a-fixed-supply.md similarity index 100% rename from content/concepts/tokens/nft-fixed-supply.md rename to content/concepts/tokens/nfts/guaranteeing-a-fixed-supply.md diff --git a/content/concepts/tokens/nfts/index.md b/content/concepts/tokens/nfts/index.md new file mode 100644 index 0000000000..e1731ba09c --- /dev/null +++ b/content/concepts/tokens/nfts/index.md @@ -0,0 +1,46 @@ +--- +html: non-fungible-tokens.html +parent: tokens.html +blurb: Introduction to XRPL NFTs. +labels: + - Non-fungible Tokens, NFTs +--- + +# Non-Fungible Tokens + +The XRP Ledger natively supports non-fungible tokens (NFTs, or “nifties” in the vernacular). Non-fungible tokens serve to encode ownership of unique physical, non-physical, or purely digital goods, such as works of art or in-game items. + +_(Added by the [NonFungibleTokensV1_1 amendment][].)_ + +To represent digital assets similar to these, use the XRP Ledger's Non-Fungible Tokens feature (sometimes referred to by its standards draft number, [XLS-20](https://github.com/XRPLF/XRPL-Standards/discussions/46)). + +## NFTs on the XRP Ledger + +On the XRP Ledger, an NFT is represented as a [NFToken][] object. An NFT is a unique, indivisible unit that is not used for payments. Users can mint (create), hold, buy, sell, and burn (destroy) NFTs. + +The ledger stores up to 32 NFTa owned by the same account in a single [NFTokenPage object][] to save space. As a result, the owner's [reserve requirement](reserves.html) for NFTs only increases when the ledger needs to make a new page to store additional tokens. + +Accounts can also name a _Broker_ or an _Authorized Minter_ who can sell or mint NFTs on their behalf. + +NFTs have several immutable settings that are defined when the token is minted. These include: + +- Identifying data that uniquely defines the token. +- Whether the issuer can burn the token, regardless of who currently holds it. +- Whether the holder of the token can transfer it to others. (An NFT can always be sent to or from the issuer directly.) +- If transfers are allowed, the issuer can charge a transfer fee as a percentage of the sale price. +- Whether the holder can sell the NFT for [fungible token](trust-lines-and-issuing.html) amounts, or only for XRP. + +## NFT Lifecycle + +Anyone can create a new NFT using the [NFTokenMint transaction][]. The NFT lives on the [NFTokenPage object][] of the issuing account. Either the owner or an interested party can send a [NFTokenCreateOffer transaction][] to propose buying or selling the NFT; the ledger tracks the proposed transfer as a [NFTokenOffer object][], and deletes the `NFTokenOffer` when either side accepts or cancels the offer. If the NFT is transferable, it can be traded multiple times between accounts. + +You can destroy an NFT you own using the [NFTokenBurn transaction][]. If the issuer minted the token with the `tfBurnable` flag enabled, the issuer can also burn the token, regardless of the current owner. (This could be useful, for example, for a token that represents a ticket to an event that is used up at some point.) + +![The NFT Lifecycle](img/nft-lifecycle.png "NFT Lifecycle Image") + +For more info about transferring NFTs, see [Trading NFTs on the XRP Ledger](non-fungible-token-transfers.html). + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/concepts/tokens/nft-apis.md b/content/concepts/tokens/nfts/nft-apis.md similarity index 67% rename from content/concepts/tokens/nft-apis.md rename to content/concepts/tokens/nfts/nft-apis.md index 66bdec0e83..1efe9a1b5b 100644 --- a/content/concepts/tokens/nft-apis.md +++ b/content/concepts/tokens/nfts/nft-apis.md @@ -9,12 +9,12 @@ labels: This page lists the transactions and requests associated with NFTs as a handy reference. -## NFT Objects +## NFT Ledger Entries - [NFToken][] data type - The NFT object stored on the ledger. -- Ledger Objects - - [NFTokenOffer object][] - An offer to buy or sell an NFT. - - [NFTokenPage object][] - An NFT page holds a maximum of 32 NFT objects. In practice, each NFT page typically holds 16-24 NFTs. +- Ledger Entries + - [NFTokenOffer entry][] - An offer to buy or sell an NFT. + - [NFTokenPage entry][] - An NFT page holds a maximum of 32 NFTs. In practice, each NFT page typically holds 16-24 NFTs. ## NFT Transactions @@ -38,20 +38,14 @@ This page lists the transactions and requests associated with NFTs as a handy re ## Clio -Clio servers enhance overall network performance by handling requests for information based on cached information, freeing up validators on the XRP Ledger to focus on processing transactions. In addition to all of the common XRP Ledger request types, the Clio server handles additional request types that provide more detailed responses. - -### Clio-specific NFT requests +[Clio servers](the-clio-server.html) also provide the following APIs related to NFTs: - [nft_info](nft_info.html) - Get current status information about the specified NFT. - [nft_history](nft_history.html) - Get past transaction metadata for the specified NFT. - - You can access a public Clio server by sending a request to its URL and Clio port (typically 51233). Public Clio API servers come with no SLAs nor any responsibility to be fixed on priority. If your business use case requires continual monitoring and information requests, consider setting up your own Clio server instance. See [install-clio-on-ubuntu](install-clio-on-ubuntu.html). -{% include '_snippets/rippled-api-links.md' %} -{% include '_snippets/tx-type-links.md' %} -{% include '_snippets/rippled_versions.md' %} \ No newline at end of file +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/concepts/tokens/nft-storage.md b/content/concepts/tokens/nfts/payload-storage.md similarity index 100% rename from content/concepts/tokens/nft-storage.md rename to content/concepts/tokens/nfts/payload-storage.md diff --git a/content/concepts/tokens/nft-reserve-requirements.md b/content/concepts/tokens/nfts/reserve-requirements.md similarity index 96% rename from content/concepts/tokens/nft-reserve-requirements.md rename to content/concepts/tokens/nfts/reserve-requirements.md index fb9a14cc28..3a86cc718d 100644 --- a/content/concepts/tokens/nft-reserve-requirements.md +++ b/content/concepts/tokens/nfts/reserve-requirements.md @@ -65,4 +65,4 @@ If you were to mint 200 NFTs and create an `NFTokenSellOffer`for each, that woul | Total | 436 XRP | | | | -If the required reserves exceed the amount you are comfortable setting aside, consider using the mint-on-demand model to reduce the number of NFTs and offers you hold at any one time. See [Mint on Demand](nftoken-batch-minting.html#mint-on-demand-lazy-minting). +If the required reserves exceed the amount you are comfortable setting aside, consider using the mint-on-demand model to reduce the number of NFTs and offers you hold at any one time. For details, see [Batch Minting](nftoken-batch-minting.html). diff --git a/content/concepts/tokens/nftoken-auctions.md b/content/concepts/tokens/nfts/running-an-nft-auction.md similarity index 98% rename from content/concepts/tokens/nftoken-auctions.md rename to content/concepts/tokens/nfts/running-an-nft-auction.md index b75bd400f8..94838bb406 100644 --- a/content/concepts/tokens/nftoken-auctions.md +++ b/content/concepts/tokens/nfts/running-an-nft-auction.md @@ -15,7 +15,7 @@ This flow is the most straightforward. Note that the `NFTokenOffer` objects can 1. Store your bids in a private database. 2. You take a cut of the winning bid. -3. Send the buyer/seller the XRPL transaction to complete the purchase. +3. Send the buyer/seller the XRPL transaction to complete the purchase. ## Run the Auction in Brokered Mode, with a Reserve @@ -39,7 +39,7 @@ Run the auction in brokered mode, as an auction with a reserve. A major mitigating factor of this downside is that if this behavior were to happen, brokers would lose their entire market share, which sellers should understand. -## Run the Auction in Brokered Mode, without a Reserve. +## Run the Auction in Brokered Mode, without a Reserve. This is the most complex workflow of the three. diff --git a/content/concepts/tokens/nfts/trading.md b/content/concepts/tokens/nfts/trading.md new file mode 100644 index 0000000000..0b5a0525c5 --- /dev/null +++ b/content/concepts/tokens/nfts/trading.md @@ -0,0 +1,76 @@ +--- +html: non-fungible-token-transfers.html +parent: non-fungible-tokens.html +blurb: Trading NFTs in direct or brokered mode. +labels: + - Non-fungible Tokens, NFTs +--- + +# Trading NFTs + +You can transfer NFTs between accounts on the XRP Ledger. You can offer to buy or sell an NFT, or accept offers from other accounts to buy an NFT you own. You can even give away an NFT by offering to sell it at a price of 0. All offers are created using [NFTokenCreateOffer transaction][]. + +_(Added by the [NonFungibleTokensV1_1 amendment][].)_ + +## Reserve Requirements + +Every `NFTokenOffer` object requires that your account increase its owner reserve, currently 2 XRP per `NFTokenSellOffer` and 2 XRP per `NFTokenBuyOffer`. This is to prevent accounts from spamming the ledger with offers they don't intend to complete. + +See [NFT Reserve Requirements](nft-reserve-requirements.html). + +## Sell Offers + +### Create a Sell Offer + +As the owner of an NFT, you can create a sell offer using a [NFTokenCreateOffer transaction][] with the `tfSellToken` flag. You provide the `NFTokenID` and the `Amount` you are willing to accept in payment. You can optionally specify an `Expiration` date, after which the offer is no longer valid, and a `Destination` account, which is the only account that is allowed to buy the NFT. + +### Accept a Sell Offer + +To buy an NFT that is offered for sale, you use a `NFTokenAcceptOffer` transaction. You provide the owner account and specify the `NFTokenOfferID` of the `NFTokenOffer` object you choose to accept. + +## Buy Offers + +### Create a Buy Offer + +Any account can offer to buy an NFT. You can create a buy offer using [NFTokenCreateOffer][] _without_ the `tfSellToken` flag. You provide the `Owner` account, `NFTokenID`, and the `Amount` of your offer. + +### Accept a Buy Offer + +Use the `NFTokenAcceptOffer` transaction to transfer an NFT. Provide the `NFTokenOfferID` and the owner account to complete the transaction. + +## Trading Modes + +When trading an NFT, you can choose between a _direct_ transaction between a buyer and seller or a _brokered_ transaction, where a third party account matches a sell and buy offer to arrange the trade. + +Trading in direct mode gives the seller control over the transfer. The seller can either post an NFT for sale so that anyone can buy it, or sell an NFT to a specific account. The seller receives the entire price for the NFT. + +In brokered mode, the seller allows a third party account to broker the sale of the NFT. The broker account collects a broker fee for the transfer at an agreed upon rate. This happens as one transaction, paying the broker and seller from the buyer’s funds without requiring an up front investment by the broker. + +### When to Use Brokered Mode + +If an NFT creator has the time and patience to seek out the right buyers, the creator keeps all proceeds from the sale. This works fine for a creator who sells few NFTs at variable prices. + +On the other hand, creators might not want to spend their time selling their creations when they could spend the time creating. Instead of handling each individual sale, the sales work can be turned over to a third-party broker account. + +Using a broker offers several advantages. For example: + +* The broker can act as an agent, working to maximize the selling price of the NFT. If the broker is paid a percentage of the sale price, the higher the price, the more the broker earns. +* The broker can act as a curator, organizing NFTs based on a niche market, price point, or other criteria. This can attract groups of buyers who might not otherwise discover a creator’s work. +* The broker can act as a marketplace, similar to Opensea.io, to handle the auction process at the application layer. + +### Brokered Sale Workflows + +In the most straightforward workflow, a creator mints a new NFT. The creator initiates a sell offer, entering the minimum acceptable sale price and setting the broker as the destination. Potential buyers make bids for the NFT, setting the broker as the destination for the bid. The broker selects a winning bid and completes the transaction, taking a broker’s fee. As a best practice, the broker then cancels any remaining buy offers for the NFT. + +![Brokered Mode with Reserve](img/nft-brokered-mode-with-reserve.png) + +Another potential workflow would give the creator more control over the sale. In this workflow, the creator mints a new NFT. Bidders create their offers, setting the broker as the destination. The broker selects the winning bid, subtracts their broker fee, and uses `NFTokenCreateOffer` to request that the creator sign off on the offer. The creator signs the requested offer, setting the broker as the destination. The broker completes the sale using `NFTokenAcceptOffer`, retaining the broker fee. The broker cancels any remaining bids for the NFT using `NFTokenCancelOffer`. + +![Brokered Mode without Reserve](img/nft-brokered-mode-without-reserve.png) + +The same workflows can be used when an owner resells an NFT created by another account. + + +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/concepts/tokens/non-fungible-token-transfers.md b/content/concepts/tokens/non-fungible-token-transfers.md deleted file mode 100644 index f6bade4225..0000000000 --- a/content/concepts/tokens/non-fungible-token-transfers.md +++ /dev/null @@ -1,76 +0,0 @@ ---- -html: non-fungible-token-transfers.html -parent: non-fungible-tokens.html -blurb: Trading NFTokens in direct or brokered mode. -labels: - - Non-fungible Tokens, NFTs ---- - -# Trading NFTokens on the XRP Ledger - -You can transfer `NFToken` objects between accounts on the XRP Ledger. You can offer to buy or sell a `NFToken`, or accept offers from other accounts to buy a `NFToken` you own. You can even give away a `NFToken` by offering to sell it at a price of 0. All offers are created using [NFTokenCreateOffer transaction][]. - -_(Added by the [NonFungibleTokensV1_1 amendment][].)_ - -## Reserve Requirements - -Every NFTokenOffer object requires that your account increase its owner reserve, currently 2 XRP per `NFTokenSellOffer` and 2 XRP per `NFTokenBuyOffer`. This is to prevent accounts from spamming the ledger with offers they don't intend to complete. - -See [NFT Reserve Requirements](nft-reserve-requirements.html). - -## Sell Offers - -### Create a Sell Offer - -As the owner of a `NFToken` object, you can create a sell offer using a [NFTokenCreateOffer transaction][] with the `tfSellToken` flag. You provide the `NFTokenID` and the `Amount` you are willing to accept in payment. You can optionally specify an `Expiration` date, after which the offer is no longer valid, and a `Destination` account, which is the only account that is allowed to buy the `NFToken`. - -### Accept a Sell Offer - -To buy a `NFToken` that is offered for sale, you use a `NFTokenAcceptOffer` transaction. You provide the owner account and specify the `NFTokenOfferID` of the `NFTokenOffer` object you choose to accept. - -## Buy Offers - -### Create a Buy Offer - -Any account can offer to buy a `NFToken`. You can create a buy offer using [NFTokenCreateOffer][] _without_ the `tfSellToken` flag. You provide the `Owner` account, `NFTokenID`, and the `Amount` of your offer. - -### Accept a Buy Offer - -Use the `NFTokenAcceptOffer` transaction to transfer a `NFToken`. Provide the `NFTokenOfferID` and the owner account to complete the transaction. - -## Trading Modes - -When trading a `NFToken`, you can choose between a _direct_ transaction between a buyer and seller or a _brokered_ transaction, where a third party account matches a sell and buy offer to arrange the trade. - -Trading in direct mode gives the seller control over the transfer. The seller can either post a `NFToken` for sale so that anyone can buy it, or sell a `NFToken` to a specific account. The seller receives the entire price for the `NFToken`. - -In brokered mode, the seller allows a third party account to broker the sale of the `NFToken`. The broker account collects a broker fee for the transfer at an agreed upon rate. This happens as one transaction, paying the broker and seller from the buyer’s funds without requiring an up front investment by the broker. - -### When to Use Brokered Mode - -If a `NFToken` creator has the time and patience to seek out the right buyers, the creator keeps all proceeds from the sale. This works fine for a creator who sells few `NFToken` objects at variable prices. - -On the other hand, creators might not want to spend their time selling their creations when they could spend the time creating. Instead of handling each individual sale, the sales work can be turned over to a third-party broker account. - -Using a broker offers several advantages. For example: - -* The broker can act as an agent, working to maximize the selling price of the `NFToken`. If the broker is paid a percentage of the sale price, the higher the price, the more the broker earns. -* The broker can act as a curator, organizing `NFToken` objects based on a niche market, price point, or other criteria. This can attract groups of buyers who might not otherwise discover a creator’s work. -* The broker can act as a marketplace, similar to Opensea.io, to handle the auction process at the application layer. - -### Brokered Sale Workflows - -In the most straightforward workflow, a creator mints a new `NFToken`. The creator initiates a sell offer, entering the minimum acceptable sale price and setting the broker as the destination. Potential buyers make bids for the `NFToken`, setting the broker as the destination for the bid. The broker selects a winning bid and completes the transaction, taking a broker’s fee. As a best practice, the broker then cancels any remaining buy offers for the `NFToken`. - -![Brokered Mode with Reserve](img/nft-brokered-mode-with-reserve.png) - -Another potential workflow would give the creator more control over the sale. In this workflow, the creator mints a new `NFToken`. Bidders create their offers, setting the broker as the destination. The broker selects the winning bid, subtracts their broker fee, and uses `NFTokenCreateOffer` to request that the creator sign off on the offer. The creator signs the requested offer, setting the broker as the destination. The broker completes the sale using `NFTokenAcceptOffer`, retaining the broker fee. The broker cancels any remaining bids for the `NFToken` using `NFTokenCancelOffer`. - -![Brokered Mode without Reserve](img/nft-brokered-mode-without-reserve.png) - -The same workflows can be used when an owner resells a `NFToken` created by another account. - - -{% include '_snippets/rippled-api-links.md' %} -{% include '_snippets/tx-type-links.md' %} -{% include '_snippets/rippled_versions.md' %} diff --git a/content/concepts/tokens/non-fungible-tokens.md b/content/concepts/tokens/non-fungible-tokens.md deleted file mode 100644 index 5f1f202a73..0000000000 --- a/content/concepts/tokens/non-fungible-tokens.md +++ /dev/null @@ -1,70 +0,0 @@ ---- -html: non-fungible-tokens.html -parent: tokens.html -blurb: Introduction to XRPL NFTs. -labels: - - Non-fungible Tokens, NFTs ---- - -# Non-Fungible Tokens - -The XRP Ledger natively supports non-fungible tokens (NFTs, or “nifties” in the vernacular). Non-fungible tokens serve to encode ownership of unique physical, non-physical, or purely digital goods, such as works of art or in-game items. - -_(Added by the [NonFungibleTokensV1_1 amendment][].)_ - - -## Background - -The XRP Ledger offers support for [tokens](tokens.html). Such assets are, primarily, fungible. - -> Fun·gi·ble /´fənjəbəl/ (adj) -> -> 1. able to replace or be replaced by another identical item; mutually interchangeable. - -Fungible tokens can be traded between users for XRP or other issued assets on the XRP Ledger's decentralized exchange. This makes them ideal for payments. - - -A good example of a fungible item might be a postage stamp. If you are standing around in 1919 and need to send a letter by airmail, you would buy a 24-cent stamp and affix it to your envelope. If you lost that stamp, you could use a different 24-cent stamp or use 2 10-cent stamps and 2 2-cent stamps. Very fungible. - -![Jenny Stamps](img/nft-concepts1.png "Jenny Stamps") - -But since you are standing around in 1919, you might be offered 24-cent airmail stamps where the aeroplane on the stamp is accidentally printed upside down. These are the world famous “Inverted Jenny” stamps. Only 100 were circulated on a single sheet of stamps, making them extremely rare and sought after. The current value of each mint condition stamp is appraised at over $1.5 million dollars. - -![Jenny Stamps](img/nft-concepts2.png "Jenny Stamps") - -Those stamps cannot be replaced by an ordinary 24-cent stamp. They have become _non-fungible_. - -To represent digital assets similar to these, use the XRP Ledger's Non-Fungible Tokens feature (sometimes referred to by its standards draft number, [XLS-20](https://github.com/XRPLF/XRPL-Standards/discussions/46)). - - -## NFTs on the XRP Ledger - -On the XRP Ledger, a non-fungible token is represented as a [NFToken][] object. A `NFToken` is a unique, indivisible unit that is not used for payments. Users can mint (create), hold, buy, sell, and burn (destroy) such tokens. - -The ledger stores up to 32 `NFToken` objects owned by the same account in a single [NFTokenPage object][] to save space. As a result, the owner's [reserve requirement](reserves.html) for `NFToken` objects only increases when the ledger needs to make a new page to store additional tokens. - -Accounts can also name a broker, or "Authorized Minter", who can mint and sell `NFToken` objects on their behalf. - -`NFToken` objects have several settings that are defined when the token is minted and cannot be changed later. These include: - -- Various identifying data that uniquely defines the token. -- Whether the issuer can burn the token regardless of who currently holds it. -- Whether the holder of the token can transfer it to others. (The `NFToken` can always be sent to or from the issuer directly.) - - If transfers are allowed, the issuer can charge a transfer fee as a percentage of the sale price. -- Whether the holder can sell the `NFToken` for [fungible token](tokens.html) amounts, or only for XRP. - - -## `NFToken` Lifecycle - -Anyone can create a new `NFToken` using the [NFTokenMint transaction][] type. The `NFToken` lives on the [NFTokenPage object][] of the issuing account. Either the owner or an interested party can send a [NFTokenCreateOffer transaction][] to propose buying or selling the `NFToken`; the ledger tracks the proposed transfer as a [NFTokenOffer object][], and deletes the `NFTokenOffer` when either side accepts or cancels the offer. If the `NFToken` is transferable, it can be traded multiple times between accounts. - -You can destroy a `NFToken` you own using the [NFTokenBurn transaction][]. If the issuer minted the token with `tfBurnable` flag enabled, the issuer can also burn the token regardless of the current owner. (This could be useful, for example, for a token that represents a ticket to an event which is used up at some point.) - -![The NFT Lifecycle](img/nft-lifecycle.png "NFT Lifecycle Image") - -For more info about transferring `NFToken` objects, see [Trading NFTokens on the XRP Ledger](non-fungible-token-transfers.html). - - -{% include '_snippets/rippled-api-links.md' %} -{% include '_snippets/tx-type-links.md' %} -{% include '_snippets/rippled_versions.md' %} diff --git a/content/concepts/tokens/tokens.md b/content/concepts/tokens/tokens.md deleted file mode 100644 index 512f63c51a..0000000000 --- a/content/concepts/tokens/tokens.md +++ /dev/null @@ -1,83 +0,0 @@ ---- -parent: concepts.html -blurb: Anyone can make tokens representing digital value on the XRP Ledger. -labels: - - Tokens ---- -# Tokens - -All assets other than XRP can be represented in the XRP Ledger as **tokens**. Standard tokens are tracked in relationships called [trust lines](trust-lines-and-issuing.html) between accounts. Any account can issue tokens to other recipients who are willing to hold them, but you cannot unilaterally give tokens away to users who don't want them. Tokens can represent any type of value, including "stablecoins" backed by assets that exist outside of the ledger, purely digital tokens created specifically on the XRP Ledger, community credit, and more. - -**Note:** Tokens on the XRP Ledger have also been called "IOUs" (as in [I-owe-you](https://en.wikipedia.org/wiki/IOU)) and "issued currencies" in the past. However, these terms are not preferred because they do not cover the full range of digital assets that XRP Ledger tokens can represent. - -Standard tokens are fungible: meaning, all units of that token are interchangeable and indistinguishable. Non-fungible tokens are also possible: see [Non-Fungible Tokens](non-fungible-tokens.html) for details of the XRP Ledger's native support. - -Tokens can used for [cross-currency payments](cross-currency-payments.html) and can be traded in the [decentralized exchange](decentralized-exchange.html). - -The balance on a trust line is negative or positive depending on which side you view it from. The side with the negative balance is called the "issuer" and can control some properties of how those tokens behave. When you send tokens to another account that isn't the issuer, those tokens "ripple" through the issuer and possibly other accounts using the same currency code. This is useful in some cases, but can cause unexpected and undesirable behavior in others. You can use the [No Ripple flag](rippling.html) on trust lines to prevent those trust lines from rippling. - - -## Stablecoins - -A common model for tokens in the XRP Ledger is that an issuer holds assets of equivalent value outside of the XRP Ledger, and issues tokens representing that value on the ledger. This type of issuer is sometimes called a _gateway_ because currency can move into and out of the XRP Ledger through their service. If the assets that back a token use the same amounts and denomination as the tokens in the ledger, that token can be considered a "stablecoin" because—in theory—the exchange rate between that token and its off-ledger representation should be stable at 1:1. - -A stablecoin issuer should offer _deposits_ and _withdrawals_ to exchange the tokens for the actual currency or asset in the world outside the XRP Ledger. - -In practice, the XRP Ledger is a computer system that cannot enforce any rules outside of itself, so stablecoins on the XRP Ledger depend on their issuer's integrity. If you can't count on the stablecoin's issuer to redeem your tokens for the real thing on demand, then you shouldn't expect the stablecoin to hold its value. As a user, you should be mindful of who's issuing the tokens: are they reliable, lawful, and solvent? If not, it's probably best not to hold those tokens. - -For more information, see [Stablecoin Issuer](stablecoin-issuer.html). - - -## Community Credit - -Another way you can use the XRP Ledger is for "community credit", a system where individuals who know each other can use the XRP Ledger to track who owes who else how much money. A powerful feature of the XRP Ledger is that it can automatically and atomically use these debts to settle payments through [rippling](rippling.html). - -For example, if Asheesh owes Marcus $20, and Marcus owes Bharath $50, Bharath can "pay" Asheesh $20 by canceling that much of Marcus's debt to him in exchange for canceling Asheesh's debt to Marcus. The reverse is also possible: Asheesh can pay Bharath through Marcus by increasing their respective debts. The XRP Ledger can settle complex chains of exchanges like this in a single transaction without the accounts in the middle needing to do anything manually. - -For more on this type of usage, see [paths](paths.html). - - -## Other Tokens - -There are other use cases for tokens issued in the XRP Ledger. For example, you can create an "Initial Coin Offering" (ICO) by issuing a fixed amount of currency to a secondary address, then "throwing away the key" to the issuer. - -**Warning:** ICOs may be [regulated as securities](https://www.sec.gov/oiea/investor-alerts-and-bulletins/ib_coinofferings) in the USA. - -Be sure to research the relevant regulations before engaging in any financial service business. - - -## Token Properties - -Tokens in the XRP Ledger are [fundamentally different than XRP](currency-formats.html#comparison). Tokens always exist _in trust lines_, and all transfers of tokens move along trust lines. You cannot cause someone else's account to hold more of a token than the _limit_ configured on their trust line. (You _can_ cause your own trust line to go over the limit, for example by buying more of it in the [decentralized exchange](decentralized-exchange.html) or by decreasing the limit after you already have a positive balance.) - -Tokens use decimal (base-10) math with 15 digits of precision and an exponent that allows them to express very large values (up to 9999999999999999 × 1080) and very small values (down to 1.0 × 10-81). - -Anyone can issue tokens by sending a [Payment transaction][] if the necessary trust lines are in place. You can "burn" tokens by sending them back to the issuer. In some cases, [cross-currency payments](cross-currency-payments.html) or trades can also create more tokens according to an issuer's settings. - -Issuers can charge a [transfer fee](transfer-fees.html) that is automatically deducted when users transfer their tokens. Issuers can also define a [tick size](ticksize.html) for exchanges rates involving their tokens. Both issuers and regular accounts can [freeze](freezes.html) trust lines, which limits how the tokens in those trust lines can be used. (None of these things applies to XRP.) - -For a tutorial of the technical steps involved in issuing a token, see [Issue a Fungible Token](issue-a-fungible-token.html). - - -## See Also - -- **Concepts:** - - [What is XRP?](what-is-xrp.html) - - [Cross-Currency Payments](cross-currency-payments.html) - - [Decentralized Exchange](decentralized-exchange.html) -- **Tutorials:** - - [Issue a Fungible Token](issue-a-fungible-token.html) - - [Look Up Transaction Results](look-up-transaction-results.html) - - [Use Specialized Payment Types](use-specialized-payment-types.html) -- **References:** - - [Payment transaction][] - - [TrustSet transaction][] - - [RippleState object](ripplestate.html) - - [account_lines method][] - - [account_currencies method][] - - [gateway_balances method][] - - -{% include '_snippets/rippled-api-links.md' %} -{% include '_snippets/tx-type-links.md' %} -{% include '_snippets/rippled_versions.md' %} diff --git a/content/references/protocol/data-types/nftoken.md b/content/references/protocol/data-types/nftoken.md index 9b1982fdf7..fa8903dec8 100644 --- a/content/references/protocol/data-types/nftoken.md +++ b/content/references/protocol/data-types/nftoken.md @@ -132,6 +132,6 @@ https://example.com/.well-known/xrpl-nft/{nftokenid} You create `NFToken` objects using the `NFTokenMint` transaction. You can optionally destroy `NFToken` objects using the `NFTokenBurn` transaction. -{% include '_snippets/rippled-api-links.md' %} -{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} {% include '_snippets/rippled_versions.md' %} diff --git a/content/references/protocol/transactions/types/payment.md b/content/references/protocol/transactions/types/payment.md index 43e086c087..6155052fad 100644 --- a/content/references/protocol/transactions/types/payment.md +++ b/content/references/protocol/transactions/types/payment.md @@ -110,7 +110,7 @@ Transactions of the Payment type support additional values in the [`Flags` field ## Partial Payments -A partial payment allows a payment to succeed by reducing the amount received. Partial payments are useful for [returning payments](stablecoin-issuer.html#bouncing-payments) without incurring additional costs to oneself. However, partial payments can also be used to exploit integrations that naively assume the `Amount` field of a successful transaction always describes the exact amount delivered. +A partial payment allows a payment to succeed by reducing the amount received. Partial payments are useful for [returning payments](bouncing-payments.html) without incurring additional costs to oneself. However, partial payments can also be used to exploit integrations that naively assume the `Amount` field of a successful transaction always describes the exact amount delivered. A partial payment is any [Payment transaction][] with the `tfPartialPayment` flag enabled. A partial payment can be successful if it delivers any positive amount greater than or equal to its `DeliverMin` field (or any positive amount at all if `DeliverMin` is not specified) without sending more than the `SendMax` value. diff --git a/content/tutorials/manage-account-settings/offline-account-setup.md b/content/tutorials/manage-account-settings/offline-account-setup.md index eeaca70edc..86316caf62 100644 --- a/content/tutorials/manage-account-settings/offline-account-setup.md +++ b/content/tutorials/manage-account-settings/offline-account-setup.md @@ -345,6 +345,6 @@ Then adjust and sign any replacement transactions for transactions that failed i -{% include '_snippets/rippled-api-links.md' %} -{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} {% include '_snippets/rippled_versions.md' %} diff --git a/content/tutorials/use-tokens/enable-no-freeze.md b/content/tutorials/use-tokens/enable-no-freeze.md index 13bf59610f..504fa2ebfe 100644 --- a/content/tutorials/use-tokens/enable-no-freeze.md +++ b/content/tutorials/use-tokens/enable-no-freeze.md @@ -179,7 +179,7 @@ Response: - **Concepts:** - [Freezing Issued Currencies](freezes.html) - - [Trust Lines and Issuing](trust-lines-and-issuing.html) + - [Trust Lines](trust-lines-and-issuing.html) - **Tutorials:** - [Enact Global Freeze](enact-global-freeze.html) - [Freeze a Trust Line](freeze-a-trust-line.html) @@ -193,6 +193,6 @@ Response: -{% include '_snippets/rippled-api-links.md' %} -{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} {% include '_snippets/rippled_versions.md' %} diff --git a/content/tutorials/use-tokens/enact-global-freeze.md b/content/tutorials/use-tokens/enact-global-freeze.md index 24ef4f7ea5..2a2e636ecf 100644 --- a/content/tutorials/use-tokens/enact-global-freeze.md +++ b/content/tutorials/use-tokens/enact-global-freeze.md @@ -255,7 +255,7 @@ After the transaction is validated, you can confirm the status of the Global Fre - **Concepts:** - [Freezing Issued Currencies](freezes.html) - - [Trust Lines and Issuing](trust-lines-and-issuing.html) + - [Trust Lines](trust-lines-and-issuing.html) - **Tutorials:** - [Enable No Freeze](enable-no-freeze.html) - [Freeze a Trust Line](freeze-a-trust-line.html) @@ -270,6 +270,6 @@ After the transaction is validated, you can confirm the status of the Global Fre -{% include '_snippets/rippled-api-links.md' %} -{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} {% include '_snippets/rippled_versions.md' %} diff --git a/content/tutorials/use-tokens/freeze-a-trust-line.md b/content/tutorials/use-tokens/freeze-a-trust-line.md index a8670535d9..1ab974c6bc 100644 --- a/content/tutorials/use-tokens/freeze-a-trust-line.md +++ b/content/tutorials/use-tokens/freeze-a-trust-line.md @@ -331,7 +331,7 @@ As before, wait for the transaction to be validated by consensus. - **Concepts:** - [Freezing Issued Currencies](freezes.html) - - [Trust Lines and Issuing](trust-lines-and-issuing.html) + - [Trust Lines](trust-lines-and-issuing.html) - **Tutorials:** - [Enable No Freeze](enable-no-freeze.html) - [Enact Global Freeze](enact-global-freeze.html) @@ -346,6 +346,6 @@ As before, wait for the transaction to be validated by consensus. -{% include '_snippets/rippled-api-links.md' %} -{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} {% include '_snippets/rippled_versions.md' %} diff --git a/content/use-cases/defi/list-xrp-as-an-exchange.md b/content/use-cases/defi/list-xrp-as-an-exchange.md index 732bf4682e..0acf581b09 100644 --- a/content/use-cases/defi/list-xrp-as-an-exchange.md +++ b/content/use-cases/defi/list-xrp-as-an-exchange.md @@ -7,7 +7,7 @@ labels: --- # List XRP as an Exchange -This document describes the steps that an exchange needs to take to list XRP. These steps are targeted at _custodial exchanges_ that holds fund on behalf of users, and allows users to deposit, withdraw, and trade other digital assets, fiat currencies, or other types of assets. +This document describes the steps that an exchange needs to take to list XRP. These steps are targeted at _custodial exchanges_ that hold funds on behalf of users, and allows users to deposit, withdraw, and trade other digital assets, fiat currencies, or other types of asset. ## Alpha Exchange @@ -41,17 +41,19 @@ To support XRP, Alpha Exchange must: See also: -* [Compliance Guidelines](stablecoin-issuer.html#compliance-guidelines) — Token issuers and exchanges are different, but exchanges should also ensure that they are complying with local regulations and reporting to the appropriate agencies. +* [Compliance Guidelines](stablecoin-compliance-guidelines.html) — Token issuers and exchanges are different, but exchanges should also ensure that they are complying with local regulations and reporting to the appropriate agencies. + -* [Precautions](stablecoin-issuer.html#precautions) +* [Precautions](stablecoin-precautions.html) ### Partial Payments -Before integrating, exchanges should be aware of the [partial payments](partial-payments.html) feature. This feature allows XRP Ledger users to send successful payments that reduce the amount received instead of increasing the `SendMax`. This feature can be useful for [returning payments](stablecoin-issuer.html#bouncing-payments) without incurring additional cost as the sender. +Before integrating, exchanges should be aware of the [partial payments](partial-payments.html) feature. This feature allows XRP Ledger users to send successful payments that reduce the amount received instead of increasing the `SendMax`. This feature can be useful for [returning payments](bouncing-payments.html) without incurring additional cost as the sender. #### Partial Payments Warning diff --git a/content/use-cases/tokenization/authorized-minter.md b/content/use-cases/tokenization/authorized-minter.md index a7e64e38dd..1219f8e701 100644 --- a/content/use-cases/tokenization/authorized-minter.md +++ b/content/use-cases/tokenization/authorized-minter.md @@ -11,7 +11,7 @@ _As an authorized minter, I want to mint tokens for a token issuer at an agreed You can act as an authorized minter for token issuers. When you do this, you own the NFToken, but royalties flow to the NFToken issuer. When you make a sale of that NFToken, the proceeds of the initial sale go to you. You can have an agreement with your issuer to pay them some or all of your portion of the initial sale amount. -You can learn more in the tutorial [Assign an Authorized Minter](assign-an-authorized-minter-using-javascript.html). +You can learn more in the tutorial [Assign an Authorized Minter](assign-an-authorized-minter-using-javascript.html). [![Authorized Minter Flow](img/nft-mkt-auth-minter.png "Authorized Minter Flow")](img/nft-mkt-auth-minter.png) @@ -40,7 +40,7 @@ The NFToken URL is a link to the location where the content of the NFT is stored Considerations that might be most interesting to you: * [Minting NFTs into Collections](nft-collections.html) -Use the TokenTaxon field to gather a set of NFTs centered around a specific theme or purpose. +Use the TokenTaxon field to gather a set of NFTs centered around a specific theme or purpose. * [Guaranteeing a Fixed Supply of NFTs](nft-fixed-supply.html) You can assure scarcity of NFTs you create by creating them with what might be characterized as a “burner” account that you use to mint a set number of NFTs for another account, then delete the account you used to mint the NFTs. See [Guaranteeing a Fixed Supply of NFTs](nft-fixed-supply.html). @@ -84,12 +84,12 @@ When listing NFTs for sale, it can be useful to use object metadata to organize See: -- [Clio setup](install-clio-on-ubuntu.html) +- [Clio setup](install-clio-on-ubuntu.html) - [XRPL Data API](https://api.xrpldata.com/docs/static/index.html#/) - [Bithomp](https://docs.bithomp.com/#nft-xls-20) - ## NFT Caching - diff --git a/content/use-cases/tokenization/nftoken-marketplace.md b/content/use-cases/tokenization/nftoken-marketplace.md index e52c73f547..4adf417625 100644 --- a/content/use-cases/tokenization/nftoken-marketplace.md +++ b/content/use-cases/tokenization/nftoken-marketplace.md @@ -9,7 +9,7 @@ labels: _In my NFToken Marketplace, I want to use the XRPL to create a web presence where I can arrange transfer of a curated selection of NFTokens to consumers, with the benefit that I can build a brand and earn broker fees based on sales._ ---- +--- NFToken Marketplaces act as intermediaries between NFToken creators and collectors. As a marketplace curator, you seek out NFToken creators and assemble a collection of items to sell. Buyers come to your site to review your selections and post offers. You match the minimum prices set by the creators with the optimal offers from the buyers, complete the transaction, and collect a broker fee. @@ -60,7 +60,7 @@ You can learn more about brokered sales in the topic [Trading Tokens on the XRP Learn more about token transfer fees in the topic [Transfer Fees](transfer-fees.html). -You can get started building a brokered sales marketplace by following the steps in the [Broker a NFToken Sale](broker-an-nft-sale-using-javascript.html). +You can get started building a brokered sales marketplace by following the steps in the [Broker a NFToken Sale](broker-an-nft-sale-using-javascript.html). ### Checkout @@ -78,11 +78,11 @@ When listing NFTs for sale, it can be useful to use object metadata to organize See: -- [Clio setup](install-clio-on-ubuntu.html) +- [Clio setup](install-clio-on-ubuntu.html) - [XRPL Data API](https://api.xrpldata.com/docs/static/index.html#/) - [Bithomp](https://docs.bithomp.com/#nft-xls-20) - -See also: +## Token Operations -- [(USA) Bank Secrecy Act / Anti-Money Laundering Examination Manual](https://bsaaml.ffiec.gov/manual/Introduction/01) +### Issue a Stablecoin -- [The Non-US Standard on KYC set by the Financial Action Task Force (FATF)](http://www.fatf-gafi.org/publications/fatfrecommendations/documents/fatf-recommendations.html) +Actually issuing a new stablecoin is straightforward. In practice, there are many considerations when issuing a stablecoin that users will trade with confidence. - +Before you issue your stablecoin, download and read the questions in the [Self-assessment Questionnaire](https://foundation.xrpl.org/wp-content/uploads/2022/03/self_assessment_questionnaire_140322.pdf). When you are ready to distribute your stablecoin, complete the public [Token Issuer Self-Assessment Questionnaire](https://foundation.xrpl.org/token-assessment-framework/). This allows full transparency to the XRPL community about your new stablecoin. -### Anti-Money Laundering (AML) and Combating the Financing of Terrorism (CFT) +For additional considerations, see: -Money laundering is the process of moving illegal funds by disguising the source, nature or ownership so that funds can be legally accessed or distributed via legitimate financial channels and credible institutions. In short, it is converting “dirty money” into “clean money.” Anti-Money Laundering (AML) refers to the laws and procedures designed to stop money laundering from occurring. +- [Stablecoin Issuer - Precautions](stablecoin-precautions.html) +- [Stablecoin Issuer - Compliance Guidelines](stablecoin-compliance-guidelines.html) +- [Issue a Fungible Token](issue-a-fungible-token.html) -Terrorist financing is the solicitation, collection, or provision of funds to organizations engaged in terrorist activity or organizations that support terrorism and its proliferation. Combating the Financing of Terrorism (CFT) refers to the process of identifying, reporting, and blocking flows of funds used to finance terrorism. +### Create a Trust Line -See also: +Trust lines are structures in the XRP Ledger for holding tokens. Trust lines enforce the XRP Ledger's rule that you cannot cause someone else to hold a token they don't want. This precaution is necessary to enable the XRP Ledger's use case for community credit, among other benefits. -- [“International Standards on Combating Money Laundering and the Financing of Terrorism & Proliferation.” FATF, 2012](http://www.fatf-gafi.org/publications/fatfrecommendations/documents/fatf-recommendations.html) +Each "trust line" is a bidirectional relationship consisting of: -- [“Virtual Currencies: Key Definitions and Potential AML/CFT Risks.” FATF, 2014](http://www.fatf-gafi.org/publications/methodsandtrends/documents/virtual-currency-definitions-aml-cft-risk.html) +- The identifiers for the two accounts that the trust line connects. +- A single, shared balance, which is positive from the perspective of one account and negative from the other perspective. +- Various settings and metadata. Each of the two accounts can control its own settings on the trust line. Each side sets a limit on the trust line. - +Each trust line is specific to a given currency code. Two accounts can have any number of trust lines between them for different currency codes, but only one shared trust line for any particular currency code. -### Source of Funds +See [Trust Lines](trust-lines-and-issuing.html#trust-lines). -To prevent illicit funds from passing through their systems, financial institutions must be able to determine within reason if the source of a customer’s funds is linked to criminal activity. +### Authorized Trust Lines -Determining the exact source of funds for every customer may not be administratively feasible. As a result, some regulatory authorities may not provide specific regulation or guidance for all accounts. In specific cases, however, authorities may require financial institutions to identify and report the source of funds. Guidance by the FATF recommends that where the risks of money laundering or terrorist financing are higher (commonly referred to as a “risk-based approach”), financial institutions conduct enhanced due diligence, including but not limited to determining the customer’s source of funds. +The Authorized Trust Lines feature enables issuers to create tokens that can only be held by accounts that the issuer specifically authorizes. This feature only applies to tokens, not XRP. - +To use the Authorized Trust Lines feature, enable the `Require Auth` flag on your issuing account. While the setting is enabled, other accounts can only hold tokens you issue if you have authorized those accounts' trust lines to your issuing account. -### Suspicious Activity Reporting +See [Authorized Trust Lines](authorized-trust-lines.html). -If a financial institution suspects that funds may be related to criminal activity, the institution must file a Suspicious Activity Report (SAR) with the appropriate regulatory authority. Failure to report suspicious activity may result in in penalties for the institution. -See also: +### Freeze a Trust Line -- [Suspicious Activity Reporting Overview (USA FFIEC)](https://bsaaml.ffiec.gov/manual/RegulatoryRequirements/04_ep) +If you issue tokens in the XRP Ledger, you can enable the _No Freeze_ setting to permanently limit your own ability to use the token freezing features of the XRP Ledger. (As a reminder, this only applies to issued tokens, not XRP.) -- [FATF Recommendation 16: Reporting of suspicious transactions and compliance](http://www.fatf-gafi.org/publications/fatfrecommendations/documents/fatf-recommendations.html) +If you do not enable the _No Freeze_ setting, when an account shows suspicious activity or violates your institution's terms of use, you have the option of freezing the trust line while you resolve the issue. -### Travel Rule +See [Freezing Tokens](freezes.html). -The Travel Rule is a Bank Secrecy Act (BSA) rule requiring funds-transmitting financial institutions to forward certain information to the next financial institution if the funds transmittal equals or exceeds the USD equivalent of $3,000. The following information must be included in the transmittal order: -- The name of the transmittor, -- The account number of the transmittor, if used, -- The address of the transmittor, -- The identity of the transmittor's financial institution, -- The amount of the transmittal order, -- The execution date of the transmittal order, and -- The identity of the recipient's financial institution. +### Global Freeze - +If you see signs of suspicious activity, you can enact a global freeze on your account to prevent users from sending your tokens to each other and trading your token in the decentralized exchange. -See also: +![Global Freeze](img/uc-stablecoin-global-freeze.png) -- [Funds “Travel” Regulations: Questions & Answers ](https://www.fincen.gov/resources/statutes-regulations/guidance/funds-travel-regulations-questions-answers) +See [Enact Global Freeze](enact-global-freeze.html) -### Fee Disclosure and Tracing Funds -- In the United States, Dodd Frank 1073 Electronic Fund Transfer Act (Regulation E) requires banks to provide information on cost and delivery terms for international payments originating in the US including exchange rate, fees, and the amount to be received by the designated recipient in the foreign country. "Pre-payment disclosure" is provided to a consumer when requesting an international electronic payment and “receipt disclosure” is provided to a consumer at the time consumer authorizes the transfer. +### Clawback - See also: +_(Requires the [Clawback amendment][] :not_enabled:)_ - - [The Consumer Financial Protection Bureau description of the regulation and extensions for banks](https://www.consumerfinance.gov/rules-policy/final-rules/electronic-fund-transfers-regulation-e/#rule) +Clawback is an optional setting that you can choose before you begin to distribute your stablecoin. For regulatory purposes, some issuers _must_ have the ability to recover issued tokens after they are distributed to accounts. For example, if an issuer were to discover that tokens were sent to an account sanctioned for illegal activity, the issuer could recover, or _claw back_, the funds. -- In the European Union, EU Funds Transfer Regulation requires that the originator’s bank, the beneficiary’s bank, and any intermediary banks include certain details of the payer and payee in transaction details to detect, investigate, and prevent money laundering and terrorist financing. +See [Clawback](clawback.html). - See also: +![Clawback](img/uc-stablecoin-clawback.png) - - [EU Regulation (EC) No 1781/2006 description](http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=OJ:L:2006:345:0001:0009:EN:PDF) +### Partial Payments - - [Effective June 26, 2017: Regulation 2015/847 on information accompanying transfers of funds](http://eur-lex.europa.eu/legal-content/EN/ALL/?uri=CELEX%3A32015R0847) +Look out for partial payments. Payments with the partial payment flag enabled can be considered "successful" if any non-zero amount is delivered, even minuscule amounts. +* Check the transaction for a `delivered_amount` field. If present, that field indicates how much money _actually_ got delivered to the `Destination` address. +* In xrpl.js, you can use the [`xrpl.getBalanceChanges()` method](https://js.xrpl.org/modules.html#getBalanceChanges) to see how much each address received. In some cases, this can be divided into multiple parts on different trust lines. -### Office of Foreign Assets Control (OFAC) +See [Partial Payments](partial-payments.html). -The Office of Foreign Assets Control (OFAC) is an agency of the US Department of Treasury that administers and enforces economic and trade sanctions in support of U.S. foreign policy and national security objectives. All U.S. persons and U.S. incorporated entities and their foreign branches must follow OFAC regulations. Under OFAC regulations, U.S. financial institutions are prohibited—unless authorized by OFAC or expressly exempted by statute—from conducting transactions and other dealings with individuals, entities, or countries under sanctions or embargo programs administered and enforced by OFAC. +### Burn -See also: +One way to manage the value of a token is to destroy, or _burn_ tokens, which reduces the number of tokens in circulation. On the XRP Ledger, fungible tokens are automatically "burned" when they are sent to the issuing address. However, the issuer can freely create more tokens. -- [A list of OFAC resources](https://www.treasury.gov/resource-center/faqs/Sanctions/Pages/ques_index.aspx) +To ensure a limited supply, you can "black hole" the issuer after issuing tokens, by setting its regular key to an address like `rrrrrrrrrrrrrrrrrrrrrhoLvTp` for which no one knows the private key, and disabling the master key pair. - +**Warning:** A black hole account has no way to send transactions of any kind, so you cannot update any settings or do any maintenance on the account afterwards! -### Guidance on Virtual Currency and Money Service Business +See [Disable Master Key Pair](disable-master-key-pair.html). -- United States: - - - [FinCEN Guidance and Definitions around Virtual Currency, March 18, 2013](https://www.fincen.gov/resources/statutes-regulations/guidance/application-fincens-regulations-persons-administering) - - - [FinCEN Publishes Two Rulings on Virtual Currency Miners and Investors, January 30, 2014](https://www.fincen.gov/news/news-releases/fincen-publishes-two-rulings-virtual-currency-miners-and-investors) - -- Europe: - - - [European Banking Authority Opinion on Virtual Currencies, July 4, 2014](http://www.eba.europa.eu/documents/10180/657547/EBA-Op-2014-08+Opinion+on+Virtual+Currencies.pdf) - -- FATF Guidance for Money Service Businesses: - - - [Financial Action Task Force, July 2009](http://www.fatf-gafi.org/media/fatf/documents/reports/Guidance-RBA-money-value-transfer-services.pdf) - - - - -# XRP Ledger Integration - -This document uses the example of a fictional cryptocurrency exchange called ACME Exchange which decides to issue an EUR stablecoin on the XRP Ledger, to illustrate the overall process and flow of funds for a stablecoin. - -## Before Integration - -ACME, as a cryptocurrency exchange, already accepts withdrawals and deposits from customers using some system (such as an app or website). ACME has a _system of record_ to track how much each user holds with the exchange in each of several types of assets. Such a system can be modeled with a simple balance sheet, although in practice it probably involves databases, application servers, and various other infrastructure to ensure its reliability, information security, and so on. - -In the following diagram, ACME Exchange starts with €5 on hand, including €1 that belongs to Bob, €2 that belongs to Charlie, and an additional €2 of equity that belongs to ACME itself. Alice deposits €5, so ACME adds her to its balance sheet and ends up with €10. - -![Diagram: Alice sends €5 to ACME. ACME adds her balance to its balance sheet.](img/e2g-01.png) - -**Assumptions:** To integrate with the XRP Ledger, we assume that an exchange such as ACME meets the following assumptions: - -* ACME already has a system to accept deposits and withdrawals from some outside payment source. -* ACME waits for deposits to clear before crediting them in ACME's system of record. -* ACME always keeps enough funds on-hand to pay withdrawals on demand, subject to their terms and conditions. - * ACME can set fees, minimum withdrawals, and delay times for deposits and withdrawals as their business model demands. - -## Sending into the XRP Ledger - -Sending money _into_ the XRP Ledger involves issuing new stablecoins for an amount that ACME holds on behalf of one of its users. An example flow might look like this: - -1. Alice asks to send €3 of her ACME balance into the XRP Ledger. -2. In its system of record, ACME debits Alice's balance €3. -3. ACME submits an XRP Ledger transaction, sending €3 to Alice's XRP Ledger address. The €3 is marked in the XRP Ledger as being "issued" by ACME (3 EUR.ACME). - -**Assumptions:** - -* Alice already has an address in the XRP Ledger separate from her ACME account. Alice manages her XRP Ledger address using a third-party client application (wallet). - -![Diagram: ACME issues 3 EUR.ACME to Alice on the XRP Ledger](img/e2g-02.png) - - - -After this, Alice can send or trade her EUR.ACME to other users in the XRP Ledger at her discretion. At any time, ACME can query the XRP Ledger to see who currently holds its tokens. - -### Requirements for Sending to XRP Ledger - -There are several prerequisites that ACME must meet for this to happen: - -- ACME sets aside the funds that back its stablecoin. There are several ways ACME may do this: - - ACME may create a XRP Ledger collateral account in ACME's system of record. - - ACME can store the funds allocated to the XRP Ledger in a separate bank account. - - If the stablecoin is backed by cryptocurrency, ACME can create a separate wallet to hold the funds allocated to the XRP Ledger, as publicly-verifiable proof of its reserves. -- ACME should control two separate XRP Ledger addresses. See [Issuing and Operational Addresses](account-types.html) for details. - - ACME must enable the Default Ripple flag on its issuing address for customers to send and receive its tokens. -- Alice must create an accounting relationship (trust line) from her XRP Ledger address to ACME's issuing address. She can do this from any XRP Ledger client application as long as she knows ACME's issuing address. - - ACME should publicize its issuing address on its website where customers can find it. It can also use an [`xrp-ledger.toml` file](xrp-ledger-toml.html) to publish the issuing address to automated systems. - - Alternatively, instead of sending a Payment, ACME can write Alice as a Check in the XRP Ledger. This does not move any money right away, but creates both the trust line and the tokens together when Alice cashes the Check. -- ACME must create a user interface for Alice to request for her funds from ACME to be sent into the XRP Ledger. - - ACME needs to know Alice's XRP Ledger address. ACME can have Alice input her XRP Ledger address as part of the interface, or ACME can require Alice to input and verify her XRP Ledger address in advance. - - -## Sending from XRP Ledger - -A payment out of the XRP Ledger means the issuer receives a payment in the XRP Ledger, and credits a user in the issuer's system of record. - -An example flow of a payment out of the XRP Ledger: - -1. Bob sends an XRP Ledger transaction of €1 to ACME's issuing address. -2. In ACME's system of record, ACME credits Bob's balance €1. -3. Later, Bob can use ACME's own interface to withdraw the money to a separate account, such as requesting a bank deposit over the SEPA system (Europe) or ACH (United States), receiving a payment on another blockchain, or something else. - -XRP Ledger Payments going to an issuer can be single-currency or cross-currency payments, but the amount the issuer receives is typically denominated in the stablecoin it issued. - - -### Requirements for Receiving from XRP Ledger - -In addition to the requirements for sending into the XRP Ledger, there are several prerequisites that ACME must meet to process payments coming from the XRP Ledger: - -- ACME must monitor its XRP Ledger addresses for incoming payments. -- ACME must know which user to credit in its system of record for the incoming payments. - - ACME should bounce unrecognized incoming payments back to their sender. - - Typically, the preferred method of recognizing incoming payments is through [destination tags](source-and-destination-tags.html). - - -## Precautions - -Processing payments to and from the XRP Ledger naturally comes with some risks, so an issuer should be sure to take care in implementing these processes. As a stablecoin issuer, you should take the following precautions: - -- Protect yourself against reversible deposits. XRP Ledger payments are irreversible, but many digital payments are not. Scammers can abuse this to take their fiat money back by canceling a deposit after receiving tokens in the XRP Ledger. -- When sending into the XRP Ledger, always specify your issuing address as the issuer of the token. Otherwise, you might accidentally use paths that deliver the same currency issued by other addresses. -- Before sending a payment into the XRP Ledger, double check the cost of the payment. A payment from your operational address to a customer should not cost more than the destination amount plus any transfer fee you have set. -- Before processing a payment out of the XRP Ledger, make sure you know the customer's identity. This makes it harder for anonymous attackers to scam you. Most anti-money-laundering regulations require this anyway. This is especially important because the users sending money from the XRP Ledger could be different than the ones that initially received the money in the XRP Ledger. -- Follow the guidelines for [reliable transaction submission](#reliable-transaction-submission) when sending XRP Ledger transactions. -- [Robustly monitor for incoming payments](#robustly-monitoring-for-payments), and read the correct amount. Don't mistakenly credit someone the full amount if they only sent a [partial payment](partial-payments.html). -- Track your obligations and balances within the XRP Ledger, and compare with the assets in your collateral account. If they do not match up, stop processing withdrawals and deposits until you resolve the discrepancy. -- Avoid ambiguous situations. We recommend the following: - - Enable the `Disallow XRP` flag for the issuing address and all operational addresses, so customers do not accidentally send you XRP. (Private exchanges should *not* set this flag, since they trade XRP normally.) - - Enable the [`RequireDest` flag](require-destination-tags.html) for the issuing address and all operational addresses, so customers do not accidentally send a payment without the destination tag to indicate who should be credited. - - Enable the `RequireAuth` flag on all operational addresses so they cannot issue tokens by accident. -- Monitor for suspicious or abusive behavior. For example, a user could repeatedly send funds into and out of the XRP Ledger, as a denial of service attack that effectively empties an operational address's balance. Suspend customers whose addresses are involved in suspicious behavior by not processing their XRP Ledger payments. - -## Trading on the XRP Ledger - -After the tokens have been created in the XRP Ledger, they can be freely transferred and traded by XRP Ledger users. There are several consequences of this situation: - -- Anyone can buy/sell EUR.ACME on the XRP Ledger. If ACME issues multiple tokens, a separate trust line is necessary for each. - - This includes XRP Ledger users who do not have an account in ACME Exchange's systems. To withdraw the funds successfully from ACME, users still have to register with ACME. - - Optionally, ACME uses the [Authorized Trust Lines](#authorized-trust-lines) feature to limit who can hold EUR.ACME in the XRP Ledger. - - If ACME determines that a customer has acted in bad faith, ACME can [Freeze](#freeze) that user's accounting relationships to ACME in the XRP Ledger, so that the user can no longer trade in the issuer's tokens. -- XRP Ledger users trading and sending EUR.ACME to one another requires no intervention by ACME. -- All exchanges and balances in the XRP Ledger are publicly viewable. - -The following diagram depicts an XRP Ledger payment sending 2 EUR.ACME from Alice to Charlie. ACME can query the XRP Ledger to see updates to its balances any time after the transaction has occurred: - -![Diagram: Alice's sends 2 EUR.ACME from her trust line to Charlie's](img/e2g-03.png) - - - -## Freeze - -An issuer can freeze accounting relationships in the XRP Ledger to meet regulatory requirements: - -* Issuers can freeze individual accounting relationships, in case a customer address shows suspicious activity or violates a issuer's terms of use. -* Issuers can freeze all tokens they issue, in case of a major security compromise or for migrating to a new issuing address. -* Furthermore, issuers can permanently opt out of their ability to freeze accounting relationships. This allows an issuer to assure its customers that it will continue to provide "physical-money-like" services. - -For more information, see the [Freeze article](freezes.html). - - -## Authorized Trust Lines - -The XRP Ledger's Authorized Trust Lines feature (formerly called "Authorized Accounts") enables an issuer to limit who can hold that issuer's tokens, so that unknown XRP Ledger addresses cannot hold the tokens. - -For more information, see [Authorized Trust Lines](authorized-trust-lines.html). - - -## Source and Destination Tags - -*Destination Tags* are a feature of XRP Ledger payments can be used to indicate the beneficiary or destination for a payment. For example, an XRP Ledger payment to an issuer may include a destination tag to indicate which customer should be credited for the payment. An issuer should keep a mapping of destination tags to accounts in the issuer's system of record. - -Similarly, *Source Tags* indicate the originator or source of a payment. Most commonly, a Source Tag is included so that the recipient of the payment knows where to bounce the payment. When you bounce an incoming payment, use the Source Tag from the incoming payment as the Destination Tag of the outgoing (bounce) payment. - -You can generate a destination tag on-demand when a customer intends to send money to you. For greater customer privacy, you should consider that destination tag valid only for that payment with the expected amount, and bounce or ignore any other transactions that reuse the same destination tag. - -[Enable the Require Destination Tag setting](require-destination-tags.html) on your issuing and operational addresses so that customers must use a destination tag to indicate where funds should be credited when they send payments to you. - -For more information, see [Source and Destination Tags](source-and-destination-tags.html). - - -# Technical Details - -## Infrastructure - -For your own security as well as the stability of the network, each XRP Ledger business should [run its own XRP Ledger servers](install-rippled.html) including one [validator](rippled-server-modes.html#validators). - - -### APIs and Middleware - -There are several interfaces you can use to connect to the XRP Ledger, depending on your needs and your existing software: - -- [HTTP / WebSocket APIs](http-websocket-apis.html) can be used as a low-level interface to all core XRP Ledger functionality. -- [Client Libraries](client-libraries.html) are available in several programming languages to provide convenient utilities for accessing the XRP Ledger. -- Other tools such as [xApps](https://xumm.readme.io/docs/xapps) are also available. -- Third party wallet applications may also be useful, especially for humans in charge of standby addresses. - - -## Tool Security - -Any time you submit an XRP Ledger transaction, it must be signed using your secret key. The secret key gives full control over your XRP Ledger address. **Never** send your secret key to a server run by someone else. Either use your own server, or sign the transactions locally using a client library. - -For instructions and examples of secure configurations, see [Set Up Secure Signing](secure-signing.html). - -## Issuer Setup - -There are some settings you must configure on your XRP Ledger account before you start issuing tokens. For examples of how to configure these settings, see the [Issue a Fungible Token tutorial](issue-a-fungible-token.html). - -Settings you may want to configure include: - -| Setting | Notes | -|---------|-------| -| Default Ripple | Issuers **must** enable this field. | -| Deposit Authorization | Block all incoming payments from users you haven't explicitly approved. | -| Require Auth | Restrict your tokens to being held by users you've explicitly approved. | -| Tick Size | Round off exchange rates in the decentralized exchange to facilitate faster price discovery. | -| Transfer Fee | Charge a percentage fee when users send your token to each other. | - - -### Default Ripple - -The Default Ripple flag controls whether the balances on a trust line are [allowed to ripple](rippling.html) by default. Rippling is what allows customers to send and trade tokens among themselves, so an issuer MUST allow rippling on all the trust lines to its issuing address. - -Before asking customers to create trust lines to its issuing address, an issuer should enable the Default Ripple flag on that address. Otherwise, the issuer must individually disable the No Ripple flag for each trust line that other addresses have created. - - -### Deposit Authorization - -The Deposit Authorization setting blocks all incoming payments to your account, unless either: - -- You have previously preauthorized the sender. -- You send a transaction to receive the funds. For example, you could finish an Escrow that was initiated by a stranger. - -Deposit Authorization is most useful for blocking unwanted XRP payments, because you already can't receive tokens unless you've created a trust line to their issuer. However, as a stablecoin issuer, you need to be able to receive payments from users in order for them to redeem the stablecoin for its off-ledger value; you can preauthorize your customers but doing so requires storing an object in the ledger for each custom address, increasing your reserve requirement substantially. - -Therefore, Deposit Authorization is not recommended for stablecoin issuers unless you need it to meet regulatory requirements about receiving money from unknown or sanctioned entities. - -For more information, see [Deposit Authorization](depositauth.html). - - -### Disallow XRP - -The Disallow XRP setting is designed to discourage XRP Ledger users from sending XRP to an address by accident. This reduces the costs and effort of bouncing undesired payments from addresses that aren't intended to receive and hold XRP. The Disallow XRP flag is not enforced at the protocol level, because doing so could allow addresses to become permanently unusable if they run out of XRP. Client applications should honor the Disallow XRP flag by default, but may allow users to ignore it. - -The Disallow XRP flag is optional, but if you don't intend to receive XRP from customers you may want to enable it on your issuing address and all your operational addresses. - - -### Require Auth - -The Require Auth setting blocks users from holding the tokens you issue unless you explicitly approve their trust lines first. You can use this setting to meet regulatory requirements if it matters who holds your tokens within the XRP Ledger. However, this can reduce the utility of your tokens since your approval becomes a bottleneck for users to use them. - -Also, you must use your issuing address each time you authorize a trust line; if you must authorize a lot of trust lines, this can undermine the security of your issuing address because you have to use it so often. (If you only need to use the issuing address sparingly, you can put greater protections on its secret keys. The more often you use it, the more of a burden those protections become.) - -For more information, see [Authorized Trust Lines](authorized-trust-lines.html). - - -### Tick Size - -The Tick Size setting controls how many decimal places are used when calculating exchange rates in the [Decentralized Exchange](decentralized-exchange.html). A higher Tick Size means more precision and less rounding in the amounts of various trades. Too much precision can be inconvenient because trades are ranked primarily based on exchange rate, so a trader can offer a minuscule amount more to the top of the list. A smaller Tick Size works similar to the minimum bid increment at an auction, saving everyone the time and effort of gradually bidding up a price by irrelevantly small amounts. However, a smaller Tick Size results in more rounding, which can increase the costs of trading, and sometimes has surprising results because two Offers that seemed like an exact match before rounding no longer match after rounding. - -The Tick Size is an account-level setting and applies to all tokens issued by the same address. - -Tick Size only controls the precision of _exchange rates_, not the precision of the token itself. Users can send and hold very large or very small amounts regardless of the Tick Size set by the token's issuer. - -For more information, see [Tick Size](ticksize.html). - - -### Transfer Fees - -A transfer fee setting charges users a percentage fee when sending your tokens to each other. The transfer fee does not apply when issuing tokens or redeeming them directly with the issuing address. (It _does_ apply when users send payments to your hot wallet.) If you issue multiple tokens from the same address, the same transfer fee applies to all of them. - -When users send a token with a transfer fee, the amount of the transfer fee is debited from the sending side in addition to the destination amount, but only the destination amount is credited to the recipient. The amount of the fee "vanishes" from the XRP Ledger. As a stablecoin issuer, this means that you gain that much equity in your reserves outside of the XRP Ledger—or, in other words, the amount you need to keep as collateral decreases each time users pay a transfer fee. - -At a protocol level, the transfer fee is defined by the `TransferRate` account setting, which is an integer from 1 billion to 2 billion. - -For more information, see [Transfer Fees](transfer-fees.html). - - -### Transfer Fees with Operational and Standby Addresses - -All XRP Ledger addresses, including operational and standby addresses, are subject to the issuer's transfer fees when sending tokens. If you set a nonzero transfer fee, then you must send extra (to pay the transfer fee) when making payments from your operational address or standby address. In other words, your addresses must pay back a little of the balance your issuing address created, each time you make a payment. - -Set the [`SendMax` transaction parameter][Payment] higher than the destination `Amount` parameter by a percentage based on the `TransferRate` setting. - -**Note:** Transfer fees do not apply when sending tokens directly from or to the issuing address. The issuing address must always accept its tokens at face value in the XRP Ledger. This means that customers don't have to pay the transfer fee if they send payments to the issuing address directly, but they do when sending to an operational address. If you accept payments at both addresses, you may want to adjust the amount you credit customers in your system of record when customers send payments to the operational address, to compensate for the transfer fee the customer pays. - -For example: If ACME sets a transfer fee of 1%, an XRP Ledger payment to deliver 5 EUR.ACME from a customer address to ACME's issuing address would cost exactly 5 EUR.ACME. However, the customer would need to send 5.05 EUR.ACME to deliver 5 EUR.ACME to ACME's operational address. When ACME credits customers for payments to ACME's operational address, ACME credits the customer for the amount delivered to the operational address _and_ the transfer fee, giving the customer €5,05 in ACME's systems. - - -## Robustly Monitoring for Payments - -To robustly check for incoming payments, issuers should do the following: - -* Keep a record of the most-recently-processed transaction and ledger. That way, if you temporarily lose connectivity, you know how far to go back. -* Check the result code of every incoming payment. Some payments go into the ledger to charge an anti-spam fee, even though they failed. Only transactions with the result code `tesSUCCESS` can change non-XRP balances. Only transactions from a validated ledger are final. -* Look out for [Partial Payments](partial-payments.html). Payments with the partial payment flag enabled can be considered "successful" if any non-zero amount is delivered, even minuscule amounts. - * Check the transaction for a [`delivered_amount` field](partial-payments.html#the-delivered_amount-field). If present, that field indicates how much money *actually* got delivered to the `Destination` address. - * In xrpl.js, you can use the [`xrpl.getBalanceChanges()` method](https://js.xrpl.org/modules.html#getBalanceChanges) to see how much each address received. In some cases, this can be divided into multiple parts on different trust lines. -* Some transactions change your balances without being payments directly to or from one of your addresses. For example, if ACME sets a nonzero transfer fee, then ACME's issuing address's outstanding obligations decrease each time Bob and Charlie exchange ACME's tokens. - -To make things simpler for your customers, we recommend accepting payments to both your operational address and your issuing addresses. - -As an added precaution, we recommend comparing the balances of your issuing address with the collateral funds in your internal accounting system as of each new XRP Ledger ledger version. The issuing address's negative balances should match the assets you have allocated to XRP Ledger outside the network. If the two do not match up, then you should suspend processing payments into and out of the XRP Ledger until you have resolved the discrepancy. - -* Use the `gateway_balances` method to check your balances. -* If you have a Transfer Fee set, then your obligations within the XRP Ledger decrease slightly whenever other XRP Ledger addresses transfer your tokens among themselves. - -For more details on how to read the details of incoming transactions, see [Look Up Transaction Results](look-up-transaction-results.html). - - - -## Sending Payments to Customers - -When you build an automated system to send payments into the XRP Ledger for your customers, you must make sure that it constructs payments carefully. Malicious actors are constantly trying to find ways to trick a system into paying them more money than it should. - -Generally, when sending stablecoins, you use a [Payment transaction][]. Some of the details are different depending on whether you are issuing tokens for the first time or transferring them from a hot wallet to a customer. Things to note include: - -- When issuing new tokens from your issuing address, you should omit the `SendMax` field. Otherwise, malicious users can arrange their settings so that you issue the full `SendMax` amount instead of just the intended destination `Amount`. -- When sending tokens _from a hot wallet_, you must specify `SendMax` if you have a nonzero transfer fee. In this case, set the `SendMax` field to the amount specified in the `Amount` field plus the transfer fee. (You may want to round up slightly, in case the precision of your calculations doesn't exactly match the XRP Ledger's.) For example, if you send a transaction whose `Amount` field specifies 99.47 USD, and your transfer fee is 0.25%, you should set the `SendMax` field to 124.3375, or 124.34 USD if you round up. -- Omit the `Paths` field. This field is unnecessary when sending directly from the issuer, or from a hot wallet as long as the tokens being sent and the tokens being received have the same currency code and issuer—that is, they're the same stablecoin. The `Paths` field is intended for [Cross-Currency Payments](cross-currency-payments.html) and longer multi-hop (rippling) payments. If you naively perform pathfinding and attach the paths to your transaction, your payment may take a more expensive indirect route rather than failing if the direct path is not available; malicious users can even set this up to -- If you get a `tecPATH_DRY` result code, this usually indicates that either the customer doesn't have the necessary trust line set up already, or your issuer's rippling settings aren't configured correctly. - -For a detailed tutorial on issuing a token on the XRP Ledger, whether a stablecoin or otherwise, see [Issue a Fungible Token](issue-a-fungible-token.html). - - -## Bouncing Payments - -When one of your addresses receives a payment whose purpose is unclear, we recommend that you try to return the money to its sender. While this is more work than pocketing the money, it demonstrates good faith towards customers. You can have an operator bounce payments manually, or create a system to do so automatically. - -The first requirement to bouncing payments is [robustly monitoring for incoming payments](#robustly-monitoring-for-payments). You do not want to accidentally refund a customer for more than they sent you! (This is particularly important if your bounce process is automated.) Malicious users can take advantage of a naive integration by sending [partial payments](partial-payments.html#partial-payments-exploit). - -Second, you should send bounced payments as Partial Payments. Since third parties can manipulate the cost of pathways between addresses, Partial Payments allow you to divest yourself of the full amount without being concerned about exchange rates within the XRP Ledger. You should publicize your bounced payments policy as part of your terms of use. Send the bounced payment from either an operational address or a standby address. - -To send a Partial Payment, enable the [`tfPartialPayment` flag](payment.html#payment-flags) on the transaction. Set the `Amount` field to the amount you received and omit the `SendMax` field. You should use the `SourceTag` value from the incoming payment as the `DestinationTag` value for the return payment. - -To prevent two systems from bouncing payments back and forth indefinitely, you can set a new Source Tag for the outgoing return payment. If you receive an unexpected payment whose Destination Tag matches the Source Tag of a return you sent, then do not bounce it back again. - - -## Reliable Transaction Submission +### Reliable Transaction Submission The goal of reliably submitting transactions is to achieve the following two properties in a finite amount of time: @@ -516,34 +197,19 @@ To submit transactions reliably, follow these guidelines: For more information, see [Reliable Transaction Submission](reliable-transaction-submission.html). +### List on the XRPL Native DEX -## xrp-ledger.toml File - -You can publish information about what currencies you issue, and which XRP Ledger addresses you control, to protect against impostors or confusion, using an [`xrp-ledger.toml` file](xrp-ledger-toml.html). This machine-readable format is convenient for client applications to process. If you run an XRP Ledger validator, you can also publish the key in the same file. +Decentralized exchanges (DEXes) are integral to the decentralized finance ecosystem. Listing your token on the XRP Ledger's built-in DEX enhances its visibility and accessibility, thereby attracting more liquidity. Begin by placing sell offers using a suitable interface, such as [Sologenic](https://sologenic.org/trade). As a precaution, use a separate account, not your issuing address, to trade. - +### List on an AMM +_(Requires the [AMM amendment][] :not_enabled:)_ -## See Also +Automated Market Makers (AMMs) are smart contracts that provide liquidity in the XRP Ledger's decentralized exchange. Each AMM holds a pool of two assets and enables users to swap between them at an exchange rate set by a formula. -- **Concepts:** - - [Tokens](tokens.html) - - [Decentralized Exchange](decentralized-exchange.html) - - [Source and Destination Tags](source-and-destination-tags.html) -- **Tutorials:** - - [Install `rippled`](install-rippled.html) - - [Set Up Secure Signing](secure-signing.html) - - [Issue a Fungible Token](issue-a-fungible-token.html) - - [Enable No Freeze](enable-no-freeze.html) - - [Freeze a Trust Line](freeze-a-trust-line.html) - - [Enact Global Freeze](enact-global-freeze.html) -- **References:** - - [Payment transaction][] - - [AccountSet transaction][] - - [TrustSet transaction][] - - [RippleState object](ripplestate.html) - - [account_lines method][] - - [gateway_balances method][] +For any given pair of assets, there can be up to one AMM in the ledger. You can create the AMM for an asset pair with your new token if it doesn't exist yet, or deposit to an existing AMM. Those who deposit assets into an AMM are called _liquidity providers_ (LPs) and receive _LP Tokens_ from the AMM. + +See [Automated Market Makers](automated-market-makers.html). {% include '_snippets/rippled-api-links.md' %} diff --git a/dactyl-config.yml b/dactyl-config.yml index 3f0525c411..ea44705b12 100644 --- a/dactyl-config.yml +++ b/dactyl-config.yml @@ -617,49 +617,40 @@ pages: - en - md: "@i18n/ja/use-cases/tokenization/stablecoin-issuer.md" - parent: tokenization.html targets: - ja - md: use-cases/tokenization/nft-mkt-overview.md - parent: tokenization.html targets: - en - md: "@i18n/ja/use-cases/tokenization/nft-mkt-overview.md" - parent: tokenization.html targets: - ja # TODO: these files aren't nested under "NFT mkt overview" but they are in the nav - md: use-cases/tokenization/nftoken-marketplace.md - parent: nft-mkt-overview.html targets: - en # TODO: these files aren't nested under "NFT mkt overview" but they are in the nav - md: "@i18n/ja/use-cases/tokenization/nftoken-marketplace.md" - parent: nft-mkt-overview.html targets: - ja - md: use-cases/tokenization/authorized-minter.md - parent: nft-mkt-overview.html targets: - en - md: "@i18n/ja/use-cases/tokenization/authorized-minter.md" - parent: nft-mkt-overview.html targets: - ja - md: use-cases/tokenization/digital-artist.md - parent: nft-mkt-overview.html targets: - en - md: "@i18n/ja/use-cases/tokenization/digital-artist.md" - parent: nft-mkt-overview.html targets: - ja @@ -672,22 +663,18 @@ pages: - ja - md: use-cases/defi/algorithmic-trading.md - parent: defi-uc.html targets: - en - md: "@i18n/ja/use-cases/defi/algorithmic-trading.md" - parent: defi-uc.html targets: - ja - md: use-cases/defi/list-xrp-as-an-exchange.md - parent: defi-uc.html targets: - en - md: "@i18n/ja/use-cases/defi/list-xrp-as-an-exchange.md" - parent: defi-uc.html targets: - ja @@ -1038,147 +1025,203 @@ pages: targets: - ja + # TODO: translate + - md: concepts/payment-types/robustly-monitoring-for-payments.md + targets: + - en + - ja + + # TODO: translate + - md: concepts/payment-types/sending-payments-to-customers.md + targets: + - en + - ja + + # TODO: translate + - md: concepts/payment-types/bouncing-payments.md + targets: + - en + - ja + # Tokens ------------------------------------------------------------------ - - md: concepts/tokens/tokens.md + - md: concepts/tokens/index.md targets: - en - - md: "@i18n/ja/concepts/tokens/tokens.md" + - md: "@i18n/ja/concepts/tokens/index.md" targets: - ja - - md: concepts/tokens/non-fungible-tokens.md + - md: concepts/tokens/fungible-tokens/index.md targets: - en - - md: "@i18n/ja/concepts/tokens/non-fungible-tokens.md" + - md: "@i18n/ja/concepts/tokens/fungible-tokens/index.md" + outdated_translation: true targets: - ja - - md: concepts/tokens/nft-storage.md + - md: concepts/tokens/fungible-tokens/authorized-trust-lines.md targets: - en - - md: "@i18n/ja/concepts/tokens/nft-storage.md" + - md: "@i18n/ja/concepts/tokens/fungible-tokens/authorized-trust-lines.md" targets: - ja - - md: concepts/tokens/non-fungible-token-transfers.md +# TODO - Translate all files under /stablecoins/ directory + - md: concepts/tokens/fungible-tokens/stablecoins/index.md targets: - en - - - md: "@i18n/ja/concepts/tokens/non-fungible-token-transfers.md" - targets: - ja - - md: concepts/tokens/nft-reserve-requirements.md + - md: concepts/tokens/fungible-tokens/stablecoins/settings.md targets: - en - - - md: "@i18n/ja/concepts/tokens/nft-reserve-requirements.md" - targets: - ja - - md: concepts/tokens/nftoken-batch-minting.md + - md: concepts/tokens/fungible-tokens/stablecoins/configuration.md targets: - en - - - md: "@i18n/ja/concepts/tokens/nftoken-batch-minting.md" - targets: - ja - - md: concepts/tokens/nftoken-authorized-minting.md + - md: concepts/tokens/fungible-tokens/stablecoins/precautions.md targets: - en - - - md: "@i18n/ja/concepts/tokens/nftoken-authorized-minting.md" - targets: - ja - - md: concepts/tokens/nftoken-auctions.md + - md: concepts/tokens/fungible-tokens/stablecoins/compliance-guidelines.md targets: - en - - - md: "@i18n/ja/concepts/tokens/nftoken-auctions.md" - targets: - ja - - md: concepts/tokens/nft-collections.md + - md: concepts/tokens/fungible-tokens/stablecoins/technical-details.md targets: - en - - - md: "@i18n/ja/concepts/tokens/nft-collections.md" - targets: - ja - - md: concepts/tokens/nft-fixed-supply.md - targets: - - en - - - md: "@i18n/ja/concepts/tokens/nft-fixed-supply.md" - targets: - - ja - - - md: concepts/tokens/nft-apis.md - targets: - - en - - - md: "@i18n/ja/concepts/tokens/nft-apis.md" - targets: - - ja - - # TODO: maybe fungible tokens should be in their own folder? - - md: concepts/tokens/trust-lines-and-issuing.md - targets: - - en - - - md: "@i18n/ja/concepts/tokens/trust-lines-and-issuing.md" - targets: - - ja - - - md: concepts/tokens/authorized-trust-lines.md - targets: - - en - - - md: "@i18n/ja/concepts/tokens/authorized-trust-lines.md" - targets: - - ja - - - md: concepts/tokens/clawing-back-tokens.md + - md: concepts/tokens/fungible-tokens/clawing-back-tokens.md status: not_enabled targets: - en - - md: "@i18n/ja/concepts/tokens/clawing-back-tokens.md" + - md: "@i18n/ja/concepts/tokens/fungible-tokens/clawing-back-tokens.md" status: not_enabled targets: - ja - - md: concepts/tokens/freezes.md + - md: concepts/tokens/fungible-tokens/freezes.md targets: - en - - md: "@i18n/ja/concepts/tokens/freezes.md" + - md: "@i18n/ja/concepts/tokens/fungible-tokens/freezes.md" targets: - ja - # TODO: nest this file appropriately - - md: concepts/tokens/common-misconceptions-about-freezes.md + - md: concepts/tokens/fungible-tokens/common-misconceptions-about-freezes.md targets: - en - - md: "@i18n/ja/concepts/tokens/common-misconceptions-about-freezes.md" + - md: "@i18n/ja/concepts/tokens/fungible-tokens/common-misconceptions-about-freezes.md" targets: - ja - - md: concepts/tokens/rippling.md + - md: concepts/tokens/fungible-tokens/paths.md targets: - en - - md: "@i18n/ja/concepts/tokens/rippling.md" + - md: "@i18n/ja/concepts/tokens/fungible-tokens/paths.md" targets: - ja + - md: concepts/tokens/fungible-tokens/rippling.md + targets: + - en + + - md: "@i18n/ja/concepts/tokens/fungible-tokens/rippling.md" + targets: + - ja + + - md: concepts/tokens/nfts/index.md + targets: + - en + + - md: "@i18n/ja/concepts/tokens/nfts/index.md" + targets: + - ja + + - md: concepts/tokens/nfts/payload-storage.md + targets: + - en + + - md: "@i18n/ja/concepts/tokens/nfts/payload-storage.md" + targets: + - ja + + - md: concepts/tokens/nfts/trading.md + targets: + - en + + - md: "@i18n/ja/concepts/tokens/nfts/trading.md" + targets: + - ja + + - md: concepts/tokens/nfts/reserve-requirements.md + targets: + - en + + - md: "@i18n/ja/concepts/tokens/nfts/reserve-requirements.md" + targets: + - ja + + - md: concepts/tokens/nfts/batch-minting.md + targets: + - en + + - md: "@i18n/ja/concepts/tokens/nfts/batch-minting.md" + targets: + - ja + + - md: concepts/tokens/nfts/authorizing-another-minter.md + targets: + - en + + - md: "@i18n/ja/concepts/tokens/nfts/authorizing-another-minter.md" + outdated_translation: true + targets: + - ja + + - md: concepts/tokens/nfts/running-an-nft-auction.md + targets: + - en + + - md: "@i18n/ja/concepts/tokens/nfts/running-an-nft-auction.md" + outdated_translation: true + targets: + - ja + + - md: concepts/tokens/nfts/collections.md + targets: + - en + + - md: "@i18n/ja/concepts/tokens/nfts/collections.md" + targets: + - ja + + - md: concepts/tokens/nfts/guaranteeing-a-fixed-supply.md + targets: + - en + + - md: "@i18n/ja/concepts/tokens/nfts/guaranteeing-a-fixed-supply.md" + targets: + - ja + + # TODO: translate + - md: concepts/tokens/nfts/nft-apis.md + targets: + - en + - ja + - md: concepts/tokens/transfer-fees.md targets: - en @@ -1187,59 +1230,52 @@ pages: targets: - ja - - md: concepts/tokens/paths.md + - md: concepts/tokens/fungible-tokens/demurrage.md targets: - en - - md: "@i18n/ja/concepts/tokens/paths.md" + - md: "@i18n/ja/concepts/tokens/fungible-tokens/demurrage.md" targets: - ja - - md: concepts/tokens/demurrage.md + - md: concepts/tokens/decentralized-exchange/index.md targets: - en - - md: "@i18n/ja/concepts/tokens/demurrage.md" + - md: "@i18n/ja/concepts/tokens/decentralized-exchange/index.md" targets: - ja - - md: concepts/tokens/decentralized-exchange.md + - md: concepts/tokens/decentralized-exchange/offers.md targets: - en - - md: "@i18n/ja/concepts/tokens/decentralized-exchange.md" + - md: "@i18n/ja/concepts/tokens/decentralized-exchange/offers.md" targets: - ja - - md: concepts/tokens/offers.md + - md: concepts/tokens/decentralized-exchange/autobridging.md targets: - en - - md: "@i18n/ja/concepts/tokens/offers.md" + - md: "@i18n/ja/concepts/tokens/decentralized-exchange/autobridging.md" targets: - ja - - md: concepts/tokens/autobridging.md + - md: concepts/tokens/decentralized-exchange/ticksize.md targets: - en - - md: "@i18n/ja/concepts/tokens/autobridging.md" + - md: "@i18n/ja/concepts/tokens/decentralized-exchange/ticksize.md" targets: - ja - - md: concepts/tokens/ticksize.md + - md: concepts/tokens/decentralized-exchange/automated-market-makers.md targets: - en - - md: "@i18n/ja/concepts/tokens/ticksize.md" - targets: - - ja - - - md: concepts/tokens/automated-market-makers.md - targets: - - en - - - md: "@i18n/ja/concepts/tokens/automated-market-makers.md" + - md: "@i18n/ja/concepts/tokens/decentralized-exchange/automated-market-makers.md" + outdated_translation: true targets: - ja @@ -3435,7 +3471,6 @@ pages: targets: - ja - # TODO: translate - md: references/http-websocket-apis/public-api-methods/clio-methods/nft_info.md targets: - en diff --git a/img/uc-stablecoin-clawback.png b/img/uc-stablecoin-clawback.png new file mode 100644 index 0000000000000000000000000000000000000000..9a4acb56029d11e085ccbc7a39951279491cfb3a GIT binary patch literal 74533 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 literal 0 HcmV?d00001 diff --git a/img/uc-stablecoin-flow.png b/img/uc-stablecoin-flow.png new file mode 100644 index 0000000000000000000000000000000000000000..06270705d32a56a29c56c52190ef18580e000e33 GIT binary patch literal 232970 zcmcG#2T+sS+9(`EMMOc0q9CC3j&uQO3eu!kK|nePAxiI21f_@wkzS=2>AfX%q)D#< zg3_dh76ODM_jT`m&e`XF=X`T#{`tdX^0FptJ-js8uPX&_ zxD+(A+zf7lEchRMA4ob_S)OzM-r|lPI3da8e%19;%!K^4hi)zV04jx=ma(VxDu_ns zqR;cITlLNS!hB+4H}8mmiGpY}iDUahMd~*Unn*O(U8Sh>0V#aB#I;-HvwkT<>F|O! zfA2+54b>ha|KJVnmyGRVJr;CF^qM@| z`-G6?yZ(1w*nUzdUy7tYQq>+>WDB@rrO$qGFNSMhlos9(JFH73-%ow!8k?GbB*Npv zVikWss_BgQ;3H9B-Dz~4p*t)V#zA5gW~li6E0;K%>i4V=-@9Y{%i7)AZk1wp+>(8t zZq+-jx(5a?JCChi(00!nj%FKz4TdM$E5<{P#WY0PmuqM^TqecbIYd2k3uD}%m9N=` zGE#0+%MMDl7x<2)#xXF9(RRe+I7aXJ63@jTuush8PZq|i;K;I1Y?di$x2f--WW4jB zZ^Fc3qI{1R7%dl9C7q7ix z%_Q;6B)#&Qr~JHED|tPM&?3b-#Yd0z2;*g4(1o~raB!Tfh*!pMCU;5zr{ zE_OZK)1hGx&KXvBWHPuC_wf2~P{GC13({B3LrN9XhDi(P8G;uSGOXyHymKm-aJgdE z@g(sASsV2(>wWU?A?`oU`LI2sG;UK_e0Ax&N_A)wT$J5$=Wor`>HEBHaW#P7NcC1muFH3IEC0XdKr7)_tJl(`Uc^l zixBRLq*3Y3bIBRk5!6lBljGI7{*~_j<$zG}%W;>ZE}LI2qa%-a9Kqk!710o37r{jb z;i2TC{`?_sTK!q>gnFEMe%uaU6t8|9IPTHsu{e#-&T(ZtR7Hyh9}EKwk9jZfk{JjV z9_s2Ekn*PVWtV0%=UC(&jg^bhGQ5v}$d|{I>pA?`z|ernAlo3J(5NWgFm6QG!$$gj z`eT%mycR-*_&~$|hI9P$$#+jNRgLz6I%5V0db9=C3&jgOivx`u3UEdFMG#$x9yIIC zLAof@)J4!e!KbJm}YXVs|^+hrdlEqS( zQHIJScD{CO6;lo$#$+0ZUIE@8SgyWeuY z;Jgic29t*Ma^MQrZyEbk^~JsU zKyVHBghBN4)Ar_#;8%NIPnX=fS7603=i1FzQ;0eKdA<1;^B30=2dD?6?&lAgqtZ6v zDD%~}-7xI*+TDZkgJnM>U%3O3-JkwU`wY*MD)dZLOv;+U%^VB)&GO~uGsV;N0XlL7 zIb}H}I4?W~ejTojKg7qLZJa$mW5OFBTV85CfBu3CdHvAH>h68<)EI@eR>L=7#pTT1 z%!o{fw$--S#rTHZxz+}=HMw*LF>SFjp7S9uAJ)EmKrT)`cm?k%=N0tptnXx~!==OM zUCn#_j)ah@cZlfSkJEH}+@oT83^NS5H*4+{ac(@S*7k6!=I@raHynsEi88Tralb7n z$h)I6_v;+$0+Rkv$m5ww{q6!QOu7Gtx!Ko>`{2D9jtGr<4XsX_pV>>!ONf_`>J8^c z&TF-ohEOx7)V;;VqPtMtEHw2L>K91EcfxbS->U7XnZe%0%EJ0%--o(bh3ocJztqO%RtxcomO|{2d#?GdL90LkHNWgDOU2>+kL^6H|)e6 z#y++E${RO0eOoQr!1|=sz<$%MCGh!*d}s`k)M`#QF*w*jS!yN=1rt z3L3mOr)OUDEZJ-~@_J`~(4Ben&VoT zQaP^*j)$i@vN|d^$~S5m){>J=OJ+4aU#3;N{`%I=Ru_GG8(doV6@^lOaLZl%s21IF z%t1)-?|J*NF8z6WfxMH4+Z4}6Vbne&TDcM)HZLN}U!L3x6tB%U4T?`JewB*CRm z5~eIARjePMT54ECBY1p^2}ip!@4ZX1zhrBp@)0aJokLx`4Tftq|7d6=gRDC~s4b9( z_~NK$#ca5)XK8(D$+|Q|M(T3rwNP4G5+C=QAa#DwIP%+B`STa)>2!`8jL&0Rp+5_g z{Pj{n1u6rbCY^9ltFThk!Kb+}tq)4n7NFX?gw4Y(8L52jOE*reXV!!j=U<#X*riHJ z{(;!UW!!jT>j@%O6VHu4xY)b@i~lJQyI!=`P*DOAfB$8+0O zpImt_V3Ev2O;ed{jpF(Za<=9V=TN}XEe~ZAk4F$N*v{1h^vKQ5%EQj~j<=JC;~f<> zO&#Mml=L9b9gv!mqJhus);!eZ*_7`h{(X_yll!8CyDzw5f&*3zx)o9Z6k*rxI5m}v z%7flyFrpwH%hU^N2>nDNNpTG{Yx1iT@uLDTJTxy>GXJ{&xoG^ofohA ze0A)v;Z~#Nyu7z7FH<<2N9jyq+1}#okI^ht(cc@qchW3x$9DX{l3vTQU;W;Ko%@mG zp6>tMJy~hF6u7~Eczxt_itVA%R)^rq`WHIOzI9-+dfW@_N_CJ3s)?=NdRE>Jx^p|FjYG8qZ|; z3AI4vy+GpfFi@WOfu9JiW5;RR&|Spb18rD=rYnJ~3;yTL=?@jgg+lR3$@YQ*` zi#lsT``VH#GD|%-eYEftz|rFf5Jm_Dsum&{hUXA+2^R{W6|3pQF5;a>h+TyKHHEkJ zXG=sC3t|&0_n#N4iu&7yq~FDIEf18<+m=g}tDT*Zw(R>OPDy7_dlxRh1yIKb6+lTg zEI|PN=Q0D;{s8K{@nt%n`+Vk`EzN-VhyOsGhCJ?Hc!&Mw;2O3?NfDGXoWM*hy~3fb za}B_@0IG@}!Dd1>8+Zw>h;|LSc=p8wwyP&JfKXCp$=K=l#GE&YFqeK3W1D{j; zrdo`UEW!Npx#`Yy6gKw3cr3soD2Wd754v6ey*}aq===wWKgIFkr++)Z8pTIG+FlbmsxOZ&(610U&~g z;pY`_v44>3k8KK|zv+ZnJ!u+34Y*!TT^h;Sf1$yj&=misgu{!>5rGkaKz>{3bO5OG zn^Kv-8B7Ao3?v6``v(Gl?0XGjH#qkXd>vo@J2n4b_x)r4zdlo#|HjgPE&uh@ny2!R zOUV`{E$57K#sRHN7MPO+T->y8V5?7)PR$+7*mS&E>m zi-1kpH~Fdd|FF$7^FWdZQ24`IQC;T$1+A-p0@2yh2UJbrh*M7E?*GELVg-P4(>cuZ zfnmSJ{I`z+`1{{T+{)`hN zz7~L_;4;1}lS>^qORD9accGCdDwLfqlo1q;yaV2}|J#@U{!e-CyhcGaVu@n^44%ME z{ham`;CCEw5J3L_@@kE*(NtRgZG7N|$KE_wpVRsWp)~e&G$Mlk%MK7=Ho>&iCxET{ zeEwgy?mxQc-$y*}pE>%6M5z6nMEn;3t?^ac3TqI(%L=6HV6HF!olGST$VV00y1@5l zQjYmU|I2ZIV(@F{(Puzhep}dw|MiRID=yjpN&ElW&}#qx%^Lm9fc{Su{{J7|^Wz zj1X{hXgHMk{q5H^kN%65&kW1;jhTwRE|)IHHoB0FKn3V8&quBx9GW%Rp7MGwF zO17^|X(i%loJO`;bz=gwY=zBcD#8qE=U>F}{)r6T|LtNNbt*!%R7F-fd1!yb2Tew( z6|m|B{iFq%b)+lCw9%g8lpZhJKVDvZ74z}4Ts#x4FYaq#;95|O!K@r)Kr8H-EPbj^ zL5qql$~_dxKN$HW>K&KgtSI+r$_=OO%L}foHk(yGDc{yCE6RNFiSX~3T=Wd8teJnG zaNR#(UGylR49>sb$>ZM~`E(xDO5GH=>S6U{ERcmd1_F&az44nS^#3=~DSFK%FDogV z8{aFPzQbU1ebW~I^e~g}QWn{`$uEJz!j!U1E$hRF>GQYIfgQ;=c~n)@mro!O&6uk( zN#0vaX*gv{D2GpqPYT?@IYH7%zc4Uq8#r&_{!?U*@}5M@o9u;UZO%9PsB+aDWfo^N z&sUA6_giTFY^~&Ro?2XM2zoO_U7j?k8PObQ1nX)#Vy;AJM@2kq zTAW`^q8F#uwdLTHex(M@sLvsX{RE%FyC>Wi>Z?+83dPswvBzOisPCE^+Png8+X34{ z@-!2T{O*nA3;iEwLe%#p@WN%UhU|R55NNi3t3?6T|GZ|3U;w}4g`L4HDTY)~q29JE z>wCn{Ko?=Y%KIg>5HHX5&WF@#ACiXF&u97FhyJFO0)84`Lmqn;UR|=`{N#K2FJkS= zrb?6<`<&N$Qw5*2pL_1!;3s&Du5alf$jSV`Bf>auh=hMKZ8}5&s>+%zuju)0|KZD) zrshRFQB){m;KO@B+E=Wa~rqFK0GBwSXJ>+b@2uxWIU2&!_`o*lByhH1Bb$&oxWJ#HbzF5R#O>+iSBH;4>30wQ6@v|hQ+cD*xC4|mi4AG z&s$WtJ!A9cCT-Of$yLK{fl@SvQ5Ev*Ba7jEs5-!oIOxHKQ;yv#Y!VqJatQXs!fHa| z+8U>L;i&02M_oifon4R1Lk`Kp&o~^;`1tm3XM5>)Ncz|7wcp4%dx;8;<47ZIU#QNt ze`|{HaEEZ{@RZ2(oWTED}iTPTE=%+Sa_bLJs7p-8au{{ zif_!@4?W+t%@{)b#1o5$;sq0A-!7=hPkpD4?;36XhIGK-*ElgIXS4y<L4Mak%&j-HY#d>)(Xz$KPGEa?J!e^XM_)Lv1~X}+v!s8BcR=~w0EZvrXS zy`O_W@^RbWd)b)|k>djF5QRK$2V-tAJOwI9vsN21I*?r}d#`+mmKmji&ri6U8t08l zShe6}pT}0m!FZKA9B}X&CxzLS}KUx{j8RJ74WH07av~dBtn?XnIx?U!81Fd$xF5Iy~(U2v!9ja^3`@VWv69xgx%S= zd4N0v1iJY*vspkYKSh1Ou1`Zf6BDL31eH_M;{cgxXlhpCzA3bIP-UDMQd7qQl`9Oo z(Ft7vGoOpA0klD?YQGlRt`3=Xt!uusU$=%qsYYtu6Q*6CBTwU0gN12*J^2ylI+i>h z?pG0_s;~cpUB_EqKEQl=@`E>{DEZ!oRG@2s5|@7?Oo~fnK}~4o9?VNgNiJ28Fk7w` zx-Ke_6w8wz@SWK`r_29L(QnL@llE3jwA`?oQeFTX-`dHJa*LOJ)|ZsqPA|q~PS(G> z?aB>!S|(3n#n;9GA?Hb2N=zG`3OFr@*Jm$UGmTu<`hD?X$2s5Ez7rDJ7WesTv7_1FS=6I{fRu6 zJ#wM?Ta#Asrb)ZMImAwxu%p>x-%Y$7bI z`~F-fdxetKPY7tU2antGExK1>wiXmc`dxDtO{Jf4%h=**665+oynr&CLrkzytV~|i z#?+E{lrcLM%Ax)Oy|+^=Y2H-%?c+>ic}+i#=~lcCOKZ0~k~(s1u57x9RlwAH&7J@J zIneaKOOXt7(7ofmxEysTvCJ|qLn}~Kk)&0cwUFkw5_5UCr^&n#kg+FANBe)5d8*gR zIZaL7yD%Is_%2CDROUz8@v7@V2X)in&uXoQQa*E>7imU%#dh}Ww2*5z@-f)MTX<-t z<+5p{oGWL5AE$=}FI3sHBdwt7zPazr&aFc&PPb?jyP!x9N|qgn9F7+Wl3KH16e0`l zTpGH(%kzkB`$^~ zY7oTW;n0n$S+Wn+j(SNxDRrpX8OvtvTj4LD^O`U2vQ}b0)yew|s=cd7yuN*J zI2y=yKMQP8Bv{8fdE_+rzKdTKj|t-`Ha8EQnh+P?&@64f53Uo(<1^hXEQXzJX;g-! z$g7Mt;q$Cy+CD5ANB%IG6B`yQ;kW3tYGG2WySu23JS}Is%>q(0c#)HEv0ScO#YJ{J zrIvhi0Oi07hV?jTk@eh`!C@fM@xzE$SX>ug7W28J80qhU>ZdTxIDvJ}_s#lE26!ho z?v?(MaHTmlHA$@{&x^%N7`eoDlN8ABNkGgtFg8&MI=$mi_K3^$8etC(vheUmuXLOd z=r!hVDdubGU3us+?aBK4{z@C;uZs;#;faS9C*C3_Wfn0q@@M3s7eF;0*wTTswv^G6 z_u6D~nt=VuB$!jh6sYdM#v^1%>|YqzE`|}{#r;}xVnF=EUT0uR#yzC9u^bOL2GCNS z7=&x^%I%SG?kd{GLF-AGaGlPS*G^6r*dLZ7b5AnEl`t)vPPsFJ`7Tv9p)k-IXAA9X zX^;IG@UiaF6l~h5ej`Vlv!svsmoe1F!5P2C^wcTUvn-Okmc-nX_WSLlWJm5}$<=mi z-R^Upx~}{j+>g&a2M=m)pc)GwHN6jp(P`Rlp|(exyKiXXM7vMbA$arOu9LNu${O>_KW+b3VmcQkG8*TGVA{YpQ zPZoN#GMsRDb|MUTlvW0lGuS5J?F$~9L76WHr01vuv3S#@G!|+5pr3-3N;Xgao!V=< z@QvqS@7BFej+mWCUbtlvh+Ezad76pn!N)+C{n)fE8ps%n=-o9fEnEA6QYFEkY5cz| zpWatxZ}hTT(YnT;;Qt_UtgY-7*Nu1EHoov(VPa?R#Ob}|<2hSRjf1;uiw|}zL_wh1 zq86y{GgIdI5>#%J^?t8=$G**Pzt?K&^kNi>UMT7BaED1RyG!4l#Un;!mo-h6IB!Yd zZH?vD<}GsWHE0iexr(f0%0Wy}5Mk%&-a~IZem65jVFzb8Rwu}@-1g4Z38~H*$9v!^1TH5V1x=uNL^f!6H#1+M~1qDo{D*@*8UR^z#U$7 zmc2cG1Q7#LC+*bAjF`+2bwXo`A0w!o`rpF2o#q27k&^~UtN~EbZ6$-A8MCsoV?aPa zezjss3U9(1aQ$UW`}JoDtI7-a3uz5v$(qBxm9`Xi>flx|-uVGX*36wR?P>ypd}=AN zchC{09tB)Q+=P zurwvN@v6uAR5Mf=+9xhvBtNJdlcpBv;`_y?9Ww?0in6N+nGAIeJ}F)kb9&DIMcBB` z;wH;Th8xyyqi~O!(FPt@BRpQbcGv>}JkEpzpAf3csVQTRS`MP1jKbHwCB|!T94yPd ztqmV_Xts+(2*kF00hgPbAHn0Eep-%#nPqROV>I@q1R^uhK=wFE@pt|DmgY@RB=ig6 z{e8EDw7-2cuV|h6t!2LGNL1{cWsCM35{0WVYWUt>ph=eP4f*&Np2T6NmDioM!)+m4ANe+>?a1=SLBAaiZ5__&p*Nwa@qJn2PjYP?LFUCrryuuw(I0HYom z>WxcKrY!4xAg#w*nD5fQZMRkxHxwR#tLsAzjW!2OBK^f~EO)52J{F z{|*nP*Jw20SJTVI(G;Fx;`V!nr~IG_*-5v?SfKtRU_NtM<5LLVs5SC)>3F#wZu-I=56(yKwXVMhjL%&Kl|X7*(#Ra|<$tdqtR{lYs}6o`pV~6DeF}NDT2; zL^h($dxZ^gfd-p_DeipODr*abMTP^YwfoLLO2r!w`G2&mcWOdFtwu)(`vklF1k2Cq zEU8yCi>k3Q2sU{+x%Qk4&t=MCcQU|Kc#_6 ze9|0#eaLoih@fREk40RN)7Hx^DQQtbb`I*Ms0PE`oH)Nfx^kQO&y2(zyQJCvoXw^3 zI9+kuKUr?-IP9pyo(qifGfp@{oCWr^(VAvFiF#ovmQkhlVgPr7^*#Q4gs76Nh62GD zHX{OqunAxE*R#*sZ>ewl^zG*bG(k^$2IasNF%`2T$EW$YCcTlYWz7Tg>}7LqynXl9 zS{pv~tEcba2VZ&pz>ZVje$-_B`|w*zSqrur*ixt|OlauCb*&pLEYxZl6)W~f6^SK- zN`9b%yp{#o98Z6C-qDoWA33w)R>UmJzQ+C$^(JOzM-Aepz_< zhxn(%dl%Boq^1^ULl^zM@*wUjcHl84IXfJMYts7`Z=IwD^ycX(wi($H^mTWSPl!I< zl3&;4MsBI`=?8EbJm?9%?F=>*{~*at7^{HSTW_CAaK8!yrO^ImU|RElvUIro+%@on z`A0{bk^Z7U54mK+fn`O5({T0!Ea)d#+QeJ5bi?){P2{g-u;|TPAa9r}9@;;-AR!aW zJMq0$S0+)wv8H>_MYM|>ur!M5!`PdEr{9}<(}OmrEHhp}SR2=Gn?IeGpqZ$3Y}O>p z(2gp7lGnd}XZd?jQ%ln42GK&KSec8zD4QE!F>>okMCZBK^fmWWxc%aB+mdOSkdR~G zbf7Bj_3&TLf`Q^^0W9)aq&0)=!<+Q#3A#WvV<*hj`Skh_bWAJV>ElMjsWG{Pos@Wy z-3^UtktQz-9LKh-*QX|5u)wC5B>8A7wQK?q(2OC8-WSj?+N4I8=o*NLairu_CS*Dt zp%!abzeWoIa^12rVI(PNxPX8o?h(~Bu&yV^*-fMwT!o{Pv`*B%KMh*XcYgiG$iE%D`$ZSs;8{ z3CTE>Jb791A~Y(dGCU@hOsN#wf7CIbBjrkziQnzMb{2@})u=_y0X2J?n61RLxozeY zMj&6J0NlBWqFjE@cA2O%Pev7j3#V*Ph7s03itD`R?de2QbOx3YMqbw#&qHK*((o#0 zF+?|bEm-u|JW=q(r0xs_Jf=#&=8N0v6ZibdNveYJOW8!l?03t-@yh5HQ^|05>?iLm zS&&P}&RyJ+sfFWL|EN}bpuB|EJgM;lhC;mGMCw_S`$zXxN6*`;|5da{`k1Zb8?b|C z$fK*yW@8yXA|K=x9V%)^#;-#dE2`x03u{*_F+TXR@>3qJH+3iQF*4i=pZf7LmN_;I zOrO9DsY*+!uQr;)#aZFBjy9*?mA`t2OQ&#!rnvbo<#;3Cuq}AK8W#VhS~7TY4kU5$ zF9}wd7cCz2IHE6QE>El>egA?7DEu*s_ou6Tb zo@%r$qI!n zDp>q_b{p>m#ynZ%eS)J9lv z18W`}vmN~I z&npjXU?5d_OZzr)Iom9$!L_ckP55mN>}w61p|9DEsAn?^aY^z%`qISR^~UWUwCBSs zRkT0K`pf2kaDN}Z=JHI;-4y5Eb=pagTbautAPh3*H81gJ!MyutfN07JAr)U9IBX#8 zQ&|p$5`voKjqXW0MdwbQ^@h*6GqLb6bzD(*T`ojb&Az`eB2uFK@IKKK({pn`7{|3Z z)jrx>dwl>7!%N6{h-RZQRz;1rPRY8g25{Y^G+@$JzoxjF-t+U)>l;$DnXN!)>sJex zD9~z2s}7gcY|4hzH`^w1CdE2Io<#Z4PIb~G-x~#QCMhccN~WhBw~(>kq!sl7iH6V5 za*9w`9$rmg@fP0x<{ud9a_mf>-$LQCwQ(7~=FojBvC`$^hH%npDa2b|N2 z^%#Op_p`aah_jbUb@LN;w4t?L>llhA?BozP7cz_c(cx#c7YyZ=G?{@G#hQS1IeL zCWbrX5eOtPIwaTEuY{UuOh2UUmcP~wG=S9T?XQ0waN^vbgtfeHo)TDiynhu4hZDzb z1UOr+WlvAvR36gz3Le{1dijt8if>6rH2~S*vm5!!rO?PB>RMMkV>eTMQ=)*JswB5? z%&q!Vrm?nBMHuFcR&!qp4E3g3C(M)lV3pSK14`(lu7GuJfw8tY%}=HcSRc7>KisuF zEMB_|yO8K!3V1(F{_A4op01-ZiE~wDPO|7s@Vq-5R=h3Fj3^K`BFYsznXS1uCcC0u z9*bW}HmFX-XdQ{I1@LJEl7buqRyYlleKVDTyufnGCX(Ya@>1d9s#bx=@n_A;59IXB zA97$VJl&(vhBz*qrp4$H$|ySFY%*iE629-Y>pTblwttTH%8yO=vtG{`!t-iD++IaU zoe%?^jC+gs3>?muYXjb|!-!gb)t2&niZdt3<*HfGjT0?WC#6x)Cp++1vaOsgJsi!` z^#q3&SmiuoshnLIh_LE|iF1`Utk6KM<-)SEL5y&3_*vlG+4jD5q7^d5eGpaK8>fjk zguw}6c#Bt9nV69!-=E{Nfq6YD%{W<~XEqm3kPNhmDPPY{BY&}bNY1p5b9>6Zj&c{x zmd{H|ADWPJr5IPzA5-7`;rb{&JtfiOg#j|z71{oQgJzGD?W%J^lg+nEn+02SRzG6z zq2_OaMht4ckm;&69+a&tKZ+#=wKP3fYakDvH&K-G93CZ;wr}0yQgyH1JznJ$7k13) zTF@4$xa%$4Y(3SANP}h&mJL^LatS&;?M61Q0QszWqH^cQTcYyzcX_i%_o#RLg@kNpz{PpFgp~6yT=n`3TJm=Z+@R;~Y=6bW z1!jaefq}kDtPGu!qzOug?-ZL$?oC@pm57<_@39qI`T`Nl*OtNZSifsfk=zC~nb%)x z`YCTm*M&d8Wl_E?@OUWxVo1KBm0RK_xub1V{5YHA^Gq}2HOOXPU~cW*$5u9UK<(AS z-G(lv;2VZwlQx^%!EJpm=i6pa^+(GgwP^o~+eQ0>!g4CpvlvKX@fvTWlf4$1yld=* zq}tk~-G&D&a^L)47(kP=S!Il8S93SQfVlc*bo6Hg%Yk{U6c}sxU7~BD|FaoK&$U`` zp*tm?`_g=57g+=#yogQu_Mw*1Aw}`2=K)G&Z^~-VNI=sc`ohb+{%nWDdx9++h3n72 zO$y)bwOlNQA~DCf=^fkV5@sAXSM4XMk_^qU`12AP@orC=a_3Cutxh;@ezU58VFT*P*Cvn<57r#b&U?{=SuiIsWJu@-u{)VKlapt==lED_&0CDzdFO1+t7tipPFM2>dUxKzgQGK{}hOsTO zvcA`F3Cx-SRhDOThnW&q$w0#<|EN=J#5WZ^^crZ|e}iLihh>WdzW(M&w|Zjcn% z=rU!3s;F~G-e8y2BbomF3C3b->C7E;lf$WXLhF_YS?)uqnZ>jLWyoNp^>(wR-W3c`lCDX8B?J;qM zx75qB=D|Bt7qckS44j{ZGYG_>D780%0kV8KSlG95yO{AlV!x&fe71ht)U|4%D4fxN zq3WxI#Qdz`X}$V({^(LzwWIZtsb!rTGIqzoUVMo}g7-1y=^kd1tF)GAI!KVHMAgp* z`BiLBiCokv!*8iCwE>!uMbb~vNd*FN=lzxDR|=~oPi1FpUv4A@@|o3Z>fkyw^K4JQ z%9viJl}irF2~Vnj1ydjAb^Vd9Ar&4rucUhN%nmFj`6bqjGB1$Rx(9MS^1}Jr(5hTy z=(cRKiKlS_0X`Y2-_*n4;bOn_TI!=u)}c6W{yaPpBM4gmNcuE+Dx`4Ydm#uk&h?io zET>LR&cQe$I)e)J2`iJ}B>b%9xA_dh2e(&1?)E(3=<)7mw~E+nCXMrD>B9@zuv>UO z%kvjn_ zV)yuXLA+W`FEFby%`c&^muqgmfW~FM=>r;-D4D|Th)w#-WK!pA-YOlobgL-YFYL+f zKr~uj>5<88-P(uu41U-VQXQ7df7}l#yGg3Db-uuDRxK~^`nW3wGPRK1tKB~Pt|CMZ zGMl2Gy;5TDT>nTH8 zW!HD7SElkBS8`^gRX4t1`df8ND1uLeX_NZMxa3~-9Z>^$3l$hn)lRsGUak&m^n$;H zxZhN8-azvmM~o(|!#&}MOvBq9)^v&(H7VhUJ4`%~TZw28Rz^>0>1tjo z_DaN+^xgO#_wP2o z_xR~GY}=R_{=q)wZO_{bQAPA>!MD!bQ&}|Jib?6_p-*$k>1+H}2*H`N8_h_m&AV79 zT1cw()(Cm8SezY)$$RVX-Ys8&nqS>D-VzQ4hU$L6M4R3pKAU?}0Ro8?4SqK0#lume zHy`}Cn*ofQx%^ln^m3L?3WDXEF;VR~>gm|~45>ctU!Si+h#@sC!54MuXg#)eii`-h zbZIyWE3eh zFpt`Ltx#G#@OkhcNza5uPbs?Xtb`tEIqe-@I91G)IU}2+_K7!KH)r$*-{a)d91CkY zt3WK=3cuhLUEz)h;zHpp5GAA{^V>juw8gHkc)I5L$SM8=@?xIFC_R%fum1ao2A~(4 zJK9iAd1m;XjN4L`U)18x)CLcvnz*$9hIeJ&e^yan*gytMm~9`(9a!(lnWz-q>o(+% zw?75v{;YB?sX}%8;a7IIB3a7<8yd;ubAN{AS_cn~v~SW$#8jGGX_6|+h%BFe%)Sv- zlCS|OTam?>JY3!_{JHnzh*@@_ywY)-Mvdx15Bo*!U&8M>aAbHNP@E`5(J|t^t6g~i zIgn1t;}>hEv}apSZgA2@oM-o=w4qr^?u0Y(#Ek1N_z(FyWYnnkHJcI=d(zu>OH=5AMUacuUt}qkhcV6pKx4haPh-7uA1sd@TszP4+tzQ$LKZ%-cW1fHHb?;lNZrUAqbEc#ns{jKX zM04XHa_qFZBAxUQC`jqJyXqNdiuJg1rg%}UOBuR98PsjL_1x&^mZm@8@!gLwW7<|Ai!!a26Q5xzqZqLGgo z??N8V|BuE#7E-&diM$Ti#Eqn}R{=o@jBb&Qz#a|$Pn8>)(z(w_|m1k@xEv=k1x5$a{v<$8E z*mff#J<|U}>O!Q56r6Ct-L%3(hY49r6EtW`my8^00uvI6> z z&KK5n@1*GUjnGmovikDzz^`w|3np8d*IZNbbvU?oX{9`g1LC0yCy5 z1(3ypwB>a~E!5wF7{yWT()7Msu+(EhONS_O>-YStU6a3e2aLCYc68vptYpOreC;yY zznf;^IE`^how*z@DY?_=FnrYZgdgl$>GPquO8!B7ygCv$0hsd9tUYREnHWyA;`x$M z6wbHBi81o*7wI-j%0ajic;LB{MRb{zsYwv0*9%T?t(Wi6e5db$6vX#rsadcJeFl~# z1_(a5u`t8J+;k6j*gC8{s2o8)98IRvlIvU2q`4&tHA7#m35FKHh+Km3&$l&ZR??3w=<%m}0rwWxWZ@)n(P9JX%eMRlFiAcDgqWiJNvG+@f| zVqiz3C3L^{D81d}Va2i@L71{4q?>G~D}2tEg7!$N>V6Fr1(do%kNZ{x8@aO7zRvj{ z#_`MD6pR0wIHQL4jf(cELy7(h#Lp>#OV`_${J;w>1r^adj-LGeXr9vhD?t9x9tJpI5_KXQBGO=d6Yk$4rYA8jjitdnV1 zQhXzAKuWSu5;Sm?QuO&tYYr#f=E0<|iSyHMSnc%+g+*7*_rA<3zKtn}?*NKvAtqWt zbK*5J)w_LjE{C%5K|o)8aY{~Wi|Z2Gf?Hb3c*xULQ(Ob7Sy>u(;X_~QQK`vKN`?!d z%$PWsLGP8(n01W29MtTQ5?M=PrvmF~nylp0`@<`fA6$_!qdC{|=F7#(-by~v`=(lb z?2SM$IT{U#%<6kxi)e~%kgw>OvprT{T-ovl42+UDS7RcHU@z%{nxN}B_5%jdU)}6& z1E|R*VAdM^$TLSt8oSwfvu@DPsfpW>H9!~}y&^6_ zYu-8z@NQbIEhJa>YRwI)h=U&yi&l3OZj0{m#7$zGu)dno8EIeBo-GH#k^VPL;D&KB zw;b6vP&JE37Y0$uW-7@D_n3X7%}vHyX#WW^wDcAm4pvULfVo`jvtA^r-aKz5t5@X&d-NbGA)8`mWEYblOr3|74iKJ-=%B$)Ip@yZ?w8DQP+|D;LjI;al`l zB$=_Pf9*0Zf%aC~2m8~{tAQV=h$&bp$-AEzZQN~g74atSh}o#?zq5hfq@aD%p6?6y zo%+#uz6H73^(sN3U#}872e79V3741h1HYgD2GrD2rw-?pBT&Uu>dZ{b`E@N7kx9ag zs4EfR;|%C8VaNwgnu+5o`S{V~>a~TLvMHbiG}QysS$}NhlAWlxXXVYW08|a&TW&pI zpp83(>SXuw)CG&X$pe!It*1?XTF|*y&*S(JIQCyCw}O-Uo$1MMz5)0mW7+fB)@bbwZQU}u_IlyPFvikSli?Sm4-6rRBD zk0;VT&w8{IZz}pnOCDKUU+YQ?`KF(J)I7I6FMLH(bfNQ+>y`W#mHvKymsBb98P-99 z@QpP5Y2wpMy)9*E7VkK04I@?hu(KTvZvyYzLS5Na)yN>qbl;JWqQYyQLP4-XO*c00 zk+SbWGCgep3v7h^YQ&!Y#5exqM=+Q@znH8K8x5_Y-v$EXtQdP+^&++}El z*IV|{w)>VXtlmM#Fab-W$T4Y<8_L~piGzDaOQo;$$??%s#(Ume8v=v=WC_VwiRkSo zlaO2Wu-YiBAkxNiJG0GOXtq)uwmaB)a>sl}X{5KE@uH~B(Q0tm!b=}wU*BufwbK)_ z=YoTqybg+Lm*>C-4U3!WTCv__QRhIzzxp(b#QgA@w@!D)HiH6;hh~(-OGv<_J}Crt zW6qa}BrK6*URe=p_4-$d5zh(!mt1k3EmNObbf?o3>kXbh@YN3Um;v;H(M5%AA` znYlmsK{7lPC?Ppnka<6Vi}Y?RlABr7RmN!>ZER7cf8)r4y??^^wF)Kkqf4MEK(K!9 z?Zxfm{yFH5@z8b3h0I}$4qRIejlG|hn%}-Mg|TV}n)m-OGLp}>;v2Tv z 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 z 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¥uS=^ld|d8i^(3 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

OfL0DsnprZSa=11I9-(5tm9 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

Iy6ab3~-t%yWLM-Q5KC$)NxYEb;zNt>g|8JSN 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 literal 0 HcmV?d00001 diff --git a/img/uc-stablecoin-sandbox.png b/img/uc-stablecoin-sandbox.png new file mode 100644 index 0000000000000000000000000000000000000000..cc33de68e7a70f1ac78c9c5a8cafea28dfb5e67b GIT binary patch literal 103783 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

)c`b2UGIPEE!{2+yYfO>;D~9O*GyZA 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 literal 0 HcmV?d00001 From e84890d7562e678b91fd266e9252f24921228ed0 Mon Sep 17 00:00:00 2001 From: mDuo13 Date: Thu, 7 Dec 2023 13:48:22 -0800 Subject: [PATCH 2/3] Stablecoin issuer: roll 'technical details' into other pages --- .../sending-payments-to-customers.md | 10 +- .../stablecoins/configuration.md | 9 ++ .../stablecoins/precautions.md | 55 +++++++-- .../stablecoins/technical-details.md | 105 ------------------ .../tokenization/stablecoin-issuer.md | 4 +- dactyl-config.yml | 5 - 6 files changed, 61 insertions(+), 127 deletions(-) delete mode 100644 content/concepts/tokens/fungible-tokens/stablecoins/technical-details.md diff --git a/content/concepts/payment-types/sending-payments-to-customers.md b/content/concepts/payment-types/sending-payments-to-customers.md index bfefcbe45f..2f93118408 100644 --- a/content/concepts/payment-types/sending-payments-to-customers.md +++ b/content/concepts/payment-types/sending-payments-to-customers.md @@ -11,14 +11,16 @@ When you build an automated system to send payments into the XRP Ledger for your Generally, when sending stablecoins, you use a [Payment transaction][]. Some of the details are different depending on whether you are issuing tokens for the first time or transferring them from a hot wallet to a customer. Things to note include: +- Always specify your issuing address as the issuer of the token. Otherwise, you might accidentally use paths that deliver the same currency issued by other addresses. +- Before sending a payment into the XRP Ledger, double check the cost of the payment. A payment from your operational address to a customer should not cost more than the destination amount plus any transfer fee you have set. - When issuing new tokens from your issuing address, you should omit the `SendMax` field. Otherwise, malicious users can arrange their settings so that you issue the full `SendMax` amount instead of just the intended destination `Amount`. - When sending tokens _from a hot wallet_, you must specify `SendMax` if you have a nonzero transfer fee. In this case, set the `SendMax` field to the amount specified in the `Amount` field plus the transfer fee. (You may want to round up slightly, in case the precision of your calculations doesn't exactly match the XRP Ledger's.) For example, if you send a transaction whose `Amount` field specifies 99.47 USD, and your transfer fee is 0.25%, you should set the `SendMax` field to 124.3375, or 124.34 USD if you round up. -- Omit the `Paths` field. This field is unnecessary when sending directly from the issuer, or from a hot wallet as long as the tokens being sent and the tokens being received have the same currency code and issuer—that is, they're the same stablecoin. The `Paths` field is intended for [Cross-Currency Payments](cross-currency-payments.html) and longer multi-hop (rippling) payments. If you naively perform pathfinding and attach the paths to your transaction, your payment may take a more expensive indirect route rather than failing if the direct path is not available; malicious users can even set this up to +- Omit the `Paths` field. This field is unnecessary when sending directly from the issuer, or from a hot wallet as long as the tokens being sent and the tokens being received have the same currency code and issuer—that is, they're the same stablecoin. The `Paths` field is intended for [Cross-Currency Payments](cross-currency-payments.html) and longer multi-hop (rippling) payments. If you naively perform pathfinding and attach the paths to your transaction, your payment may take a more expensive indirect route rather than failing if the direct path is not available; malicious users can even set this up to - If you get a `tecPATH_DRY` result code, this usually indicates that either the customer doesn't have the necessary trust line set up already, or your issuer's rippling settings aren't configured correctly. For a detailed tutorial on issuing a token on the XRP Ledger, whether a stablecoin or otherwise, see [Issue a Fungible Token](issue-a-fungible-token.html). -{% include '_snippets/rippled-api-links.md' %} -{% include '_snippets/tx-type-links.md' %} -{% include '_snippets/rippled_versions.md' %} \ No newline at end of file +{% include '_snippets/rippled-api-links.md' %} +{% include '_snippets/tx-type-links.md' %} +{% include '_snippets/rippled_versions.md' %} diff --git a/content/concepts/tokens/fungible-tokens/stablecoins/configuration.md b/content/concepts/tokens/fungible-tokens/stablecoins/configuration.md index eaa5781593..e6c2d5c2d2 100644 --- a/content/concepts/tokens/fungible-tokens/stablecoins/configuration.md +++ b/content/concepts/tokens/fungible-tokens/stablecoins/configuration.md @@ -26,6 +26,8 @@ The Default Ripple flag controls whether the balances on a trust line are allowe Before asking customers to create trust lines to its issuing address, an issuer should enable the Default Ripple flag on that address. Otherwise, the issuer must individually disable the No Ripple flag for each trust line that other addresses have created. +You should _not_ enable the Default Ripple flag on other addresses, such as your operational or standby wallets. + ## Deposit Authorization @@ -41,6 +43,13 @@ Therefore, Deposit Authorization is not recommended for stablecoin issuers unles For more information, see [Deposit Authorization](depositauth.html). +## Disallow Incoming Trust Line + +The Disallow Incoming Trust Line setting prevents other users from opening trust lines to an address. As a precaution, you should enable this setting on your operational and standby addresses so that those addresses cannot issue tokens even inadvertently. Do not enable this setting on your issuing address. + +To enable this setting, send an [AccountSet transaction](accountset.html) with `"SetFlag": 15` (`asfDisallowIncomingTrustline`). + + ## Disallow XRP The Disallow XRP setting is designed to discourage XRP Ledger users from sending XRP to an address by accident. This reduces the costs and effort of bouncing undesired payments from addresses that aren't intended to receive and hold XRP. The Disallow XRP flag is not enforced at the protocol level, because doing so could allow addresses to become permanently unusable if they run out of XRP. Client applications should honor the Disallow XRP flag by default, but may allow users to ignore it. diff --git a/content/concepts/tokens/fungible-tokens/stablecoins/precautions.md b/content/concepts/tokens/fungible-tokens/stablecoins/precautions.md index b6b49fc417..7592949313 100644 --- a/content/concepts/tokens/fungible-tokens/stablecoins/precautions.md +++ b/content/concepts/tokens/fungible-tokens/stablecoins/precautions.md @@ -7,17 +7,48 @@ labels: --- # Stablecoin Precautions -Processing payments to and from the XRP Ledger naturally comes with some risks, so an issuer should be sure to take care in implementing these processes. As a stablecoin issuer, you should consider the following precautions: +Processing payments to and from the XRP Ledger naturally comes with some risks, so an issuer should be sure to take care in implementing these processes. As a stablecoin issuer, you should consider the following precautions. + + +## Infrastructure + +For your own security as well as the stability of the network, each XRP Ledger business should [run its own XRP Ledger servers](install-rippled.html), including one [validator](rippled-server-modes.html#validators). + + +## Tool Security + +Any time you submit an XRP Ledger transaction, it must be signed using your secret key. The secret key gives full control over your XRP Ledger address. Never send your secret key to a server run by someone else. Either use your own server, or sign the transactions locally using a client library. For instructions and examples of secure configurations, see [Set Up Secure Signing](secure-signing.html). + +There are several interfaces you can use to connect to the XRP Ledger, depending on your needs and your existing software: + +- [HTTP / WebSocket APIs](http-websocket-apis.html) can be used as a low-level interface to all core XRP Ledger functionality. +- [Client Libraries](client-libraries.html) are available in several programming languages to provide convenient utilities for accessing the XRP Ledger. +- Other tools such as [xApps](https://xumm.readme.io/docs/xapps) are also available. +- Third party wallet applications might also be useful, especially for humans in charge of standby addresses. + +However, take care to only use reputable tools from their official distribution channels. Malicious servers, libraries, or apps could be configured to leak secret keys to an attacker. + + +## Payments from the XRP Ledger + +When receiving payments from the XRP Ledger, it's important to recognize when a payment is final or not, and to credit the customer for the correct amount, so that your processes and integration software can't be exploited. For details and common pitfalls, see [Robustly Monitoring for Payments](robustly-monitoring-for-payments.html). + +If you receive an unexpected or unwanted payment, the standard practice is to return it to the sender. For details of how to do this without incurring additional costs, see [Bouncing Payments](bouncing-payments.html). + +Before processing a payment out of the XRP Ledger, make sure you know the customer's identity. This makes it harder for anonymous attackers to scam you. Most anti-money-laundering regulations require this anyway. This is especially important because the users sending money from the XRP Ledger could be different than the ones that initially received the money in the XRP Ledger. For more context, see [Stablecoin Compliance Guidelines](stablecoin-compliance-guidelines.html). + + +## Payments into the XRP Ledger + +When sending payments into the XRP Ledger, follow best practices to avoid overpaying on fees and roundabout paths. For details, see [Sending Payments to Customers](sending-payments-to-customers.html). + +If you accept payments from in external systems, such as bank deposits or credit/debit payments, be sure to protect yourself against reversible deposits. XRP Ledger payments are irreversible, but many other digital payments are not. Scammers can abuse this to take their fiat money back by canceling a non-XRPL transaction after you've already sent an XRP Ledger payment. + +Additionally, follow the [Reliable Transaction Submission guidelines](reliable-transaction-submission.html) to ensure that you know the final outcome of your XRP Ledger transactions even in rare circumstances like power failures or network outages. + + +## Other precautions -- Protect yourself against reversible deposits. XRP Ledger payments are irreversible, but many digital payments are not. Scammers can abuse this to take their fiat money back by canceling a deposit after receiving tokens in the XRP Ledger. -- When sending into the XRP Ledger, always specify your issuing address as the issuer of the token. Otherwise, you might accidentally use paths that deliver the same currency issued by other addresses. -- Before sending a payment into the XRP Ledger, double check the cost of the payment. A payment from your operational address to a customer should not cost more than the destination amount plus any transfer fee you have set. -- Before processing a payment out of the XRP Ledger, make sure you know the customer's identity. This makes it harder for anonymous attackers to scam you. Most anti-money-laundering regulations require this anyway. This is especially important because the users sending money from the XRP Ledger could be different than the ones that initially received the money in the XRP Ledger. -- Follow the guidelines for reliable transaction submission when sending XRP Ledger transactions. -- Robustly monitor for incoming payments, and read the correct amount. Don't mistakenly credit someone the full amount if they only sent a [partial payment](partial-payments.html). See [Robustly monitoring for payments](robustly-monitoring-for-payments.html). - Track your obligations and balances within the XRP Ledger, and compare with the assets in your collateral account. If they do not match up, stop processing withdrawals and deposits until you resolve the discrepancy. -- Avoid ambiguous situations. We recommend the following: - - Enable the `Disallow XRP` flag for the issuing address and all operational addresses, so customers do not accidentally send you XRP. (Private exchanges should *not* set this flag, since they trade XRP normally.) - - Enable the [`RequireDest` flag](require-destination-tags.html) for the issuing address and all operational addresses, so customers do not accidentally send a payment without the destination tag to indicate who should be credited. - - Enable the `RequireAuth` flag on all operational addresses so they cannot issue tokens by accident. -- Monitor for suspicious or abusive behavior. For example, a user could repeatedly send funds into and out of the XRP Ledger, as a denial of service attack that effectively empties an operational address's balance. Suspend customers whose addresses are involved in suspicious behavior by not processing their XRP Ledger payments. \ No newline at end of file +- Avoid ambiguous situations. Setting up the appropriate settings on all your addresses helps to avoid cases like accidentally issuing tokens from the wrong address or users sending money to the wrong place. For recommendations, see [Stablecoin Configuration](stablecoin-configuration.html). +- Monitor for suspicious or abusive behavior. For example, a user could repeatedly send funds into and out of the XRP Ledger, as a denial of service attack that effectively empties an operational address's balance. Suspend customers whose addresses are involved in suspicious behavior by not processing their XRP Ledger payments. diff --git a/content/concepts/tokens/fungible-tokens/stablecoins/technical-details.md b/content/concepts/tokens/fungible-tokens/stablecoins/technical-details.md deleted file mode 100644 index f1664afe8c..0000000000 --- a/content/concepts/tokens/fungible-tokens/stablecoins/technical-details.md +++ /dev/null @@ -1,105 +0,0 @@ ---- -html: stablecoin-technical-details.html -parent: stablecoins.html -blurb: Issue your own stablecoin, based on assets of equal value outside of the XRP Ledger. -labels: - - Tokens ---- - -# Stablecoin Technical Details - -## Infrastructure - -For your own security as well as the stability of the network, each XRP Ledger business should [run its own XRP Ledger servers](install-rippled.html), including one [validator](rippled-server-modes.html#validators). - - -### APIs and Middleware - -There are several interfaces you can use to connect to the XRP Ledger, depending on your needs and your existing software: - -- [HTTP / WebSocket APIs](http-websocket-apis.html) can be used as a low-level interface to all core XRP Ledger functionality. -- [Client Libraries](client-libraries.html) are available in several programming languages to provide convenient utilities for accessing the XRP Ledger. -- Other tools such as [xApps](https://xumm.readme.io/docs/xapps) are also available. -- Third party wallet applications might also be useful, especially for humans in charge of standby addresses. - - -## Tool Security - -Any time you submit an XRP Ledger transaction, it must be signed using your secret key. The secret key gives full control over your XRP Ledger address. Never send your secret key to a server run by someone else. Either use your own server, or sign the transactions locally using a client library. - -For instructions and examples of secure configurations, see [Set Up Secure Signing](secure-signing.html). - - -## Robustly Monitoring for Payments - -To robustly check for incoming payments, issuers should do the following: - -* Keep a record of the most-recently-processed transaction and ledger. That way, if you temporarily lose connectivity, you know how far to go back. -* Check the result code of every incoming payment. Some payments go into the ledger to charge an anti-spam fee, even though they failed. Only transactions with the result code `tesSUCCESS` can change non-XRP balances. Only transactions from a validated ledger are final. -* Look out for [Partial Payments](partial-payments.html). Payments with the partial payment flag enabled can be considered "successful" if any non-zero amount is delivered, even minuscule amounts. - * Check the transaction for a [`delivered_amount` field](partial-payments.html#the-delivered_amount-field). If present, that field indicates how much money *actually* got delivered to the `Destination` address. - * In xrpl.js, you can use the [`xrpl.getBalanceChanges()` method](https://js.xrpl.org/modules.html#getBalanceChanges) to see how much each address received. In some cases, this can be divided into multiple parts on different trust lines. -* Some transactions change your balances without being payments directly to or from one of your addresses. For example, if ACME sets a nonzero transfer fee, then ACME's issuing address's outstanding obligations decrease each time Bob and Charlie exchange ACME's tokens. - -To make things simpler for your customers, we recommend accepting payments to both your operational address and your issuing addresses. - -As an added precaution, we recommend comparing the balances of your issuing address with the collateral funds in your internal accounting system as of each new ledger version. The issuing address's negative balances should match the assets you have allocated to XRP Ledger outside the network. If the two do not match up, then you should suspend processing payments into and out of the XRP Ledger until you have resolved the discrepancy. - -* Use the `gateway_balances` method to check your balances. -* If you have a Transfer Fee set, then your obligations within the XRP Ledger decrease slightly whenever other XRP Ledger addresses transfer your tokens among themselves. - -For more details on how to read the details of incoming transactions, see [Look Up Transaction Results](look-up-transaction-results.html). - - -## Sending Payments to Customers - -When you build an automated system to send payments into the XRP Ledger for your customers, you must make sure that it constructs payments carefully. Malicious actors are constantly trying to find ways to trick a system into paying them more money than it should. - -Generally, when sending stablecoins, you use a Payment transaction. Some of the details are different depending on whether you are issuing tokens for the first time or transferring them from a hot wallet to a customer. Things to note include: - -- When issuing new tokens from your issuing address, you should omit the `SendMax` field. Otherwise, malicious users can arrange their settings so that you issue the full `SendMax` amount instead of just the intended destination `Amount`. -- When sending tokens from a hot wallet, you must specify `SendMax` if you have a nonzero transfer fee. In this case, set the `SendMax` field to the amount specified in the `Amount` field plus the transfer fee. (You may want to round up slightly, in case the precision of your calculations doesn't exactly match the XRP Ledger's. For example, if you send a transaction whose `Amount` field specifies 99.47 USD, and your transfer fee is 0.25%, you should set the `SendMax` field to 124.3375, or 124.34 USD, if you round up.) -- Omit the `Paths` field. This field is unnecessary when sending directly from the issuer, or from a hot wallet as long as the tokens being sent and the tokens being received have the same currency code and issuer—that is, they're the same stablecoin. The `Paths` field is intended for cross-currency payments and longer multi-hop (rippling) payments. If you perform pathfinding and attach the paths to your transaction, your payment might take a more expensive indirect route rather than failing if the direct path is not available; malicious users can even set this up to fail. -- If you get a `tecPATH_DRY` result code, this usually indicates that either the customer doesn't have the necessary trust line set up already, or your issuer's rippling settings aren't configured correctly. - -For a detailed tutorial on issuing a token on the XRP Ledger, whether a stablecoin or otherwise, see [Issue a Fungible Token](issue-a-fungible-token.html). - - -## Bouncing Payments - -When one of your addresses receives a payment where the purpose is unclear, we recommend that you try to return the money to its sender. While this is more work than pocketing the money, it demonstrates good faith towards customers. You can have an operator bounce payments manually, or create a system to do so automatically. - -The first requirement to bouncing payments is [robustly monitoring for incoming payments](#robustly-monitoring-for-payments). You do not want to accidentally refund a customer for more than they sent you! (This is particularly important if your bounce process is automated.) Malicious users can take advantage of a naive integration by sending [partial payments](partial-payments.html#partial-payments-exploit). - -Second, you should send bounced payments as Partial Payments. Since third parties can manipulate the cost of pathways between addresses, Partial Payments allow you to divest yourself of the full amount without being concerned about exchange rates within the XRP Ledger. You should publicize your bounced payments policy as part of your terms of use. Send the bounced payment from either an operational address or a standby address. - -To send a Partial Payment, enable the [`tfPartialPayment` flag](payment.html#payment-flags) on the transaction. Set the `Amount` field to the amount you received and omit the `SendMax` field. You should use the `SourceTag` value from the incoming payment as the `DestinationTag` value for the return payment. - -To prevent two systems from bouncing payments back and forth indefinitely, you can set a new Source Tag for the outgoing return payment. If you receive an unexpected payment whose Destination Tag matches the Source Tag of a return you sent, then do not bounce it back again. - - -## Reliable Transaction Submission - -The goal of reliably submitting transactions is to achieve the following two properties in a finite amount of time: - -* Idempotency - Transactions should be processed once and only once, or not at all. -* Verifiability - Applications can determine the final result of a transaction. - -To submit transactions reliably, follow these guidelines: - -* Persist details of the transaction before submitting it. -* Use the `LastLedgerSequence` parameter. (Many [client libraries](client-libraries.html) do this by default.) -* Resubmit a transaction if it has not appeared in a validated ledger whose [ledger index][] is less than or equal to the transaction's `LastLedgerSequence` parameter. - -For more information, see [Reliable Transaction Submission](reliable-transaction-submission.html). - - -## xrp-ledger.toml File - -You can publish information about what currencies you issue, and which XRP Ledger addresses you control, to protect against impostors or confusion, using an [`xrp-ledger.toml` file](xrp-ledger-toml.html). This machine-readable format is convenient for client applications to process. If you run an XRP Ledger validator, you can also publish the key in the same file. - - - -{% include '_snippets/rippled-api-links.md' %} -{% include '_snippets/tx-type-links.md' %} -{% include '_snippets/rippled_versions.md' %} diff --git a/content/use-cases/tokenization/stablecoin-issuer.md b/content/use-cases/tokenization/stablecoin-issuer.md index 91d92fe382..ddb89a59a0 100644 --- a/content/use-cases/tokenization/stablecoin-issuer.md +++ b/content/use-cases/tokenization/stablecoin-issuer.md @@ -68,7 +68,9 @@ Currency codes do not have to be unique. For instance, if you're issuing a stabl ### xrp-ledger.toml -You can use the _Currencies_ table in an XRPL TOML file on your website to provide additional information about your stablecoin. This makes the information about your cryptocurrency accessible in an expected place and format, and enhances transparency. See [xrp-ledger.toml File](xrp-ledger-toml.html#currencies). +You can publish information about what currencies you issue, and which XRP Ledger addresses you control, to protect against impostors or confusion, using an `xrp-ledger.toml` file on your website. This machine-readable format is convenient for client applications to process. If you run an XRP Ledger validator, you can also publish the key in the same file. + +You can use the _Currencies_ table to provide additional information about your stablecoin. This makes the information about your cryptocurrency accessible in an expected place and format, and enhances transparency. See [xrp-ledger.toml File](xrp-ledger-toml.html#currencies). ## Account and Key Management diff --git a/dactyl-config.yml b/dactyl-config.yml index ea44705b12..18a106f20e 100644 --- a/dactyl-config.yml +++ b/dactyl-config.yml @@ -1095,11 +1095,6 @@ pages: - en - ja - - md: concepts/tokens/fungible-tokens/stablecoins/technical-details.md - targets: - - en - - ja - - md: concepts/tokens/fungible-tokens/clawing-back-tokens.md status: not_enabled targets: From 63dd2ad32946fac15d33150915a3eecc88e13acc Mon Sep 17 00:00:00 2001 From: Rome Reginelli Date: Thu, 7 Dec 2023 15:19:15 -0800 Subject: [PATCH 3/3] Edit: title case Precautions Co-authored-by: Amarantha Kulkarni --- .../concepts/tokens/fungible-tokens/stablecoins/precautions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/concepts/tokens/fungible-tokens/stablecoins/precautions.md b/content/concepts/tokens/fungible-tokens/stablecoins/precautions.md index 7592949313..9ec957ad88 100644 --- a/content/concepts/tokens/fungible-tokens/stablecoins/precautions.md +++ b/content/concepts/tokens/fungible-tokens/stablecoins/precautions.md @@ -47,7 +47,7 @@ If you accept payments from in external systems, such as bank deposits or credit Additionally, follow the [Reliable Transaction Submission guidelines](reliable-transaction-submission.html) to ensure that you know the final outcome of your XRP Ledger transactions even in rare circumstances like power failures or network outages. -## Other precautions +## Other Precautions - Track your obligations and balances within the XRP Ledger, and compare with the assets in your collateral account. If they do not match up, stop processing withdrawals and deposits until you resolve the discrepancy. - Avoid ambiguous situations. Setting up the appropriate settings on all your addresses helps to avoid cases like accidentally issuing tokens from the wrong address or users sending money to the wrong place. For recommendations, see [Stablecoin Configuration](stablecoin-configuration.html).