mirror of
https://github.com/XRPLF/xrpl-dev-portal.git
synced 2025-11-21 04:05:49 +00:00
Remove dead pages and links
This commit is contained in:
@@ -48,7 +48,7 @@ The XRP Ledger contains a currency exchange, where any user can place and fulfil
|
|||||||
|
|
||||||
Currency traders who hold a gateway's issuances can provide liquidity to other popular currencies, without the gateway needing to float a large reserve in various destination currencies. The gateway also does not need to take on the risk of financial exchange. However, a gateway may still want to provide liquidity to XRP or other popular currencies at a baseline rate, especially when the gateway is new to the exchange. If you do provide liquidity, use a different address for trading than your issuing address.
|
Currency traders who hold a gateway's issuances can provide liquidity to other popular currencies, without the gateway needing to float a large reserve in various destination currencies. The gateway also does not need to take on the risk of financial exchange. However, a gateway may still want to provide liquidity to XRP or other popular currencies at a baseline rate, especially when the gateway is new to the exchange. If you do provide liquidity, use a different address for trading than your issuing address.
|
||||||
|
|
||||||
Third-party liquidity providers can use [RippleAPI](reference-rippleapi.html), [Ripple Stream](https://ripple.com/technology/), or a third-party client application to access the distributed exchange. Some client applications look up the addresses associated with a gateway using [ripple.txt](#rippletxt), so it can be helpful to publish a good ripple.txt.
|
Third-party liquidity providers can use the [`rippled` APIs](reference-rippled.html), [RippleAPI JavaScript Library](reference-rippleapi.html), or a third-party client application to access the distributed exchange. Some client applications look up the addresses associated with a gateway using [ripple.txt](#rippletxt), so it can be helpful to publish a good ripple.txt.
|
||||||
|
|
||||||
Contact [partners@ripple.com](mailto:partners@ripple.com) for help establishing liquidity between your gateway and others.
|
Contact [partners@ripple.com](mailto:partners@ripple.com) for help establishing liquidity between your gateway and others.
|
||||||
|
|
||||||
|
|||||||
@@ -233,7 +233,7 @@
|
|||||||
<h3 id="liquidity-and-currency-exchange">Liquidity and Currency Exchange</h3>
|
<h3 id="liquidity-and-currency-exchange">Liquidity and Currency Exchange</h3>
|
||||||
<p>The XRP Ledger contains a currency exchange, where any user can place and fulfill bids to exchange XRP and <em>issuances</em> in any combination. Cross-currency payments automatically use the currency exchange to convert currency atomically when the transaction is executed. In this way, users who choose make offers in the distributed exchange provide the liquidity that makes the XRP Ledger useful.</p>
|
<p>The XRP Ledger contains a currency exchange, where any user can place and fulfill bids to exchange XRP and <em>issuances</em> in any combination. Cross-currency payments automatically use the currency exchange to convert currency atomically when the transaction is executed. In this way, users who choose make offers in the distributed exchange provide the liquidity that makes the XRP Ledger useful.</p>
|
||||||
<p>Currency traders who hold a gateway's issuances can provide liquidity to other popular currencies, without the gateway needing to float a large reserve in various destination currencies. The gateway also does not need to take on the risk of financial exchange. However, a gateway may still want to provide liquidity to XRP or other popular currencies at a baseline rate, especially when the gateway is new to the exchange. If you do provide liquidity, use a different address for trading than your issuing address.</p>
|
<p>Currency traders who hold a gateway's issuances can provide liquidity to other popular currencies, without the gateway needing to float a large reserve in various destination currencies. The gateway also does not need to take on the risk of financial exchange. However, a gateway may still want to provide liquidity to XRP or other popular currencies at a baseline rate, especially when the gateway is new to the exchange. If you do provide liquidity, use a different address for trading than your issuing address.</p>
|
||||||
<p>Third-party liquidity providers can use <a href="reference-rippleapi.html">RippleAPI</a>, <a href="https://ripple.com/technology/">Ripple Stream</a>, or a third-party client application to access the distributed exchange. Some client applications look up the addresses associated with a gateway using <a href="#rippletxt">ripple.txt</a>, so it can be helpful to publish a good ripple.txt.</p>
|
<p>Third-party liquidity providers can use the <a href="reference-rippled.html"><code>rippled</code> APIs</a>, <a href="reference-rippleapi.html">RippleAPI JavaScript Library</a>, or a third-party client application to access the distributed exchange. Some client applications look up the addresses associated with a gateway using <a href="#rippletxt">ripple.txt</a>, so it can be helpful to publish a good ripple.txt.</p>
|
||||||
<p>Contact <a href="mailto:partners@ripple.com">partners@ripple.com</a> for help establishing liquidity between your gateway and others.</p>
|
<p>Contact <a href="mailto:partners@ripple.com">partners@ripple.com</a> for help establishing liquidity between your gateway and others.</p>
|
||||||
<h2 id="suggested-business-practices">Suggested Business Practices</h2>
|
<h2 id="suggested-business-practices">Suggested Business Practices</h2>
|
||||||
<p>The value of a gateway's issuances in the XRP Ledger comes directly from the trust that customers can redeem them with the gateway when needed. We recommend the following precautions to reduce the risk of business interruptions:</p>
|
<p>The value of a gateway's issuances in the XRP Ledger comes directly from the trust that customers can redeem them with the gateway when needed. We recommend the following precautions to reduce the risk of business interruptions:</p>
|
||||||
|
|||||||
@@ -1,778 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
|
||||||
<meta name="viewport" content="width=device-width">
|
|
||||||
|
|
||||||
<title>Listing XRP as an Exchange - Ripple Developer Portal</title>
|
|
||||||
|
|
||||||
<!-- favicon -->
|
|
||||||
<link rel="icon" href="favicon.ico" type="image/x-icon">
|
|
||||||
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
|
|
||||||
|
|
||||||
<!-- jQuery -->
|
|
||||||
<script src="assets/vendor/jquery-1.11.1.min.js"></script>
|
|
||||||
|
|
||||||
<!-- Custom Stylesheets. ripple.css includes bootstrap, font stuff -->
|
|
||||||
<link href="assets/css/ripple.css" rel="stylesheet" />
|
|
||||||
<link href="assets/css/devportal.css" rel="stylesheet" />
|
|
||||||
|
|
||||||
<!-- Bootstrap JS -->
|
|
||||||
<script src="assets/vendor/bootstrap.min.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- syntax highlighting -->
|
|
||||||
<link rel="stylesheet" href="assets/vendor/docco.min.css" />
|
|
||||||
<script src="assets/vendor/highlight.min.js"></script>
|
|
||||||
|
|
||||||
<!-- syntax selection js -->
|
|
||||||
<script src="assets/js/multicodetab.js"></script>
|
|
||||||
<script>
|
|
||||||
$(document).ready(function() {
|
|
||||||
$(".multicode").minitabs();
|
|
||||||
hljs.initHighlighting();
|
|
||||||
make_code_expandable();
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<script src="assets/js/expandcode.js"></script>
|
|
||||||
<script src="assets/js/fixsidebarscroll.js"></script>
|
|
||||||
|
|
||||||
<!-- fontawesome icons -->
|
|
||||||
<link rel="stylesheet" href="assets/vendor/fontawesome/css/font-awesome.min.css" />
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body class="page page-template page-template-template-dev-portal page-template-template-dev-portal-php sidebar-primary wpb-js-composer js-comp-ver-3.6.2 vc_responsive">
|
|
||||||
<header role="banner" class="banner navbar navbar-default navbar-fixed-top initial_header">
|
|
||||||
<div class="container">
|
|
||||||
<div class="navbar-header">
|
|
||||||
<a href="index.html" class="navbar-brand"><img src="assets/img/ripple-logo-color.png" class="logo"></a>
|
|
||||||
</div><!-- /.navbar-header -->
|
|
||||||
<div class="nav">
|
|
||||||
<div class="draft-warning">DRAFT PAGE</div>
|
|
||||||
</div><!-- /.nav -->
|
|
||||||
|
|
||||||
</div><!-- /.container -->
|
|
||||||
|
|
||||||
<div class="subnav dev_nav">
|
|
||||||
<div class="container">
|
|
||||||
<ul id="menu-dev-menu" class="menu">
|
|
||||||
<li class="dropdown">
|
|
||||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">References <span class="caret"></span></a>
|
|
||||||
<ul class="dropdown-menu" role="menu">
|
|
||||||
<li><a href="reference-rippleapi.html">RippleAPI</a></li>
|
|
||||||
<li><a href="reference-rippled.html">rippled</a></li>
|
|
||||||
<li><a href="reference-transaction-format.html">Transaction Format</a></li>
|
|
||||||
<li><a href="reference-ledger-format.html">Ledger Format</a></li>
|
|
||||||
<li><a href="reference-data-api.html">Ripple Data API v2</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li class="dropdown">
|
|
||||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Tutorials <span class="caret"></span></a>
|
|
||||||
<ul class="dropdown-menu" role="menu">
|
|
||||||
<li><a href="tutorial-multisign.html">How to Multi-Sign</a></li>
|
|
||||||
<li><a href="tutorial-paychan.html">Payment Channels Tutorial</a></li>
|
|
||||||
<li><a href="concept-issuing-and-operational-addresses.html">Issuing and Operational Addresses</a></li>
|
|
||||||
<li><a href="tutorial-reliable-transaction-submission.html">Reliable Transaction Submission</a></li>
|
|
||||||
<li><a href="tutorial-rippleapi-beginners-guide.html">RippleAPI Beginners Guide</a></li>
|
|
||||||
<li><a href="tutorial-rippled-setup.html">rippled Setup</a></li>
|
|
||||||
<li><a href="tutorial-gateway-guide.html">Gateway Guide</a></li>
|
|
||||||
<li><a href="xrp-listing-guide.html">Listing XRP as an Exchange</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li class="dropdown">
|
|
||||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">RCL Features <span class="caret"></span></a>
|
|
||||||
<ul class="dropdown-menu" role="menu">
|
|
||||||
<li><a href="concept-accounts.html">Accounts</a></li>
|
|
||||||
<li><a href="concept-amendments.html">Amendments</a></li>
|
|
||||||
<li><a href="concept-fee-voting.html">Fee Voting</a></li>
|
|
||||||
<li><a href="concept-fees.html">Fees (Disambiguation)</a></li>
|
|
||||||
<li><a href="concept-freeze.html">Freeze</a></li>
|
|
||||||
<li><a href="concept-paths.html">Paths</a></li>
|
|
||||||
<li><a href="concept-reserves.html">Reserves</a></li>
|
|
||||||
<li><a href="concept-stand-alone-mode.html">Stand-Alone Mode</a></li>
|
|
||||||
<li><a href="concept-transaction-cost.html">Transaction Cost</a></li>
|
|
||||||
<li><a href="concept-transfer-fees.html">Transfer Fees</a></li>
|
|
||||||
<li><a href="concept-noripple.html">Understanding the NoRipple flag</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li class="dropdown">
|
|
||||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Gateway Bulletins <span class="caret"></span></a>
|
|
||||||
<ul class="dropdown-menu" role="menu">
|
|
||||||
<li><a href="gb-2015-06.html">GB-2015-06: Corrections to Autobridging</a></li>
|
|
||||||
<li><a href="gb-2015-05.html">GB-2015-05: Historical Ledger Query Migration</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li class="dropdown">
|
|
||||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">API Tools <span class="caret"></span></a>
|
|
||||||
<ul class="dropdown-menu" role="menu">
|
|
||||||
<li><a href="ripple-api-tool.html">WebSocket API Tool</a></li>
|
|
||||||
<li><a href="data-api-v2-tool.html">Data API v2 Tool</a></li>
|
|
||||||
<li><a href="tool-jsonrpc.html">rippled JSON-RPC Tool</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li><a href="https://github.com/ripple/ripple-dev-portal" title="GitHub">Site Source</a></li>
|
|
||||||
</ul><!-- /#dev-menu -->
|
|
||||||
</div><!-- /.subnav .container -->
|
|
||||||
</div><!-- /.subnav -->
|
|
||||||
</header>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="wrap container" role="document">
|
|
||||||
<aside class="sidebar" role="complementary">
|
|
||||||
<div class="dev_nav_wrapper">
|
|
||||||
<div id="cont">
|
|
||||||
<h5>In this category:</h5>
|
|
||||||
<ul class="dev_nav_sidebar">
|
|
||||||
<li class="level-1"><a href="index.html">Category: Tutorials</a></li>
|
|
||||||
<li class="level-2"><a href="tutorial-multisign.html">How to Multi-Sign</a></li>
|
|
||||||
<li class="level-2"><a href="tutorial-paychan.html">Payment Channels Tutorial</a></li>
|
|
||||||
<li class="level-2"><a href="concept-issuing-and-operational-addresses.html">Issuing and Operational Addresses</a></li>
|
|
||||||
<li class="level-2"><a href="tutorial-reliable-transaction-submission.html">Reliable Transaction Submission</a></li>
|
|
||||||
<li class="level-2"><a href="tutorial-rippleapi-beginners-guide.html">RippleAPI Beginners Guide</a></li>
|
|
||||||
<li class="level-2"><a href="tutorial-rippled-setup.html">rippled Setup</a></li>
|
|
||||||
<li class="level-2"><a href="tutorial-gateway-guide.html">Gateway Guide</a></li>
|
|
||||||
<li class="level-2"><a href="xrp-listing-guide.html">Listing XRP as an Exchange</a></li>
|
|
||||||
</ul>
|
|
||||||
<hr />
|
|
||||||
<h5>In this page:</h5>
|
|
||||||
<ul class="dev_nav_sidebar" id="dactyl_toc_sidebar">
|
|
||||||
<li class="level-1"><a href="#listing-xrp-as-an-exchange">Listing XRP as an Exchange</a></li>
|
|
||||||
<li class="level-2"><a href="#alpha-exchange">Alpha Exchange</a></li>
|
|
||||||
<li class="level-3"><a href="#user-benefits">User Benefits</a></li>
|
|
||||||
<li class="level-2"><a href="#prerequisites-for-supporting-xrp">Prerequisites for Supporting XRP</a></li>
|
|
||||||
<li class="level-3"><a href="#accounts">Accounts</a></li>
|
|
||||||
<li class="level-3"><a href="#balance-sheets">Balance Sheets</a></li>
|
|
||||||
<li class="level-2"><a href="#flow-of-funds">Flow of Funds</a></li>
|
|
||||||
<li class="level-3"><a href="#deposit-xrp-into-exchange">Deposit XRP into Exchange</a></li>
|
|
||||||
<li class="level-3"><a href="#trade-xrp-on-the-exchange">Trade XRP on The Exchange</a></li>
|
|
||||||
<li class="level-3"><a href="#rebalance-xrp-holdings">Rebalance XRP Holdings</a></li>
|
|
||||||
<li class="level-3"><a href="#withdraw-xrp-from-exchange">Withdraw XRP from Exchange</a></li>
|
|
||||||
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</aside>
|
|
||||||
<main class="main" role="main">
|
|
||||||
<div class='content'>
|
|
||||||
<h1 id="listing-xrp-as-an-exchange">Listing XRP as an Exchange</h1>
|
|
||||||
<p>This document describes the steps that an exchange needs to take to list XRP. For details about other aspects of <code>rippled</code> and the Ripple Consensus Ledger (RCL), see the <a href="https://ripple.com/build">Ripple Developer Center</a>.</p>
|
|
||||||
<h2 id="alpha-exchange">Alpha Exchange</h2>
|
|
||||||
<p>For illustrative purposes, this document uses a fictitious business called <em>Alpha Exchange</em> to explain the high-level steps required to list XRP. For the purposes of this document, Alpha Exchange:</p>
|
|
||||||
<ul>
|
|
||||||
<li>
|
|
||||||
<p>Currently specializes in listing BTC/USD</p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p>Wants to add BTC/XRP and XRP/USD trading pairs</p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p>Maintains balances for all of its customers</p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p>Maintains balances for each of its supported currencies</p>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<h3 id="user-benefits">User Benefits</h3>
|
|
||||||
<p>Alpha Exchange wants to list BTC/XRP and XRP/USD trading pairs partially because listing these pairs will benefit its users. Specifically, this support will allow its users to:</p>
|
|
||||||
<ul>
|
|
||||||
<li>
|
|
||||||
<p>Deposit XRP <em>to</em> Alpha Exchange <em>from</em> the RCL</p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p>Withdraw XRP <em>from</em> Alpha Exchange <em>to</em> the RCL</p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p>Trade XRP with other currencies, such as BTC, USD, amongst others</p>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<h2 id="prerequisites-for-supporting-xrp">Prerequisites for Supporting XRP</h2>
|
|
||||||
<p>To support XRP, Alpha Exchange must:</p>
|
|
||||||
<ul>
|
|
||||||
<li>
|
|
||||||
<p>Create and maintain new <a href="#accounts">accounts</a></p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p>Create and maintain <a href="#balance-sheets">balance sheets</a></p>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<p>See also:</p>
|
|
||||||
<ul>
|
|
||||||
<li>
|
|
||||||
<p><a href="https://ripple.com/build/gateway-guide/#gateway-compliance">Gateway Compliance</a> — Gateways and exchanges are different, but exchanges should also ensure that they are complying with local regulations and reporting to the appropriate agencies.</p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p><a href="https://ripple.com/build/gateway-guide/#requirements-for-sending-to-rcl">Requirements for Sending to RCL</a></p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p><a href="https://ripple.com/build/gateway-guide/#requirements-for-receiving-from-rcl">Requirements for Receiving from RCL</a></p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p><a href="https://ripple.com/build/gateway-guide/#precautions">Gateway Precautions</a></p>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<h3 id="accounts">Accounts</h3>
|
|
||||||
<p>XRP is held in <em>accounts</em> (sometimes referred to as <em>wallets</em> ) on the Ripple Consensus Ledger (RCL). Accounts on the RCL are different than accounts on other blockchain ledgers, such as Bitcoin, where accounts incur little to no overhead. To submit transactions (for example, <a href="https://ripple.com/build/transactions/#offercreate">OfferCreate</a> and others used for trading), RCL accounts require XRP <a href="https://ripple.com/build/reserves/">reserves</a> to protect the ledger against spam and malicious usage. On other blockchains, balances are derived from the previous block. On the RCL, <a href="https://ripple.com/build/ledger-format/#accountroot">account objects</a> describe several other properties of the account in addition to balances, so accounts are represented in each ledger and can never be destroyed or removed. Exchanges do not need to create accounts for each customer that holds XRP; they can store all of their customers’ XRP in just a few RCL accounts. For more information about RCL accounts, see the <a href="https://ripple.com/build/accounts/">Accounts</a> article.</p>
|
|
||||||
<p>To comply with Ripple's recommend best practices, Alpha Exchange should create at least two new <a href="https://ripple.com/build/accounts/">accounts</a> on the RCL. To minimize the risks associated with a compromised secret key, Ripple recommends creating <a href="https://ripple.com/build/issuing-operational-addresses/"><em>issuing</em>, <em>operational</em>, and <em>standby</em> accounts</a> (these are sometimes referred to, respectively, as cold, hot, and warm wallets). The operational/standby/issuing model is intended to balance security and convenience. Exchanges listing XRP should create the following accounts:</p>
|
|
||||||
<ul>
|
|
||||||
<li>
|
|
||||||
<p>An <a href="https://ripple.com/build/issuing-operational-addresses/#issuing-address"><em>issuing</em> account</a> to securely hold the majority of XRP and customers' funds. To provide optimal security, this account should be offline.</p>
|
|
||||||
<p>For more information about the possible consequences of a compromised issuing account, see <a href="https://ripple.com/build/issuing-operational-addresses/#issuing-address-compromise">Issuing Account Compromise</a>.</p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p>One or more <a href="https://ripple.com/build/issuing-operational-addresses/#operational-addresses"><em>operational</em> accounts</a> to conduct the day-to-day business of managing customers' XRP withdrawals and deposits. For example, with an opertaitional wallet, exchanges can securely support these types of automated XRP transfers. Operational accounts need to be online to service instant withdrawal requests.</p>
|
|
||||||
<p>For more information about the possible consequences of a compromised operational account, see <a href="https://ripple.com/build/issuing-operational-addresses/#operational-address-compromise">Operational Account Compromise</a>.</p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p>Optionally, one or more standby accounts to provide an additional layer of security between the issuing and operational accounts. Unlike an operational account, the secret key of a standby account does not need to be online. Additionally, you can distribute the secret keys for the standby account to several different people and implement <a href="https://ripple.com/build/how-to-multi-sign/">multisigning</a> to increase security.</p>
|
|
||||||
<p>For more information about the possible consequences of a compromised standby account, see <a href="https://ripple.com/build/issuing-operational-addresses/#standby-address-compromise">Standby Account Compromise</a>.</p>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<p>See also:</p>
|
|
||||||
<ul>
|
|
||||||
<li>
|
|
||||||
<p><a href="https://ripple.com/build/gateway-guide/#suggested-business-practices">"Suggested Business Practices" in the <em>Gateway Guide</em></a></p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p><a href="https://ripple.com/build/issuing-operational-addresses/">Issuing and Operational Addresses</a></p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p><a href="https://ripple.com/build/transactions/#creating-accounts">Creating Accounts</a></p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p><a href="https://ripple.com/build/reserves/">Reserves</a></p>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<h3 id="balance-sheets">Balance Sheets</h3>
|
|
||||||
<p>Alpha Exchange will custody its customers' XRP, so it needs to track each customer's balance(s). To do this, Alpha Exchange must create and maintain an additional balance sheet. The following table illustrates what this balance sheet might look like.</p>
|
|
||||||
<p>The new RCL accounts (<em>Alpha Operational</em>, <em>Alpha Standby</em>, <em>Alpha Issuing</em>) are in the <em>User</em> column of the <em>XRP Balances on RCL</em> table.</p>
|
|
||||||
<p>The <em>Alpha Exchange XRP Balances</em> table represents new, additional balance sheet. Alpha Exchange’s software manages their users’ balances of XRP on this accounting system.</p>
|
|
||||||
<table>
|
|
||||||
<tr>
|
|
||||||
<td><b><i>XRP Balances
|
|
||||||
on RCL</i></b></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td><b><i>Alpha Exchange
|
|
||||||
XRP Balances</i></b></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><b>User</b></td>
|
|
||||||
<td><b>Balance</b></td>
|
|
||||||
<td></td>
|
|
||||||
<td><b>Acct #</b></td>
|
|
||||||
<td><b>User</b></td>
|
|
||||||
<td><b>Balance</b></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Dave</td>
|
|
||||||
<td>25,000</td>
|
|
||||||
<td></td>
|
|
||||||
<td>123</td>
|
|
||||||
<td>Alice</td>
|
|
||||||
<td>0</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Edward</td>
|
|
||||||
<td>45,000</td>
|
|
||||||
<td></td>
|
|
||||||
<td>456</td>
|
|
||||||
<td>Bob</td>
|
|
||||||
<td>0</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Charlie</td>
|
|
||||||
<td>50,000</td>
|
|
||||||
<td></td>
|
|
||||||
<td>789</td>
|
|
||||||
<td>Charlie</td>
|
|
||||||
<td>0</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><i>Alpha Operational</i></td>
|
|
||||||
<td>0</td>
|
|
||||||
<td></td>
|
|
||||||
<td>...</td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><i>Alpha Standby</i></td>
|
|
||||||
<td>0</td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><i>Alpha Issuing</i></td>
|
|
||||||
<td>0</td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>...</td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<h4 id="xrp-amounts">XRP Amounts</h4>
|
|
||||||
<p>Amounts of XRP are represented on the RCL as an unsigned integer count of <em>drops</em>, where one XRP == 1,000,000 drops. Ripple recommends that software store XRP balances as integer amounts of drops, and perform integer arithmetic on these values. However, user interfaces should present balances in units of XRP.</p>
|
|
||||||
<p>One drop (.000001 XRP) cannot be further subdivided. Bear this in mind when calculating and displaying FX rates between XRP and other assets.</p>
|
|
||||||
<p>For more informtion, see <a href="https://ripple.com/build/rippled-apis/#specifying-currency-amounts">Specifying Currency Amounts</a>.</p>
|
|
||||||
<h4 id="on-ledger-and-off-ledger">On-Ledger and Off-Ledger</h4>
|
|
||||||
<p>With exchanges like <em>Alpha Exchange</em>, XRP can be "on-ledger" or "off-ledger":</p>
|
|
||||||
<ul>
|
|
||||||
<li>
|
|
||||||
<p><strong>On-Ledger XRP</strong>: XRP that can be queried through the public RCL by specifying the public <a href="https://ripple.com/build/accounts/#addresses">address</a> of the XRP holder. The counterparty to these balances is the RCL. For more information, see <a href="https://ripple.com/build/rippled-apis/#currencies">Currencies</a>.</p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p><strong>Off-Ledger XRP</strong>: XRP that is held by the accounting system of an exchange and can be queried through the exchange interface. Off-ledger XRP balances are credit-based. The counterparty is the exchange holding the XRP.</p>
|
|
||||||
<p>Off-ledger XRP balances are traded between the participants of an exchange. To support these trades, the exchange must hold a balance of <em>on-ledger XRP</em> equal to the aggregate amount of <em>off-ledger XRP</em> that it makes available for trade.</p>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<h2 id="flow-of-funds">Flow of Funds</h2>
|
|
||||||
<p>The remaining sections describe how funds flow through the accounts managed by Alpha Exchange as its users begin to deposit, trade, and redeem XRP balances. To illustrate the flow of funds, this document uses the tables introduced in the <a href="#balance-sheets">"Balance Sheets" section</a>.</p>
|
|
||||||
<p>There are four main steps involved in an exchange's typical flow of funds:</p>
|
|
||||||
<ol>
|
|
||||||
<li>
|
|
||||||
<p><a href="#deposit-xrp-into-exchange">Deposit XRP into Exchange</a></p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p><a href="#rebalance-xrp-holdings">Rebalance XRP Holdings</a></p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p><a href="#withdraw-xrp-from-exchange">Withdraw XRP from Exchange</a></p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p><a href="#trade-xrp-on-the-exchange">Trade XRP on the Exchange</a></p>
|
|
||||||
</li>
|
|
||||||
</ol>
|
|
||||||
<p>This list does not include the <a href="#prerequisites-for-supporting-xrp">prerequisites</a> required of an exchange.</p>
|
|
||||||
<p>At this point, <em>Alpha Exchange</em> has created <a href="#accounts">operational, standby, and issuing accounts</a> on the RCL and added them to its balance sheet, but has not accepted any deposits from its users.</p>
|
|
||||||
<table>
|
|
||||||
<tr>
|
|
||||||
<td><b><i>XRP Balances
|
|
||||||
on RCL</i></b></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td><b><i>Alpha Exchange
|
|
||||||
XRP Balances</i></b></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><b>User</b></td>
|
|
||||||
<td><b>Balance</b></td>
|
|
||||||
<td></td>
|
|
||||||
<td><b>Acct #</b></td>
|
|
||||||
<td><b>User</b></td>
|
|
||||||
<td><b>Balance</b></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Dave</td>
|
|
||||||
<td>25,000</td>
|
|
||||||
<td></td>
|
|
||||||
<td>123</td>
|
|
||||||
<td>Alice</td>
|
|
||||||
<td>0</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Edward</td>
|
|
||||||
<td>45,000</td>
|
|
||||||
<td></td>
|
|
||||||
<td>456</td>
|
|
||||||
<td>Bob</td>
|
|
||||||
<td>0</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Charlie</td>
|
|
||||||
<td>50,000</td>
|
|
||||||
<td></td>
|
|
||||||
<td>789</td>
|
|
||||||
<td>Charlie</td>
|
|
||||||
<td>0</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><i>Alpha Operational</i></td>
|
|
||||||
<td>0</td>
|
|
||||||
<td></td>
|
|
||||||
<td>...</td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><i>Alpha Standby</i></td>
|
|
||||||
<td>0</td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><i>Alpha Issuing</i></td>
|
|
||||||
<td>0</td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>...</td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<h3 id="deposit-xrp-into-exchange">Deposit XRP into Exchange</h3>
|
|
||||||
<p>To track <a href="#on-ledger-and-off-ledger">off-ledger XRP balances</a> exchanges need to create new <a href="#balance-sheets">balance sheets</a> (or similar accounting systems). The following table illustrates the balance changes that take place on Alpha Exchange's new balance sheet as users begin to deposit XRP.</p>
|
|
||||||
<p>A user named Charlie wants to deposit 50,000 XRP to Alpha Exchange. Doing this involves the following steps:</p>
|
|
||||||
<ol>
|
|
||||||
<li>
|
|
||||||
<p>Charlie submits a payment of 50,000 XRP (by using <a href="https://ripple.com/build/rippleapi/">RippleAPI</a> or similar software) to Alpha Exchange's <a href="#accounts">issuing account</a>.</p>
|
|
||||||
<p>a. Charlie adds an identifier (in this case, <code>789</code>) to the payment to associate it with his account at Alpha Exchange. This is called a <a href="https://ripple.com/build/gateway-guide/#source-and-destination-tags"><em>destination tag</em></a>. (To use this, Alpha Exchange must have set the asfRequireDest flag on all of its accounts. This flag requires all incoming payments to have a destination tag like Charlie's. For more information, see <a href="https://ripple.com/build/transactions/#accountset-flags">AccountSet Flags</a>.</p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p>The software at Alpha Exchange detects the incoming payment, and recognizes <code>789</code> as the destination tag for Charlie’s account.</p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p>When it detects the incoming payment, Alpha Exchange's software updates its balance sheet to indicate that the 50,000 XRP it received is controlled by Charlie.</p>
|
|
||||||
<p>Charlie can now use up to 50,000 XRP on the exchange. For example, he can create offers to trade XRP with BTC or any of the other currencies Alpha Exchange supports.</p>
|
|
||||||
</li>
|
|
||||||
</ol>
|
|
||||||
<table>
|
|
||||||
<tr>
|
|
||||||
<td><b><i>XRP Balances
|
|
||||||
on RCL</i></b></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td><b><i>Alpha Exchange
|
|
||||||
XRP Balances</i></b></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><b>User</b></td>
|
|
||||||
<td><b>Balance</b></td>
|
|
||||||
<td></td>
|
|
||||||
<td><b>Acct #</b></td>
|
|
||||||
<td><b>User</b></td>
|
|
||||||
<td><b>Balance</b></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Dave</td>
|
|
||||||
<td>25,000</td>
|
|
||||||
<td></td>
|
|
||||||
<td>123</td>
|
|
||||||
<td>Alice</td>
|
|
||||||
<td>0</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Edward</td>
|
|
||||||
<td>45,000</td>
|
|
||||||
<td></td>
|
|
||||||
<td>456</td>
|
|
||||||
<td>Bob</td>
|
|
||||||
<td>0</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Charlie</td>
|
|
||||||
<td><s>100,000</s>
|
|
||||||
<br/>50,000</td>
|
|
||||||
<td></td>
|
|
||||||
<td>789</td>
|
|
||||||
<td>Charlie</td>
|
|
||||||
<td><s>0</s>
|
|
||||||
<br/>50,000</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Alpha Operational</td>
|
|
||||||
<td>0</td>
|
|
||||||
<td></td>
|
|
||||||
<td>...</td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Alpha Standby</td>
|
|
||||||
<td>0</td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Alpha Issuing</td>
|
|
||||||
<td><s>0</s>
|
|
||||||
<br/>50,000</td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>...</td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<h3 id="trade-xrp-on-the-exchange">Trade XRP on The Exchange</h3>
|
|
||||||
<p>Alpha Exchange users (like Charlie) can trade credit-based balances on Alpha Exchange. Alpha Exchange should keep track of user balances on its new balance sheet as these trades are made. These trades are <em>off-ledger</em> and independent from the RCL, so the balance changes are not recorded there.</p>
|
|
||||||
<p>For more information about trading <em>on</em> the RCL, see <a href="https://ripple.com/build/transactions/#lifecycle-of-an-offer">Lifecycle of an Offer</a>.</p>
|
|
||||||
<h3 id="rebalance-xrp-holdings">Rebalance XRP Holdings</h3>
|
|
||||||
<p>Exchanges can adjust the balances between their operational and issuing accounts at any time. Each balance adjustment consumes a <a href="https://ripple.com/build/fees-disambiguation/">transaction fee</a>, but does not otherwise affect the aggregate balance of all the accounts. The aggregate, on-ledger balance should always exceed the total balance available for trade on the exchange. (The excess should be sufficient to cover the RCL's <a href="https://ripple.com/build/transaction-cost/">transaction fees</a>.)</p>
|
|
||||||
<p>The following table demonstrates a balance adjustment of 80,000 XRP (via a <a href="https://ripple.com/build/transactions/#payment"><em>payment</em></a> on the RCL) between Alpha Exchange's issuing account and its operational account, where the issuing account was debited and the operational account was credited. If the payment were reversed (debit the operational account and credit the issuing account), the operational account balance would decrease. Balance adjustments like these allow an exchange to limit the risks associated with holding XRP in online operational accounts.</p>
|
|
||||||
<table>
|
|
||||||
<tr>
|
|
||||||
<td><b><i>Alpha Exchange XRP
|
|
||||||
Off-Ledger Balances</i></b></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td><b><i>Alpha Exchange XRP On-Ledger Balances</i></b></td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><b>Acct #</b></td>
|
|
||||||
<td><b>User</b></td>
|
|
||||||
<td><b>Balance</b></td>
|
|
||||||
<td></td>
|
|
||||||
<td><b>RCL Account</b></td>
|
|
||||||
<td><b>Balance</b></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>123</td>
|
|
||||||
<td>Alice</td>
|
|
||||||
<td>80,000</td>
|
|
||||||
<td></td>
|
|
||||||
<td>Operational</td>
|
|
||||||
<td><s>0</s>
|
|
||||||
<br/>80,000</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>456</td>
|
|
||||||
<td>Bob</td>
|
|
||||||
<td>50,000</td>
|
|
||||||
<td></td>
|
|
||||||
<td>Standby</td>
|
|
||||||
<td>0</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>….</td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td>….</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>789</td>
|
|
||||||
<td>Charlie</td>
|
|
||||||
<td>50,000</td>
|
|
||||||
<td></td>
|
|
||||||
<td>Issuing</td>
|
|
||||||
<td><s>180,000</s>
|
|
||||||
<br/>100,000</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>...</td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td>...</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<h3 id="withdraw-xrp-from-exchange">Withdraw XRP from Exchange</h3>
|
|
||||||
<p>Withdrawals allow an exchange's users to move XRP from the exchange's off-ledger balance sheet to an account on the RCL.</p>
|
|
||||||
<p>In this example, Charlie withdraws 25,000 XRP from Alpha Exchange. This involves the following steps:</p>
|
|
||||||
<ol>
|
|
||||||
<li>
|
|
||||||
<p>Charlie initiates the process on Alpha Exchange’s website. He provides instructions to transfer 25,000 XRP to a specific account on the RCL (named "Charlie RCL" in the following table).</p>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<p>In response to Charlie’s instructions, Alpha Exchange does the following:</p>
|
|
||||||
<p>a. Debits the amount (25,000 XRP) from Charlie’s account on its off-ledger balance sheet</p>
|
|
||||||
<p>b. Submits a payment on the RCL for the same amount (25,000 XRP), from Alpha Exchange's operational account to Charlie’s RCL account</p>
|
|
||||||
</li>
|
|
||||||
</ol>
|
|
||||||
<table>
|
|
||||||
<tr>
|
|
||||||
<td><b><i>RCL On-Ledger XRP Balances</i></b></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td><b><i>Alpha Exchange XRP
|
|
||||||
Off-Ledger Balances</i></b></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td><b><i>Alpha Exchange XRP On-Ledger Balances</i></b></td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><b>User</b></td>
|
|
||||||
<td><b>Balance</b></td>
|
|
||||||
<td></td>
|
|
||||||
<td><b>Acct #</b></td>
|
|
||||||
<td><b>User</b></td>
|
|
||||||
<td><b>Balance</b></td>
|
|
||||||
<td></td>
|
|
||||||
<td><b>RCL Account</b></td>
|
|
||||||
<td><b>Balance</b></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Dave</td>
|
|
||||||
<td>25,000</td>
|
|
||||||
<td></td>
|
|
||||||
<td>123</td>
|
|
||||||
<td>Alice</td>
|
|
||||||
<td>80,000</td>
|
|
||||||
<td></td>
|
|
||||||
<td>Operational</td>
|
|
||||||
<td><s>80,000</s>
|
|
||||||
<br/>55,000</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Edward</td>
|
|
||||||
<td>45,000</td>
|
|
||||||
<td></td>
|
|
||||||
<td>456</td>
|
|
||||||
<td>Bob</td>
|
|
||||||
<td>50,000</td>
|
|
||||||
<td></td>
|
|
||||||
<td>Standby</td>
|
|
||||||
<td>0</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>….</td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td>….</td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td>….</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Charlie RCL</td>
|
|
||||||
<td><s>50,000</s>
|
|
||||||
<br/>75,000</td>
|
|
||||||
<td></td>
|
|
||||||
<td>789</td>
|
|
||||||
<td>Charlie</td>
|
|
||||||
<td><s>50,000</s>
|
|
||||||
<br/>25,000</td>
|
|
||||||
<td></td>
|
|
||||||
<td>Issuing</td>
|
|
||||||
<td>100,000</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>...</td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td>...</td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td>...</td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</main>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<footer class="content-info" role="contentinfo">
|
|
||||||
<div class="container">
|
|
||||||
<div class="row">
|
|
||||||
<section class="col-sm-3 widget nav_menu-3 widget_nav_menu">
|
|
||||||
<h4>Resources<hr></h4>
|
|
||||||
<ul id="menu-resources" class="menu">
|
|
||||||
<li class="menu-insights"><a href="https://ripple.com/insights/">Insights</a></li>
|
|
||||||
<li class="menu-events"><a href="https://ripple.com/events/">Events</a></li>
|
|
||||||
<li class="menu-collateral"><a href="https://ripple.com/collateral/">Collateral</a></li>
|
|
||||||
<li class="menu-press-center"><a href="https://ripple.com/press-center/">Press Center</a></li>
|
|
||||||
<li class="menu-media-kit"><a href="https://ripple.com/media-kit/">Media Kit</a></li>
|
|
||||||
<li class="menu-xrp-portal"><a href="https://ripple.com/xrp-portal/">XRP Portal</a></li>
|
|
||||||
</ul>
|
|
||||||
</section>
|
|
||||||
<section class="col-sm-3 widget nav_menu-5 widget_nav_menu">
|
|
||||||
<h4>Regulators<hr></h4>
|
|
||||||
<ul id="menu-compliance-regulatory-relations" class="menu">
|
|
||||||
<li class="menu-compliance"><a href="https://ripple.com/compliance/">Compliance</a></li>
|
|
||||||
<li class="menu-policy-framework"><a href="https://ripple.com/policy-framework/">Policy Framework</a></li>
|
|
||||||
</ul>
|
|
||||||
</section>
|
|
||||||
<section class="col-sm-3 widget nav_menu-4 widget_nav_menu">
|
|
||||||
<h4>Support<hr></h4>
|
|
||||||
<ul id="menu-dev-footer-menu" class="menu">
|
|
||||||
<li class="menu-contact-us"><a href="https://ripple.com/contact/">Contact Us</a></li>
|
|
||||||
<li class="active menu-developer-center"><a href="https://ripple.com/build/">Developer Center</a></li>
|
|
||||||
<li class="menu-knowledge-center"><a href="https://ripple.com/learn/">Knowledge Center</a></li>
|
|
||||||
<li class="menu-ripple-forum"><a target="_blank" href="https://forum.ripple.com/">Ripple Forum</a></li>
|
|
||||||
</ul>
|
|
||||||
</section>
|
|
||||||
<section class="col-sm-3 widget nav_menu-2 widget_nav_menu">
|
|
||||||
<h4>About<hr></h4>
|
|
||||||
<ul id="menu-company-footer" class="menu">
|
|
||||||
<li class="menu-our-company"><a href="https://ripple.com/company/">Our Company</a></li>
|
|
||||||
<li class="menu-careers"><a href="https://ripple.com/company/careers/">Careers</a></li>
|
|
||||||
</ul>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<div class="col-sm-12 absolute_bottom_footer">
|
|
||||||
<div class="col-sm-8">
|
|
||||||
<span>© 2013 - 2016 Ripple Labs, Inc. All Rights Reserved.</span>
|
|
||||||
<span><a href="/terms-of-use/">Terms</a></span>
|
|
||||||
<span><a href="/privacy-policy/">Privacy</a></span>
|
|
||||||
</div>
|
|
||||||
</div><!-- /.absolute_bottom_footer -->
|
|
||||||
|
|
||||||
</div><!-- /.row -->
|
|
||||||
</div><!-- /.container -->
|
|
||||||
</footer>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
Reference in New Issue
Block a user