<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.biblepay.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Admin</id>
	<title>BiblePay Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.biblepay.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Admin"/>
	<link rel="alternate" type="text/html" href="https://wiki.biblepay.org/Special:Contributions/Admin"/>
	<updated>2026-05-21T05:24:35Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.12</generator>
	<entry>
		<id>https://wiki.biblepay.org/index.php?title=Decentralized_Exchange&amp;diff=6967</id>
		<title>Decentralized Exchange</title>
		<link rel="alternate" type="text/html" href="https://wiki.biblepay.org/index.php?title=Decentralized_Exchange&amp;diff=6967"/>
		<updated>2025-04-19T10:57:57Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Introduction'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Biblepay Decentralized Exchange (DEX) was created with various goals in mind:&lt;br /&gt;
&lt;br /&gt;
* The ability to trade your BBP coins against another currency (such as DOGE), directly with other QT wallet users, without relying on a centralized exchange (CEX).&lt;br /&gt;
* The ability to add other currencies, which are compatible with the base58 wallet, into the exchange.  This may allow other communities to list their coins inside BBP's DEX.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;Terminology&amp;lt;/u&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
'''Native Coin''': The BBP built in currency, or a standard BBP Base58/WIF keypair and its value in the BBP wallet.&lt;br /&gt;
&lt;br /&gt;
'''Colored Coin''': A special coin, with a Base58 address that ends in a 4 digit alphanumeric code that designates value on another network, but stored in the wallet.&lt;br /&gt;
&lt;br /&gt;
Note that Colored coins cannot be sent out to native addresses (therefore preventing colored coins from going to BBP address on CEXs etc) or diluting their value.Colored coins can only be sent to other like colored addresses, using an RPC command.&lt;br /&gt;
&lt;br /&gt;
One example of a colored address is &amp;quot;COLORED-DOGE&amp;quot;, which ends in dgzz.  Another is colored &amp;quot;COLORED-XLM&amp;quot; ending in lmzz.&lt;br /&gt;
&lt;br /&gt;
Colored coins cannot be sent from unlike colored addresses, XLM cannot be sent to DOGE or vice versa.&lt;br /&gt;
&lt;br /&gt;
You cannot see colored coins in coin-control; their balances can only be queried with RPC commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The function the colored coin provides to BBP is:&lt;br /&gt;
* Convert Value from a foreign network native UTXO to a BBP colored UTXO&lt;br /&gt;
* Seamlessly trade the colored coins in the DEX with other users&lt;br /&gt;
* Convert Colored coin value back to native value&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Coin Control''': From the QT left menu, click Send | Inputs.  &lt;br /&gt;
This page allows you to pick specific coins that are used in a transaction.&lt;br /&gt;
&lt;br /&gt;
'''BBP Native Receive Addresses''': From the QT menu, click Window | Receiving addresses. &lt;br /&gt;
You will see a list of BBP receive addresses.&lt;br /&gt;
&lt;br /&gt;
'''TRADING-PUBLIC-KEY''': This address is the only BBP native address the DEX will spend from (for security reasons).&lt;br /&gt;
You must deposit BBP into this address in order to place trades where you Buy foreign currency.&lt;br /&gt;
&lt;br /&gt;
'''TRADING-ASSET-DOGE''': Your wallet will automatically mine a colored DOGE address.  &lt;br /&gt;
This is your colored BBP DOGE address that will hold native doge.&lt;br /&gt;
&lt;br /&gt;
'''TRADING-ASSET-XLM''': Your wallet will also mine a colored XLM address. &lt;br /&gt;
This is the address that will hold native XLM.&lt;br /&gt;
&lt;br /&gt;
'''Portfolio Builder''': A satellite program that allows you to earn staking rewards for holding an equal amount of native BBP + foreign (see Extensions).&lt;br /&gt;
&lt;br /&gt;
'''Exchange Flags''':Exchange Room | Trading Grid | Flags: The Flag &amp;quot;T&amp;quot; means theirs, &amp;quot;M&amp;quot; means Mine.  This way you can see your orders are M.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''Usage'''&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To demonstrate the usage of the exchange we will go through some examples in using the exchange to buy BBP (while selling DOGE) and selling BBP (to Buy DOGE).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prerequisites''':&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If we want to sell DOGE and buy BBP we will need to fund our TRADING-PUBLIC-KEY.  In this example, we will send 100,000 BBP from our core wallet to the TRADING-PUBLIC-KEY.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click on Exchange from the left menu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Copy BBP Trading Address to clipboard (that is equivalent to your &amp;quot;TRADING-PUBLIC-KEY&amp;quot; mentioned above).  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Go to Send.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Paste the address in the TO.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Send 100,000 BBP to yourself.  Now the exchange has funds to trade with. &lt;br /&gt;
In this demo we also want to sell some DOGE for BBP.  Therefore we need to receive some Native DOGE into the BBP colored address.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click Exchange.  Copy the Native DOGE address to the clipboard.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Go to your favorite DOGE wallet, and send 10 DOGE to this native address.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wait 2 blocks on the DOGE network, then click the Get button (which means get balance).  Once you see the coins exist in your DOGE native address, now they need to be wrapped, or converted to colored DOGE in order to be tradeable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now click Wrap.  Choose the amount (Lets go with 9.9 to ensure there are no transaction fee errors).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Look for the result, it should say &amp;quot;Successfully Wrapped&amp;quot; etc.  Now you will have .10 Native doge and 9.9 Colored Doge in the &amp;quot;TRADING-ASSET-DOGE&amp;quot; address; and you can see the balances adjust on the top right.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Placing a SELL Trade'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
First let us place a trade to Sell BBP while buying with DOGE.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Populate 10000 into the Quantity box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Populate 0.00011001 into the Price box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click SELL.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This will place an order to sell 2.70 DOGE for 10,000 BBP.  The order will appear in the Sell grid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that if your wallet is locked you will receive an error and will have to unlock the wallet for this tx to be created.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Placing a BUY Trade'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next let us place a trade to Buy BBP while selling DOGE.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Populate 10000 into the Quantity box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Populate 0.00010999 into the Price box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click BUY.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This will place an order to buy 2.69 DOGE for 10,000 BBP.  The order will appear in the Buy grid.&lt;br /&gt;
&lt;br /&gt;
NOTE: You cannot trade with yourself as our atomic tx rejects wash trades with duplicate keys; however you can trade with yourself as long as you use two QT wallets with different key sets.&lt;br /&gt;
&lt;br /&gt;
Once another buyer enters the market to place an opposing trade with the same quantity and an at or better price than yours, your order will fill atomically.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partial Fills'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If your order is bigger in size than their order, a partial fill will occur as long as the partial fill results in a leftover quantity greater than the room minimum.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As of April 2025, the DOGE-BBP room minimum is .10 DOGE per trade.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Atomic Matching'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The matching engine is constantly scanning for trades in the orderbook, where the quantities match and the price is at or better than the limit price; when this pair is found, an atomic transaction is created with two legs in one transaction: Colored coin going from Buyer to Seller AND Native BBP coin going from Seller to Buyer AND the network minimum transaction fee (.00100) paid in Native BBP all built in the single transaction.  This means that if anything goes wrong with this transaction (not enough funds on either end, tx fee deficiency, network error, chain is out of sync, chainlocks down) etc, then this transaction will FAIL atomically.  This is good, because now the trading board has not changed, and neither buyer or seller is harmed.  However, if the transaction goes through, both buyer and seller are satisfied atomically.  Meaning that both colored balances and both native BBP balances are instantly updated with no possibility of error on either end.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Canceling a Trade'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To cancel a trade, simply highlight the row with the trade you placed (yours have M) and click Cancel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Insufficient Funds - Orders with no backing collateral'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that we only allow orders to enter into the orderbook, if, at the time of the trade, the user has enough collateral (IE colored coin balance and BBP balance are sufficient to place the trade).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However, since we have 24 hour atomic matching while users are offline, it is possible for a user to do an offline spend of a coin that is already in the orderbook.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is not a problem because Atomic trades cannot occur (if coins are spent prior to the atomic tx being created), that part is prevented.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The sanctuary thread constantly looks for trades with no backing collateral.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The sanctuary will cancel these automatically causing them to disappear from the order book.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Converting your Colored DOGE back to NATIVE DOGE'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To convert your coins back to Native, click Unwrap.  Type in the amount of Native you want to convert back (IE 9 in our example above).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Once this process finishes, you will see the Native DOGE balance increases back to the original amount (IE 9.99~).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Sending DOGE from the biblepay wallet to the DOGE wallet'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now to send DOGE out of your wallet back to your home DOGE wallet, go to the RPC console and type:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
exec senddoge doge_to_address amount&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''Technical Specs'''&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We have three types of Sancs, Altar, Sanc, and Temple. &lt;br /&gt;
The Temple is required to stake 10* the collateral than the Sanc.&lt;br /&gt;
&lt;br /&gt;
The Temple runs an additional piece of software, called BMS (BiblePay Middleware System) which contains the BBP API. &lt;br /&gt;
The Temple also runs a decentralized sidechain, which creates blocks on demand. &lt;br /&gt;
(We are currently at block 21000 on the side chain). Side chain blocks are stored on STORJ. &lt;br /&gt;
Each temple node syncs the BBP sidechain blocks up the the tip, automatically.&lt;br /&gt;
&lt;br /&gt;
When exchange trades are placed in QT, the AtomicTrade is serialized and opensource, except for the colored private key (or the BBP private key).&lt;br /&gt;
 The private key is encrypted with RSA, and included in the serialized block hex. &lt;br /&gt;
The trade is forwarded to a temple, and the temple creates a sidechain BLOCK and stores it in STORJ. Note that the Temple cannot read the private key, because it is encrypted.&lt;br /&gt;
&lt;br /&gt;
When QT needs a refreshed trading screen, it queries the order book from the Temple. &lt;br /&gt;
The Temple aggregates OPEN orders from the sidechain objects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A trading order book is a collection of AtomicTrades where Status='OPEN' and TradingPair='BBP/DOGE'. Each time the orderbook changes, this feed is sent down from the temple back to the QT client.&lt;br /&gt;
&lt;br /&gt;
Also, the QT client receives a PriceFeed from the Temple which contains the price of USD-DOGE, BTC-USD, BBP-DOGE, etc. The midpoint of the market is assessed by the temple based on the actual orderbook data.&lt;br /&gt;
&lt;br /&gt;
The Matching Engine is running on the Temple, and it is constantly scanning for trades where quantity matches and price is at or better than the ask.&lt;br /&gt;
&lt;br /&gt;
When the Temple needs to create an atomic transaction, it concatenates the seller with the buyer, combining it into one transaction using NBitcoin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The private keys are Not readable by the Temple in production, or in debug mode.&lt;br /&gt;
&lt;br /&gt;
The AtomicTX then is sent into a proprietary Signing piece of code for the Signing request. &lt;br /&gt;
The Signer is closed source and is able to decrypt the private key for the atomic tx and place the signature in place and it returns the signed tx to the caller, which broadcasts it to the BBP network.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the Ingate and Outgate run on the temple.&lt;br /&gt;
&lt;br /&gt;
Since it is mission critical to allow a user to receive back the colored coin, we also created a BBP extension, called PortfolioBuilder, that can run on your own machine and do 100% of the Outgate transaction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is useful for a scenario where, let us say you have $5,000 of colored coin value and our temple is down but the biblepay network is up and you receive an outgate error.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We want you to *always* be able to receive your native coin.&lt;br /&gt;
&lt;br /&gt;
You can launch PortfolioBuilder and do your own outgate in this case.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''Risks'''&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
First I want to say at BiblePay, we want you to know your QT keys and your QT wallet is the highest priority and always want every key to be secure.&lt;br /&gt;
All of the private keys *&amp;lt;u&amp;gt;'''Other than the Trading Keys'''&amp;lt;/u&amp;gt;*, in your QT wallet are 100% private.&lt;br /&gt;
&lt;br /&gt;
However, the &amp;quot;TRADING-&amp;quot; keys (the 3 mentioned in the beginning) are being used by the DEX to create atomic transactions.&lt;br /&gt;
&lt;br /&gt;
Although they are RSA encrypted, there is always a small chance that something can go wrong that is unintended.&lt;br /&gt;
&lt;br /&gt;
So it is best to treat the DEX in a similar way that you do with other CEXs, trade with limited amounts and do not leave large amounts on the exchange.&lt;br /&gt;
&lt;br /&gt;
Convert the coins back to native BBP when you can. If you do this the potential damage is always limited to the amount &amp;quot;in play&amp;quot; on the exchange.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''Future State'''&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The current exchange fulfills many of the desirable qualities that were originally scoped, however there are always tradeoffs with each approach.&lt;br /&gt;
&lt;br /&gt;
In the current approach you have:&lt;br /&gt;
&lt;br /&gt;
Ability to match atomic trades 24H even when users are offline (plus).&lt;br /&gt;
&lt;br /&gt;
Mostly Decentralized (User to user trading, requires one designated temple or temple cluster to be online, the temple API must be working, STORJ must be working).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However, we may eventually want to improve the exchange making it 100% decentralized through various technological advances.&lt;br /&gt;
&lt;br /&gt;
For example, maybe the NBitcoin code can be moved into each online client, allowing matching to occur client side as well.&lt;br /&gt;
&lt;br /&gt;
The tradeoff is the node may need to be online for this to work (at the time the fill occurs).&lt;br /&gt;
&lt;br /&gt;
Also we may want to move the orderbook from the sidechain to the client side.&lt;br /&gt;
&lt;br /&gt;
We may also want to move to a market maker model, where market makers buy-sell colored coins and hold the collateral along with an equal amount of BBP.&lt;br /&gt;
&lt;br /&gt;
We may want to come up with a scheme to change the WIF format of all trading keys so they cannot be under any circumstance, hacked as regular keys.&lt;br /&gt;
&lt;br /&gt;
Another improvement is to make Portfolio Builder use newly generated private keys for staking, rather than the XLM/XRP exchange keys noted at the beginning.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.biblepay.org/index.php?title=Decentralized_Exchange&amp;diff=6966</id>
		<title>Decentralized Exchange</title>
		<link rel="alternate" type="text/html" href="https://wiki.biblepay.org/index.php?title=Decentralized_Exchange&amp;diff=6966"/>
		<updated>2025-04-19T10:46:52Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Introduction'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Biblepay Decentralized Exchange (DEX) was created with various goals in mind:&lt;br /&gt;
&lt;br /&gt;
* The ability to trade your BBP coins against another currency (such as DOGE), directly with other QT wallet users, without relying on a centralized exchange (CEX).&lt;br /&gt;
* The ability to add other currencies, which are compatible with the base58 wallet, into the exchange.  This may allow other communities to list their coins inside BBP's DEX.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;Terminology&amp;lt;/u&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
'''Native Coin''': The BBP built in currency, or a standard BBP Base58/WIF keypair and its value in the BBP wallet.&lt;br /&gt;
&lt;br /&gt;
'''Colored Coin''': A special coin, with a Base58 address that ends in a 4 digit alphanumeric code that designates value on another network, but stored in the wallet.&lt;br /&gt;
&lt;br /&gt;
Note that Colored coins cannot be sent out to native addresses (therefore preventing colored coins from going to BBP address on CEXs etc) or diluting their value.Colored coins can only be sent to other like colored addresses, using an RPC command.&lt;br /&gt;
&lt;br /&gt;
One example of a colored address is &amp;quot;COLORED-DOGE&amp;quot;, which ends in dgzz.  Another is colored &amp;quot;COLORED-XLM&amp;quot; ending in lmzz.&lt;br /&gt;
&lt;br /&gt;
Colored coins cannot be sent from unlike colored addresses, XLM cannot be sent to DOGE or vice versa.&lt;br /&gt;
&lt;br /&gt;
You cannot see colored coins in coin-control; their balances can only be queried with RPC commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The function the colored coin provides to BBP is:&lt;br /&gt;
* Convert Value from a foreign network native UTXO to a BBP colored UTXO&lt;br /&gt;
* Seamlessly trade the colored coins in the DEX with other users&lt;br /&gt;
* Convert Colored coin value back to native value&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Coin Control''': From the QT left menu, click Send | Inputs.  &lt;br /&gt;
This page allows you to pick specific coins that are used in a transaction.&lt;br /&gt;
&lt;br /&gt;
'''BBP Native Receive Addresses''': From the QT menu, click Window | Receiving addresses. &lt;br /&gt;
You will see a list of BBP receive addresses.&lt;br /&gt;
&lt;br /&gt;
'''TRADING-PUBLIC-KEY''': This address is the only BBP native address the DEX will spend from (for security reasons).&lt;br /&gt;
You must deposit BBP into this address in order to place trades where you Buy foreign currency.&lt;br /&gt;
&lt;br /&gt;
'''TRADING-ASSET-DOGE''': Your wallet will automatically mine a colored DOGE address.  &lt;br /&gt;
This is your colored BBP DOGE address that will hold native doge.&lt;br /&gt;
&lt;br /&gt;
'''TRADING-ASSET-XLM''': Your wallet will also mine a colored XLM address. &lt;br /&gt;
This is the address that will hold native XLM.&lt;br /&gt;
&lt;br /&gt;
'''Portfolio Builder''': A satellite program that allows you to earn staking rewards for holding an equal amount of native BBP + foreign (see Extensions).&lt;br /&gt;
&lt;br /&gt;
'''Exchange Flags''':Exchange Room | Trading Grid | Flags: The Flag &amp;quot;T&amp;quot; means theirs, &amp;quot;M&amp;quot; means Mine.  This way you can see your orders are M.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''Usage'''&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To demonstrate the usage of the exchange we will go through some examples in using the exchange to buy BBP (while selling DOGE) and selling BBP (to Buy DOGE).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prerequisites''':&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If we want to sell DOGE and buy BBP we will need to fund our TRADING-PUBLIC-KEY.  In this example, we will send 100,000 BBP from our core wallet to the TRADING-PUBLIC-KEY.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click on Exchange from the left menu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Copy BBP Trading Address to clipboard (that is equivalent to your &amp;quot;TRADING-PUBLIC-KEY&amp;quot; mentioned above).  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Go to Send.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Paste the address in the TO.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Send 100,000 BBP to yourself.  Now the exchange has funds to trade with. &lt;br /&gt;
In this demo we also want to sell some DOGE for BBP.  Therefore we need to receive some Native DOGE into the BBP colored address.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click Exchange.  Copy the Native DOGE address to the clipboard.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Go to your favorite DOGE wallet, and send 10 DOGE to this native address.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wait 2 blocks on the DOGE network, then click the Get button (which means get balance).  Once you see the coins exist in your DOGE native address, now they need to be wrapped, or converted to colored DOGE in order to be tradeable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now click Wrap.  Choose the amount (Lets go with 9.9 to ensure there are no transaction fee errors).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Look for the result, it should say &amp;quot;Successfully Wrapped&amp;quot; etc.  Now you will have .10 Native doge and 9.9 Colored Doge in the &amp;quot;TRADING-ASSET-DOGE&amp;quot; address; and you can see the balances adjust on the top right.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Placing a SELL Trade'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
First let us place a trade to Sell BBP while buying with DOGE.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Populate 10000 into the Quantity box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Populate 0.00011001 into the Price box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click SELL.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This will place an order to sell 2.70 DOGE for 10,000 BBP.  The order will appear in the Sell grid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that if your wallet is locked you will receive an error and will have to unlock the wallet for this tx to be created.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Placing a BUY Trade'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next let us place a trade to Buy BBP while selling DOGE.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Populate 10000 into the Quantity box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Populate 0.00010999 into the Price box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click BUY.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This will place an order to buy 2.69 DOGE for 10,000 BBP.  The order will appear in the Buy grid.&lt;br /&gt;
&lt;br /&gt;
NOTE: You cannot trade with yourself as our atomic tx rejects wash trades with duplicate keys; however you can trade with yourself as long as you use two QT wallets with different key sets.&lt;br /&gt;
&lt;br /&gt;
Once another buyer enters the market to place an opposing trade with the same quantity and an at or better price than yours, your order will fill atomically.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partial Fills'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If your order is bigger in size than their order, a partial fill will occur as long as the partial fill results in a leftover quantity greater than the room minimum.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As of April 2025, the DOGE-BBP room minimum is .10 DOGE per trade.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Atomic Matching'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The matching engine is constantly scanning for trades in the orderbook, where the quantities match and the price is at or better than the limit price; when this pair is found, an atomic transaction is created with two legs in one transaction: Colored coin going from Buyer to Seller AND Native BBP coin going from Seller to Buyer AND the network minimum transaction fee (.00100) paid in Native BBP all built in the single transaction.  This means that if anything goes wrong with this transaction (not enough funds on either end, tx fee deficiency, network error, chain is out of sync, chainlocks down) etc, then this transaction will FAIL atomically.  This is good, because now the trading board has not changed, and neither buyer or seller is harmed.  However, if the transaction goes through, both buyer and seller are satisfied atomically.  Meaning that both colored balances and both native BBP balances are instantly updated with no possibility of error on either end.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Canceling a Trade'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To cancel a trade, simply highlight the row with the trade you placed (yours have M) and click Cancel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Insufficient Funds - Orders with no backing collateral'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that we only allow orders to enter into the orderbook, if, at the time of the trade, the user has enough collateral (IE colored coin balance and BBP balance are sufficient to place the trade).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However, since we have 24 hour atomic matching while users are offline, it is possible for a user to do an offline spend of a coin that is already in the orderbook.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is not a problem because Atomic trades cannot occur (if coins are spent prior to the atomic tx being created), that part is prevented.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The sanctuary thread constantly looks for trades with no backing collateral.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The sanctuary will cancel these automatically causing them to disappear from the order book.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Converting your Colored DOGE back to NATIVE DOGE'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To convert your coins back to Native, click Unwrap.  Type in the amount of Native you want to convert back (IE 9 in our example above).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Once this process finishes, you will see the Native DOGE balance increases back to the original amount (IE 9.99~).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Sending DOGE from the biblepay wallet to the DOGE wallet'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now to send DOGE out of your wallet back to your home DOGE wallet, go to the RPC console and type:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
exec senddoge doge_to_address amount&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''Technical Specs'''&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We have three types of Sancs, Altar, Sanc, and Temple. &lt;br /&gt;
The Temple is required to stake 10* the collateral than the Sanc.&lt;br /&gt;
&lt;br /&gt;
The Temple runs an additional piece of software, called BMS (BiblePay Middleware System) which contains the BBP API. &lt;br /&gt;
The Temple also runs a decentralized sidechain, which creates blocks on demand. &lt;br /&gt;
(We are currently at block 21000 on the side chain). Side chain blocks are stored on STORJ. &lt;br /&gt;
Each temple node syncs the BBP sidechain blocks up the the tip, automatically.&lt;br /&gt;
&lt;br /&gt;
When exchange trades are placed in QT, the AtomicTrade is serialized and opensource, except for the colored private key (or the BBP private key).&lt;br /&gt;
 The private key is encrypted with RSA, and included in the serialized block hex. &lt;br /&gt;
The trade is forwarded to a temple, and the temple creates a sidechain BLOCK and stores it in STORJ. Note that the Temple cannot read the private key, because it is encrypted.&lt;br /&gt;
&lt;br /&gt;
When QT needs a refreshed trading screen, it queries the order book from the Temple. &lt;br /&gt;
The Temple aggregates OPEN orders from the sidechain objects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A trading order book is a collection of AtomicTrades where Status='OPEN' and TradingPair='BBP/DOGE'. Each time the orderbook changes, this feed is sent down from the temple back to the QT client.&lt;br /&gt;
&lt;br /&gt;
Also, the QT client receives a PriceFeed from the Temple which contains the price of USD-DOGE, BTC-USD, BBP-DOGE, etc. The midpoint of the market is assessed by the temple based on the actual orderbook data.&lt;br /&gt;
&lt;br /&gt;
The Matching Engine is running on the Temple, and it is constantly scanning for trades where quantity matches and price is at or better than the ask.&lt;br /&gt;
&lt;br /&gt;
When the Temple needs to create an atomic transaction, it concatenates the seller with the buyer, combining it into one transaction using NBitcoin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The private keys are Not readable by the Temple in production, or in debug mode.&lt;br /&gt;
&lt;br /&gt;
The AtomicTX then is sent into a proprietary Signing piece of code for the Signing request. &lt;br /&gt;
The Signer is closed source and is able to decrypt the private key for the atomic tx and place the signature in place and it returns the signed tx to the caller, which broadcasts it to the BBP network.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the Ingate and Outgate run on the temple.&lt;br /&gt;
&lt;br /&gt;
Since it is mission critical to allow a user to receive back the colored coin, we also created a BBP extension, called PortfolioBuilder, that can run on your own machine and do 100% of the Outgate transaction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is useful for a scenario where, let us say you have $5,000 of colored coin value and our temple is down but the biblepay network is up and you receive an outgate error.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We want you to *always* be able to receive your native coin.&lt;br /&gt;
&lt;br /&gt;
You can launch PortfolioBuilder and do your own outgate in this case.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''Risks'''&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
First I want to say at BiblePay, we want you to know your QT keys and your QT wallet is the highest priority and always want every key to be secure.&lt;br /&gt;
All of the private keys *&amp;lt;u&amp;gt;'''Other than the Trading Keys'''&amp;lt;/u&amp;gt;*, in your QT wallet are 100% private.&lt;br /&gt;
&lt;br /&gt;
However, the &amp;quot;TRADING-&amp;quot; keys (the 3 mentioned in the beginning) are being used by the DEX to create atomic transactions.&lt;br /&gt;
&lt;br /&gt;
Although they are RSA encrypted, there is always a small chance that something can go wrong that is unintended.&lt;br /&gt;
&lt;br /&gt;
So it is best to treat the DEX in a similar way that you do with other CEXs, trade with limited amounts and do not leave large amounts on the exchange.&lt;br /&gt;
&lt;br /&gt;
Convert the coins back to native BBP when you can. If you do this the potential damage is always limited to the amount &amp;quot;in play&amp;quot; on the exchange.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''Future State'''&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The current exchange fulfills many of the desirable qualities that were originally scoped, however there are always tradeoffs with each approach.&lt;br /&gt;
&lt;br /&gt;
In the current approach you have:&lt;br /&gt;
&lt;br /&gt;
Ability to match atomic trades 24H even when users are offline (plus).&lt;br /&gt;
&lt;br /&gt;
Mostly Decentralized (User to user trading, requires one designated temple or temple cluster to be online, the temple API must be working, STORJ must be working).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However, we may eventually want to improve the exchange making it 100% decentralized through various technological advances.&lt;br /&gt;
&lt;br /&gt;
For example, maybe the NBitcoin code can be moved into each online client, allowing matching to occur client side as well.&lt;br /&gt;
&lt;br /&gt;
The tradeoff is the node may need to be online for this to work (at the time the fill occurs).&lt;br /&gt;
Also we may want to move the orderbook from the sidechain to the client side.&lt;br /&gt;
&lt;br /&gt;
We may also want to move to a market maker model, where market makers buy-sell colored coins and hold the collateral along with an equal amount of BBP.&lt;br /&gt;
&lt;br /&gt;
We may want to come up with a scheme to change the WIF format of all trading keys so they cannot be under any circumstance, hacked as regular keys.&lt;br /&gt;
&lt;br /&gt;
This way we can promote BBP core wallet as having every key, in an equal original status when BBP was released as secure. (Maybe we combine this feature with Quantum resistant keys, since quantum computers are rising in capabilities very quickly).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Another improvement is to make Portfolio Builder use separate private keys, that are not intermingled with the exchange.&lt;br /&gt;
&lt;br /&gt;
(Currently portfolio builder uses the same XRP/XLM keys as the exchange keys at the beginning of this page, primarily because of the high starting fee required to open an XRP account - 10 XRP, hence the plus is having one account for XRP/XLM).&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.biblepay.org/index.php?title=Decentralized_Exchange&amp;diff=6965</id>
		<title>Decentralized Exchange</title>
		<link rel="alternate" type="text/html" href="https://wiki.biblepay.org/index.php?title=Decentralized_Exchange&amp;diff=6965"/>
		<updated>2025-04-18T23:28:55Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Introduction'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Biblepay Decentralized Exchange (DEX) was created with various goals in mind:&lt;br /&gt;
&lt;br /&gt;
* The ability to trade your BBP coins against another currency (such as DOGE), directly with other QT wallet users, without relying on a centralized exchange (CEX).&lt;br /&gt;
* The ability to add other currencies, which are compatible with the base58 wallet, into the exchange.  This may allow other communities to list their coins inside BBP's DEX.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;Terminology&amp;lt;/u&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
'''Native Coin''': The BBP built in currency, or a standard BBP Base58/WIF keypair and its value in the BBP wallet.&lt;br /&gt;
&lt;br /&gt;
'''Colored Coin''': A special coin, with a Base58 address that ends in a 4 digit alphanumeric code that designates value on another network, but stored in the wallet.&lt;br /&gt;
&lt;br /&gt;
Note that Colored coins cannot be sent out to native addresses (therefore preventing colored coins from going to BBP address on CEXs etc) or diluting their value.Colored coins can only be sent to other like colored addresses, using an RPC command.&lt;br /&gt;
&lt;br /&gt;
One example of a colored address is &amp;quot;COLORED-DOGE&amp;quot;, which ends in dgzz.  Another is colored &amp;quot;COLORED-XLM&amp;quot; ending in lmzz.&lt;br /&gt;
&lt;br /&gt;
Colored coins cannot be sent from unlike colored addresses, XLM cannot be sent to DOGE or vice versa.&lt;br /&gt;
&lt;br /&gt;
You cannot see colored coins in coin-control; their balances can only be queried with RPC commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The function the colored coin provides to BBP is:&lt;br /&gt;
* Convert Value from a foreign network native UTXO to a BBP colored UTXO&lt;br /&gt;
* Seamlessly trade the colored coins in the DEX with other users&lt;br /&gt;
* Convert Colored coin value back to native value&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Coin Control''': From the QT left menu, click Send | Inputs.  &lt;br /&gt;
This page allows you to pick specific coins that are used in a transaction.&lt;br /&gt;
&lt;br /&gt;
'''BBP Native Receive Addresses''': From the QT menu, click Window | Receiving addresses. &lt;br /&gt;
You will see a list of BBP receive addresses.&lt;br /&gt;
&lt;br /&gt;
'''TRADING-PUBLIC-KEY''': This address is the only BBP native address the DEX will spend from (for security reasons).&lt;br /&gt;
You must deposit BBP into this address in order to place trades where you Buy foreign currency.&lt;br /&gt;
&lt;br /&gt;
'''TRADING-ASSET-DOGE''': Your wallet will automatically mine a colored DOGE address.  &lt;br /&gt;
This is your colored BBP DOGE address that will hold native doge.&lt;br /&gt;
&lt;br /&gt;
'''TRADING-ASSET-XLM''': Your wallet will also mine a colored XLM address. &lt;br /&gt;
This is the address that will hold native XLM.&lt;br /&gt;
&lt;br /&gt;
'''Portfolio Builder''': A satellite program that allows you to earn staking rewards for holding an equal amount of native BBP + colored foreign (see Extensions).&lt;br /&gt;
&lt;br /&gt;
'''Exchange Flags''':Exchange Room | Trading Grid | Flags: The Flag &amp;quot;T&amp;quot; means theirs, &amp;quot;M&amp;quot; means Mine.  This way you can see your orders are M.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''Usage'''&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To demonstrate the usage of the exchange we will go through some examples in using the exchange to buy BBP (while selling DOGE) and selling BBP (to Buy DOGE).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prerequisites''':&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If we want to sell DOGE and buy BBP we will need to fund our TRADING-PUBLIC-KEY.  In this example, we will send 100,000 BBP from our core wallet to the TRADING-PUBLIC-KEY.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click on Exchange from the left menu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Copy BBP Trading Address to clipboard (that is equivalent to your &amp;quot;TRADING-PUBLIC-KEY&amp;quot; mentioned above).  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Go to Send.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Paste the address in the TO.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Send 100,000 BBP to yourself.  Now the exchange has funds to trade with.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;In this demo we also want to sell some DOGE for BBP.  Therefore we need to receive some Native DOGE into the BBP colored address.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click Exchange.  Copy the Native DOGE address to the clipboard.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Go to your favorite DOGE wallet, and send 10 DOGE to this native address.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wait 2 blocks on the DOGE network, then click the Get button (which means get balance).  Once you see the coins exist in your DOGE native address, now they need to be wrapped, or converted to colored DOGE in order to be tradeable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now click Wrap.  Choose the amount (Lets go with 9.9 to ensure there are no transaction fee errors).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Look for the result, it should say &amp;quot;Successfully Wrapped&amp;quot; etc.  Now you will have .10 Native doge and 9.9 Colored Doge in the &amp;quot;TRADING-ASSET-DOGE&amp;quot; address; and you can see the balances adjust on the top right.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Placing a SELL Trade'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
First let us place a trade to Sell BBP while buying with DOGE.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Populate 10000 into the Quantity box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Populate 0.00011001 into the Price box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click SELL.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This will place an order to sell 2.70 DOGE for 10,000 BBP.  The order will appear in the Sell grid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that if your wallet is locked you will receive an error and will have to unlock the wallet for this tx to be created.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Placing a BUY Trade'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next let us place a trade to Buy BBP while selling DOGE.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Populate 10000 into the Quantity box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Populate 0.00010999 into the Price box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click BUY.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This will place an order to buy 2.69 DOGE for 10,000 BBP.  The order will appear in the Buy grid.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;NOTE: You cannot trade with yourself as our atomic tx rejects wash trades with duplicate keys; however you can trade with yourself as long as you use two QT wallets with different key sets.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;Once another buyer enters the market to place an opposing trade with the same quantity and an at or better price than yours, your order will fill atomically.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partial Fills'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If your order is bigger in size than their order, a partial fill will occur as long as the partial fill results in a leftover quantity greater than the room minimum.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As of April 2025, the DOGE-BBP room minimum is .10 DOGE per trade.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Atomic Matching'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The matching engine is constantly scanning for trades in the orderbook, where the quantities match and the price is at or better than the limit price; when this pair is found, an atomic transaction is created with two legs in one transaction: Colored coin going from Buyer to Seller AND Native BBP coin going from Seller to Buyer AND the network minimum transaction fee (.00100) paid in Native BBP all built in the single transaction.  This means that if anything goes wrong with this transaction (not enough funds on either end, tx fee deficiency, network error, chain is out of sync, chainlocks down) etc, then this transaction will FAIL atomically.  This is good, because now the trading board has not changed, and neither buyer or seller is harmed.  However, if the transaction goes through, both buyer and seller are satisfied atomically.  Meaning that both colored balances and both native BBP balances are instantly updated with no possibility of error on either end.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Canceling a Trade'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To cancel a trade, simply highlight the row with the trade you placed (yours have M) and click Cancel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Insufficient Funds - Orders with no backing collateral'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that we only allow orders to enter into the orderbook, if, at the time of the trade, the user has enough collateral (IE colored coin balance and BBP balance are sufficient to place the trade).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However, since we have 24 hour atomic matching while users are offline, it is possible for a user to do an offline spend of a coin that is already in the orderbook.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is not a problem because Atomic trades cannot occur (if coins are spent prior to the atomic tx being created), that part is prevented.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The sanctuary thread constantly looks for trades with no backing collateral.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The sanctuary will cancel these automatically causing them to disappear from the order book.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Converting your Colored DOGE back to NATIVE DOGE'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To convert your coins back to Native, click Unwrap.  Type in the amount of Native you want to convert back (IE 9 in our example above).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Once this process finishes, you will see the Native DOGE balance increases back to the original amount (IE 9.99~).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Sending DOGE from the biblepay wallet to the DOGE wallet'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now to send DOGE out of your wallet back to your home DOGE wallet, go to the RPC console and type:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
exec senddoge doge_to_address amount&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''Technical Specs'''&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We have three types of Sancs, Altar, Sanc, and Temple. &lt;br /&gt;
The Temple is required to stake 10* the collateral than the Sanc.&lt;br /&gt;
&lt;br /&gt;
The Temple runs an additional piece of software, called BMS (BiblePay Middleware System) which contains the BBP API. &lt;br /&gt;
The Temple also runs a decentralized sidechain, which creates blocks on demand. &lt;br /&gt;
(We are currently at block 21000 on the side chain). Side chain blocks are stored on STORJ. &lt;br /&gt;
Each temple node syncs the BBP sidechain blocks up the the tip, automatically.&lt;br /&gt;
&lt;br /&gt;
When exchange trades are placed in QT, the AtomicTrade is serialized and opensource, except for the colored private key (or the BBP private key).&lt;br /&gt;
 The private key is encrypted with RSA, and included in the serialized block hex. &lt;br /&gt;
The trade is forwarded to a temple, and the temple creates a sidechain BLOCK and stores it in STORJ. Note that the Temple cannot read the private key, because it is encrypted.&lt;br /&gt;
&lt;br /&gt;
When QT needs a refreshed trading screen, it queries the order book from the Temple. &lt;br /&gt;
The Temple aggregates OPEN orders from the sidechain objects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A trading order book is a collection of AtomicTrades where Status='OPEN' and TradingPair='BBP/DOGE'. Each time the orderbook changes, this feed is sent down from the temple back to the QT client.&lt;br /&gt;
&lt;br /&gt;
Also, the QT client receives a PriceFeed from the Temple which contains the price of USD-DOGE, BTC-USD, BBP-DOGE, etc. The midpoint of the market is assessed by the temple based on the actual orderbook data.&lt;br /&gt;
&lt;br /&gt;
The Matching Engine is running on the Temple, and it is constantly scanning for trades where quantity matches and price is at or better than the ask.&lt;br /&gt;
&lt;br /&gt;
When the Temple needs to create an atomic transaction, it concatenates the seller with the buyer, combining it into one transaction using NBitcoin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The private keys are Not readable by the Temple in production, or in debug mode.&lt;br /&gt;
&lt;br /&gt;
The AtomicTX then is sent into a proprietary Signing piece of code for the Signing request. &lt;br /&gt;
The Signer is closed source and is able to decrypt the private key for the atomic tx and place the signature in place and it returns the signed tx to the caller, which broadcasts it to the BBP network.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the Ingate and Outgate run on the temple.&lt;br /&gt;
&lt;br /&gt;
Since it is mission critical to allow a user to receive back the colored coin, we also created a BBP extension, called PortfolioBuilder, that can run on your own machine and do 100% of the Outgate transaction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is useful for a scenario where, let us say you have $5,000 of colored coin value and our temple is down but the biblepay network is up and you receive an outgate error.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We want you to *always* be able to receive your native coin.&lt;br /&gt;
&lt;br /&gt;
You can launch PortfolioBuilder and do your own outgate in this case.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''Risks'''&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
First I want to say at BiblePay, we want you to know your QT keys and your QT wallet is the highest priority and always want every key to be secure.&lt;br /&gt;
All of the private keys *&amp;lt;u&amp;gt;'''Other than the Trading Keys'''&amp;lt;/u&amp;gt;*, in your QT wallet are 100% private.&lt;br /&gt;
&lt;br /&gt;
However, the &amp;quot;TRADING-&amp;quot; keys (the 3 mentioned in the beginning) are being used by the DEX to create atomic transactions.&lt;br /&gt;
&lt;br /&gt;
Although they are RSA encrypted, there is always a small chance that something can go wrong that is unintended.&lt;br /&gt;
&lt;br /&gt;
So it is best to treat the DEX in a similar way that you do with other CEXs, trade with limited amounts and do not leave large amounts on the exchange.&lt;br /&gt;
&lt;br /&gt;
Convert the coins back to native BBP when you can. If you do this the potential damage is always limited to the amount &amp;quot;in play&amp;quot; on the exchange.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''Future State'''&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The current exchange fulfills many of the desirable qualities that were originally scoped, however there are always tradeoffs with each approach.&lt;br /&gt;
&lt;br /&gt;
In the current approach you have:&lt;br /&gt;
&lt;br /&gt;
Ability to match atomic trades 24H even when users are offline (plus).&lt;br /&gt;
&lt;br /&gt;
Mostly Decentralized (User to user trading, requires one designated temple or temple cluster to be online, the temple API must be working, STORJ must be working).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However, we may eventually want to improve the exchange making it 100% decentralized through various technological advances.&lt;br /&gt;
&lt;br /&gt;
For example, maybe the NBitcoin code can be moved into each online client, allowing matching to occur client side as well.&lt;br /&gt;
&lt;br /&gt;
The tradeoff is the node may need to be online for this to work (at the time the fill occurs).&lt;br /&gt;
Also we may want to move the orderbook from the sidechain to the client side.&lt;br /&gt;
&lt;br /&gt;
We may also want to move to a market maker model, where market makers buy-sell colored coins and hold the collateral along with an equal amount of BBP.&lt;br /&gt;
&lt;br /&gt;
We may want to come up with a scheme to change the WIF format of all trading keys so they cannot be under any circumstance, hacked as regular keys.&lt;br /&gt;
&lt;br /&gt;
This way we can promote BBP core wallet as having every key, in an equal original status when BBP was released as secure. (Maybe we combine this feature with Quantum resistant keys, since quantum computers are rising in capabilities very quickly).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Another improvement is to make Portfolio Builder use separate private keys, that are not intermingled with the exchange.&lt;br /&gt;
&lt;br /&gt;
(Currently portfolio builder uses the same XRP/XLM keys as the exchange keys at the beginning of this page, primarily because of the high starting fee required to open an XRP account - 10 XRP, hence the plus is having one account for XRP/XLM).&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.biblepay.org/index.php?title=Decentralized_Exchange&amp;diff=6964</id>
		<title>Decentralized Exchange</title>
		<link rel="alternate" type="text/html" href="https://wiki.biblepay.org/index.php?title=Decentralized_Exchange&amp;diff=6964"/>
		<updated>2025-04-18T14:06:10Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Introduction'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Biblepay Decentralized Exchange (DEX) was created with various goals in mind:&lt;br /&gt;
&lt;br /&gt;
* The ability to trade your BBP coins against another currency (such as DOGE), directly with other QT wallet users, without relying on a centralized exchange (CEX).&lt;br /&gt;
* The ability to add other currencies, which are compatible with the base58 wallet, into the exchange.  This may allow other communities to list their coins inside BBP's DEX.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;Terminology&amp;lt;/u&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
'''Native Coin''': The BBP built in currency, or a standard BBP Base58/WIF keypair and its value in the BBP wallet.&lt;br /&gt;
&lt;br /&gt;
'''Colored Coin''': A special coin, with a Base58 address that ends in a 4 digit alphanumeric code that designates value on another network, but stored in the wallet.&lt;br /&gt;
&lt;br /&gt;
Note that Colored coins cannot be sent out to native addresses (therefore preventing colored coins from going to BBP address on CEXs etc) or diluting their value.Colored coins can only be sent to other like colored addresses, using an RPC command.&lt;br /&gt;
&lt;br /&gt;
One example of a colored address is &amp;quot;COLORED-DOGE&amp;quot;, which ends in dgzz.  Another is colored &amp;quot;COLORED-XLM&amp;quot; ending in lmzz.&lt;br /&gt;
&lt;br /&gt;
Colored coins cannot be sent from unlike colored addresses, XLM cannot be sent to DOGE or vice versa.&lt;br /&gt;
&lt;br /&gt;
You cannot see colored coins in coin-control; their balances can only be queried with RPC commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The function the colored coin provides to BBP is:&lt;br /&gt;
* Convert Value from a foreign network native UTXO to a BBP colored UTXO&lt;br /&gt;
* Seamlessly trade the colored coins in the DEX with other users&lt;br /&gt;
* Convert Colored coin value back to native value&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Coin Control''': From the QT left menu, click Send | Inputs.  This page allows you to pick specific coins that are used in a transaction.'''BBP Native Receive Addresses''': From the QT menu, click Window | Receiving addresses.  You will see a list of BBP receive addresses.&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;'''TRADING-PUBLIC-KEY''': This address is the only BBP native address the DEX will spend from (for security reasons).You must deposit BBP into this address in order to place trades where you Buy foreign currency.'''TRADING-ASSET-DOGE''': Your wallet will automatically mine a colored DOGE address.  This is your colored BBP DOGE address that will hold native doge.'''TRADING-ASSET-XLM''': Your wallet will also mine a colored XLM address.  This is the address that will hold native XLM.'''Portfolio Builder''': A satellite program that allows you to earn staking rewards for holding an equal amount of native BBP + colored foreign (see Extensions).'''Exchange Flags''':Exchange Room | Trading Grid | Flags: The Flag &amp;quot;T&amp;quot; means theirs, &amp;quot;M&amp;quot; means Mine.  This way you can see your orders are M.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''Usage'''&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To demonstrate the usage of the exchange we will go through some examples in using the exchange to buy BBP (while selling DOGE) and selling BBP (to Buy DOGE).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Prerequisites''':&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If we want to sell DOGE and buy BBP we will need to fund our TRADING-PUBLIC-KEY.  In this example, we will send 100,000 BBP from our core wallet to the TRADING-PUBLIC-KEY.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click on Exchange from the left menu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Copy BBP Trading Address to clipboard (that is equivalent to your &amp;quot;TRADING-PUBLIC-KEY&amp;quot; mentioned above).  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Go to Send.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Paste the address in the TO.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Send 100,000 BBP to yourself.  Now the exchange has funds to trade with.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;In this demo we also want to sell some DOGE for BBP.  Therefore we need to receive some Native DOGE into the BBP colored address.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click Exchange.  Copy the Native DOGE address to the clipboard.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Go to your favorite DOGE wallet, and send 10 DOGE to this native address.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wait 2 blocks on the DOGE network, then click the Get button (which means get balance).  Once you see the coins exist in your DOGE native address, now they need to be wrapped, or converted to colored DOGE in order to be tradeable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now click Wrap.  Choose the amount (Lets go with 9.9 to ensure there are no transaction fee errors).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Look for the result, it should say &amp;quot;Successfully Wrapped&amp;quot; etc.  Now you will have .10 Native doge and 9.9 Colored Doge in the &amp;quot;TRADING-ASSET-DOGE&amp;quot; address; and you can see the balances adjust on the top right.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Placing a SELL Trade'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
First let us place a trade to Sell BBP while buying with DOGE.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Populate 10000 into the Quantity box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Populate 0.00011001 into the Price box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click SELL.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This will place an order to sell 2.70 DOGE for 10,000 BBP.  The order will appear in the Sell grid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that if your wallet is locked you will receive an error and will have to unlock the wallet for this tx to be created.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Placing a BUY Trade'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next let us place a trade to Buy BBP while selling DOGE.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Populate 10000 into the Quantity box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Populate 0.00010999 into the Price box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click BUY.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This will place an order to buy 2.69 DOGE for 10,000 BBP.  The order will appear in the Buy grid.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;NOTE: You cannot trade with yourself as our atomic tx rejects wash trades with duplicate keys; however you can trade with yourself as long as you use two QT wallets with different key sets.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;Once another buyer enters the market to place an opposing trade with the same quantity and an at or better price than yours, your order will fill atomically.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partial Fills'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If your order is bigger in size than their order, a partial fill will occur as long as the partial fill results in a leftover quantity greater than the room minimum.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As of April 2025, the DOGE-BBP room minimum is .10 DOGE per trade.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Atomic Matching'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The matching engine is constantly scanning for trades in the orderbook, where the quantities match and the price is at or better than the limit price; when this pair is found, an atomic transaction is created with two legs in one transaction: Colored coin going from Buyer to Seller AND Native BBP coin going from Seller to Buyer AND the network minimum transaction fee (.00100) paid in Native BBP all built in the single transaction.  This means that if anything goes wrong with this transaction (not enough funds on either end, tx fee deficiency, network error, chain is out of sync, chainlocks down) etc, then this transaction will FAIL atomically.  This is good, because now the trading board has not changed, and neither buyer or seller is harmed.  However, if the transaction goes through, both buyer and seller are satisfied atomically.  Meaning that both colored balances and both native BBP balances are instantly updated with no possibility of error on either end.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Canceling a Trade'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To cancel a trade, simply highlight the row with the trade you placed (yours have M) and click Cancel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Insufficient Funds - Orders with no backing collateral'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that we only allow orders to enter into the orderbook, if, at the time of the trade, the user has enough collateral (IE colored coin balance and BBP balance are sufficient to place the trade).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However, since we have 24 hour atomic matching while users are offline, it is possible for a user to do an offline spend of a coin that is already in the orderbook.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is not a problem because Atomic trades cannot occur (if coins are spent prior to the atomic tx being created), that part is prevented.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The sanctuary thread constantly looks for trades with no backing collateral.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The sanctuary will cancel these automatically causing them to disappear from the order book.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Converting your Colored DOGE back to NATIVE DOGE'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To convert your coins back to Native, click Unwrap.  Type in the amount of Native you want to convert back (IE 9 in our example above).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Once this process finishes, you will see the Native DOGE balance increases back to the original amount (IE 9.99~).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Sending DOGE from the biblepay wallet to the DOGE wallet'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now to send DOGE out of your wallet back to your home DOGE wallet, go to the RPC console and type:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
exec senddoge doge_to_address amount&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''Technical Specs'''&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We have three types of Sancs, Altar, Sanc, and Temple. &lt;br /&gt;
The Temple is required to stake 10* the collateral than the Sanc.&lt;br /&gt;
&lt;br /&gt;
The Temple runs an additional piece of software, called BMS (BiblePay Middleware System) which contains the BBP API. &lt;br /&gt;
The Temple also runs a decentralized sidechain, which creates blocks on demand. &lt;br /&gt;
(We are currently at block 21000 on the side chain). Side chain blocks are stored on STORJ. &lt;br /&gt;
Each temple node syncs the BBP sidechain blocks up the the tip, automatically.&lt;br /&gt;
&lt;br /&gt;
When exchange trades are placed in QT, the AtomicTrade is serialized and opensource, except for the colored private key (or the BBP private key).&lt;br /&gt;
 The private key is encrypted with RSA, and included in the serialized block hex. &lt;br /&gt;
The trade is forwarded to a temple, and the temple creates a sidechain BLOCK and stores it in STORJ. Note that the Temple cannot read the private key, because it is encrypted.&lt;br /&gt;
&lt;br /&gt;
When QT needs a refreshed trading screen, it queries the order book from the Temple. &lt;br /&gt;
The Temple aggregates OPEN orders from the sidechain objects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A trading order book is a collection of AtomicTrades where Status='OPEN' and TradingPair='BBP/DOGE'. Each time the orderbook changes, this feed is sent down from the temple back to the QT client.&lt;br /&gt;
&lt;br /&gt;
Also, the QT client receives a PriceFeed from the Temple which contains the price of USD-DOGE, BTC-USD, BBP-DOGE, etc. The midpoint of the market is assessed by the temple based on the actual orderbook data.&lt;br /&gt;
&lt;br /&gt;
The Matching Engine is running on the Temple, and it is constantly scanning for trades where quantity matches and price is at or better than the ask.&lt;br /&gt;
&lt;br /&gt;
When the Temple needs to create an atomic transaction, it concatenates the seller with the buyer, combining it into one transaction using NBitcoin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The private keys are Not readable by the Temple in production, or in debug mode.&lt;br /&gt;
&lt;br /&gt;
The AtomicTX then is sent into a proprietary Signing piece of code for the Signing request. &lt;br /&gt;
The Signer is closed source and is able to decrypt the private key for the atomic tx and place the signature in place and it returns the signed tx to the caller, which broadcasts it to the BBP network.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the Ingate and Outgate run on the temple.&lt;br /&gt;
&lt;br /&gt;
Since it is mission critical to allow a user to receive back the colored coin, we also created a BBP extension, called PortfolioBuilder, that can run on your own machine and do 100% of the Outgate transaction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is useful for a scenario where, let us say you have $5,000 of colored coin value and our temple is down but the biblepay network is up and you receive an outgate error.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We want you to *always* be able to receive your native coin.&lt;br /&gt;
&lt;br /&gt;
You can launch PortfolioBuilder and do your own outgate in this case.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''Risks'''&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
First I want to say at BiblePay, we want you to know your QT keys and your QT wallet is the highest priority and always want every key to be secure.&lt;br /&gt;
All of the private keys *&amp;lt;u&amp;gt;'''Other than the Trading Keys'''&amp;lt;/u&amp;gt;*, in your QT wallet are 100% private.&lt;br /&gt;
&lt;br /&gt;
However, the &amp;quot;TRADING-&amp;quot; keys (the 3 mentioned in the beginning) are being used by the DEX to create atomic transactions.&lt;br /&gt;
&lt;br /&gt;
Although they are RSA encrypted, there is always a small chance that something can go wrong that is unintended.&lt;br /&gt;
&lt;br /&gt;
So it is best to treat the DEX in a similar way that you do with other CEXs, trade with limited amounts and do not leave large amounts on the exchange.&lt;br /&gt;
&lt;br /&gt;
Convert the coins back to native BBP when you can. If you do this the potential damage is always limited to the amount &amp;quot;in play&amp;quot; on the exchange.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''Future State'''&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The current exchange fulfills many of the desirable qualities that were originally scoped, however there are always tradeoffs with each approach.&lt;br /&gt;
&lt;br /&gt;
In the current approach you have:&lt;br /&gt;
&lt;br /&gt;
Ability to match atomic trades 24H even when users are offline (plus).&lt;br /&gt;
&lt;br /&gt;
Mostly Decentralized (User to user trading, requires one designated temple or temple cluster to be online, the temple API must be working, STORJ must be working).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However, we may eventually want to improve the exchange making it 100% decentralized through various technological advances.&lt;br /&gt;
&lt;br /&gt;
For example, maybe the NBitcoin code can be moved into each online client, allowing matching to occur client side as well.&lt;br /&gt;
&lt;br /&gt;
The tradeoff is the node may need to be online for this to work (at the time the fill occurs).&lt;br /&gt;
Also we may want to move the orderbook from the sidechain to the client side.&lt;br /&gt;
&lt;br /&gt;
We may also want to move to a market maker model, where market makers buy-sell colored coins and hold the collateral along with an equal amount of BBP.&lt;br /&gt;
&lt;br /&gt;
We may want to come up with a scheme to change the WIF format of all trading keys so they cannot be under any circumstance, hacked as regular keys.&lt;br /&gt;
&lt;br /&gt;
This way we can promote BBP core wallet as having every key, in an equal original status when BBP was released as secure. (Maybe we combine this feature with Quantum resistant keys, since quantum computers are rising in capabilities very quickly).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Another improvement is to make Portfolio Builder use separate private keys, that are not intermingled with the exchange.&lt;br /&gt;
&lt;br /&gt;
(Currently portfolio builder uses the same XRP/XLM keys as the exchange keys at the beginning of this page, primarily because of the high starting fee required to open an XRP account - 10 XRP, hence the plus is having one account for XRP/XLM).&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.biblepay.org/index.php?title=Decentralized_Exchange&amp;diff=6963</id>
		<title>Decentralized Exchange</title>
		<link rel="alternate" type="text/html" href="https://wiki.biblepay.org/index.php?title=Decentralized_Exchange&amp;diff=6963"/>
		<updated>2025-04-18T13:54:46Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Introduction'''&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;The Biblepay Decentralized Exchange (DEX) was created with various goals in mind:&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&lt;br /&gt;
* The ability to trade your BBP coins against another currency (such as DOGE), directly with other QT wallet users, without relying on a centralized exchange (CEX).&lt;br /&gt;
* The ability to add other currencies, which are compatible with the base58 wallet, into the exchange.  This may allow other communities to list their coins inside BBP's DEX.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;Terminology&amp;lt;/u&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;'''Native Coin''': The BBP built in currency, or a standard BBP Base58/WIF keypair and its value in the BBP wallet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Colored Coin''': A special coin, with a Base58 address that ends in a 4 digit alphanumeric code that designates value on another network, but stored in the wallet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that Colored coins cannot be sent out to native addresses (therefore preventing colored coins from going to BBP address on CEXs etc) or diluting their value.Colored coins can only be sent to other like colored addresses, using an RPC command.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
One example of a colored address is &amp;quot;COLORED-DOGE&amp;quot;, which ends in dgzz.  Another is colored &amp;quot;COLORED-XLM&amp;quot; ending in lmzz.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Colored coins cannot be sent from unlike colored addresses, XLM cannot be sent to DOGE or vice versa.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You cannot see colored coins in coin-control; their balances can only be queried with RPC commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The function the colored coin provides to BBP is:&lt;br /&gt;
* Convert Value from a foreign network native UTXO to a BBP colored UTXO&lt;br /&gt;
* Seamlessly trade the colored coins in the DEX with other users&lt;br /&gt;
* Convert Colored coin value back to native value&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Coin Control''': From the QT left menu, click Send | Inputs.  This page allows you to pick specific coins that are used in a transaction.'''BBP Native Receive Addresses''': From the QT menu, click Window | Receiving addresses.  You will see a list of BBP receive addresses.&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;'''TRADING-PUBLIC-KEY''': This address is the only BBP native address the DEX will spend from (for security reasons).You must deposit BBP into this address in order to place trades where you Buy foreign currency.'''TRADING-ASSET-DOGE''': Your wallet will automatically mine a colored DOGE address.  This is your colored BBP DOGE address that will hold native doge.'''TRADING-ASSET-XLM''': Your wallet will also mine a colored XLM address.  This is the address that will hold native XLM.'''Portfolio Builder''': A satellite program that allows you to earn staking rewards for holding an equal amount of native BBP + colored foreign (see Extensions).'''Exchange Flags''':Exchange Room | Trading Grid | Flags: The Flag &amp;quot;T&amp;quot; means theirs, &amp;quot;M&amp;quot; means Mine.  This way you can see your orders are M.&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;u&amp;gt;'''Usage'''&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;To demonstrate the usage of the exchange we will go through some examples in using the exchange to buy BBP (while selling DOGE) and selling BBP (to Buy DOGE).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;'''Prerequisites''':&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If we want to sell DOGE and buy BBP we will need to fund our TRADING-PUBLIC-KEY.  In this example, we will send 100,000 BBP from our core wallet to the TRADING-PUBLIC-KEY.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click on Exchange from the left menu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Copy BBP Trading Address to clipboard (that is equivalent to your &amp;quot;TRADING-PUBLIC-KEY&amp;quot; mentioned above).  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Go to Send.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Paste the address in the TO.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Send 100,000 BBP to yourself.  Now the exchange has funds to trade with.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;In this demo we also want to sell some DOGE for BBP.  Therefore we need to receive some Native DOGE into the BBP colored address.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click Exchange.  Copy the Native DOGE address to the clipboard.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Go to your favorite DOGE wallet, and send 10 DOGE to this native address.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wait 2 blocks on the DOGE network, then click the Get button (which means get balance).  Once you see the coins exist in your DOGE native address, now they need to be wrapped, or converted to colored DOGE in order to be tradeable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now click Wrap.  Choose the amount (Lets go with 9.9 to ensure there are no transaction fee errors).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Look for the result, it should say &amp;quot;Successfully Wrapped&amp;quot; etc.  Now you will have .10 Native doge and 9.9 Colored Doge in the &amp;quot;TRADING-ASSET-DOGE&amp;quot; address; and you can see the balances adjust on the top right.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Placing a SELL Trade'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;First let us place a trade to Sell BBP while buying with DOGE.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Populate 10000 into the Quantity box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Populate 0.00011001 into the Price box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click SELL.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This will place an order to sell 2.70 DOGE for 10,000 BBP.  The order will appear in the Sell grid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that if your wallet is locked you will receive an error and will have to unlock the wallet for this tx to be created.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Placing a BUY Trade'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;Next let us place a trade to Buy BBP while selling DOGE.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Populate 10000 into the Quantity box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Populate 0.00010999 into the Price box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click BUY.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This will place an order to buy 2.69 DOGE for 10,000 BBP.  The order will appear in the Buy grid.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;NOTE: You cannot trade with yourself as our atomic tx rejects wash trades with duplicate keys; however you can trade with yourself as long as you use two QT wallets with different key sets.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;Once another buyer enters the market to place an opposing trade with the same quantity and an at or better price than yours, your order will fill atomically.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partial Fills'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If your order is bigger in size than their order, a partial fill will occur as long as the partial fill results in a leftover quantity greater than the room minimum.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As of April 2025, the DOGE-BBP room minimum is .10 DOGE per trade.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;'''Atomic Matching'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The matching engine is constantly scanning for trades in the orderbook, where the quantities match and the price is at or better than the limit price; when this pair is found, an atomic transaction is created with two legs in one transaction: Colored coin going from Buyer to Seller AND Native BBP coin going from Seller to Buyer AND the network minimum transaction fee (.00100) paid in Native BBP all built in the single transaction.  This means that if anything goes wrong with this transaction (not enough funds on either end, tx fee deficiency, network error, chain is out of sync, chainlocks down) etc, then this transaction will FAIL atomically.  This is good, because now the trading board has not changed, and neither buyer or seller is harmed.  However, if the transaction goes through, both buyer and seller are satisfied atomically.  Meaning that both colored balances and both native BBP balances are instantly updated with no possibility of error on either end.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;'''Canceling a Trade'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To cancel a trade, simply highlight the row with the trade you placed (yours have M) and click Cancel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;'''Insufficient Funds - Orders with no backing collateral'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that we only allow orders to enter into the orderbook, if, at the time of the trade, the user has enough collateral (IE colored coin balance and BBP balance are sufficient to place the trade).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However, since we have 24 hour atomic matching while users are offline, it is possible for a user to do an offline spend of a coin that is already in the orderbook.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is not a problem because Atomic trades cannot occur (if coins are spent prior to the atomic tx being created), that part is prevented.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The sanctuary thread constantly looks for trades with no backing collateral.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The sanctuary will cancel these automatically causing them to disappear from the order book.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;'''Converting your Colored DOGE back to NATIVE DOGE'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;To convert your coins back to Native, click Unwrap.  Type in the amount of Native you want to convert back (IE 9 in our example above).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Once this process finishes, you will see the Native DOGE balance increases back to the original amount (IE 9.99~).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Sending DOGE from the biblepay wallet to the DOGE wallet'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now to send DOGE out of your wallet back to your home DOGE wallet, go to the RPC console and type:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
exec senddoge doge_to_address amount&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;u&amp;gt;'''Technical Specs'''&amp;lt;/u&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;We have three types of Sancs, Altar, Sanc, and Temple. The Temple is required to stake 10* the collateral than the Sanc.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;The Temple runs an additional piece of software, called BMS (BiblePay Middleware System) which contains the BBP API. The Temple also runs a decentralized sidechain, which creates blocks on demand. (We are currently at block 21000 on the side chain). Side chain blocks are stored on STORJ. Each temple node syncs the BBP sidechain blocks up the the tip, automatically.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;When exchange trades are placed in QT, the AtomicTrade is serialized and opensource, except for the colored private key (or the BBP private key). The private key is encrypted with RSA, and included in the serialized block hex. The trade is forwarded to a temple, and the temple creates a sidechain BLOCK and stores it in STORJ. Note that the Temple cannot read the private key, because it is encrypted.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;When QT needs a refreshed trading screen, it queries the order book from the Temple. The Temple aggregates OPEN orders from the sidechain objects.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;A trading order book is a collection of AtomicTrades where Status='OPEN' and TradingPair='BBP/DOGE'. Each time the orderbook changes, this feed is sent down from the temple back to the QT client.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;Also, the QT client receives a PriceFeed from the Temple which contains the price of USD-DOGE, BTC-USD, BBP-DOGE, etc. The midpoint of the market is assessed by the temple based on the actual orderbook data.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;The Matching Engine is running on the Temple, and it is constantly scanning for trades where quantity matches and price is at or better than the ask.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;When the Temple needs to create an atomic transaction, it concatenates the seller with the buyer, combining it into one transaction using NBitcoin.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;The private keys are Not readable by the Temple in production, or in debug mode.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;The AtomicTX then is sent into a proprietary Signing piece of code for the Signing request. The Signer is closed source and is able to decrypt the private key for the atomic tx and place the signature in place and it returns the signed tx to the caller, which broadcasts it to the BBP network.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;Note that the Ingate and Outgate run on the temple.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;Since it is mission critical to allow a user to receive back the colored coin, we also created a BBP extension, called PortfolioBuilder, that can run on your own machine and do 100% of the Outgate transaction.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;This is useful for a scenario where, let us say you have $5,000 of colored coin value and our temple is down but the biblepay network is up and you receive an outgate error.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;We want you to *always* be able to receive your native coin.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;You can launch PortfolioBuilder and do your own outgate in this case.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;u&amp;gt;'''Risks'''&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;First I want to say at BiblePay, we want you to know your QT keys and your QT wallet is the highest priority and always want every key to be secure.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;All of the private keys *&amp;lt;u&amp;gt;'''Other than the Trading Keys'''&amp;lt;/u&amp;gt;*, in your QT wallet are 100% private.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;However, the &amp;quot;TRADING-&amp;quot; keys (the 3 mentioned in the beginning) are being used by the DEX to create atomic transactions.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;Although they are RSA encrypted, there is always a small chance that something can go wrong that is unintended.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;So it is best to treat the DEX in a similar way that you do with other CEXs, trade with limited amounts and do not leave large amounts on the exchange.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;Convert the coins back to native BBP when you can. If you do this the potential damage is always limited to the amount &amp;quot;in play&amp;quot; on the exchange.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;u&amp;gt;'''Future State'''&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;The current exchange fulfills many of the desirable qualities that were originally scoped, however there are always tradeoffs with each approach.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;In the current approach you have:&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;Ability to match atomic trades 24H even when users are offline (plus).&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;Mostly Decentralized (User to user trading, requires one designated temple or temple cluster to be online, the temple API must be working, STORJ must be working).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;However, we may eventually want to improve the exchange making it 100% decentralized through various technological advances.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;For example, maybe the NBitcoin code can be moved into each online client, allowing matching to occur client side as well.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;The tradeoff is the node may need to be online for this to work (at the time the fill occurs).&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;Also we may want to move the orderbook from the sidechain to the client side.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;We may also want to move to a market maker model, where market makers buy-sell colored coins and hold the collateral along with an equal amount of BBP.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;We may want to come up with a scheme to change the WIF format of all trading keys so they cannot be under any circumstance, hacked as regular keys.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;This way we can promote BBP core wallet as having every key, in an equal original status when BBP was released as secure. (Maybe we combine this feature with Quantum resistant keys, since quantum computers are rising in capabilities very quickly).&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;Another improvement is to make Portfolio Builder use separate private keys, that are not intermingled with the exchange.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;(Currently portfolio builder uses the same XRP/XLM keys as the exchange keys at the beginning of this page, primarily because of the high starting fee required to open an XRP account - 10 XRP, hence the plus is having one account for XRP/XLM).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.biblepay.org/index.php?title=Decentralized_Exchange&amp;diff=6962</id>
		<title>Decentralized Exchange</title>
		<link rel="alternate" type="text/html" href="https://wiki.biblepay.org/index.php?title=Decentralized_Exchange&amp;diff=6962"/>
		<updated>2025-04-18T13:54:21Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Introduction'''&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;The Biblepay Decentralized Exchange (DEX) was created with various goals in mind:&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&lt;br /&gt;
* The ability to trade your BBP coins against another currency (such as DOGE), directly with other QT wallet users, without relying on a centralized exchange (CEX).&lt;br /&gt;
* The ability to add other currencies, which are compatible with the base58 wallet, into the exchange.  This may allow other communities to list their coins inside BBP's DEX.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;''''''&amp;lt;/u&amp;gt;&amp;lt;u&amp;gt;''''''&amp;lt;/u&amp;gt;&amp;lt;u&amp;gt;''''''&amp;lt;/u&amp;gt;&amp;lt;u&amp;gt;'''Terminology'''&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;'''Native Coin''': The BBP built in currency, or a standard BBP Base58/WIF keypair and its value in the BBP wallet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Colored Coin''': A special coin, with a Base58 address that ends in a 4 digit alphanumeric code that designates value on another network, but stored in the wallet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that Colored coins cannot be sent out to native addresses (therefore preventing colored coins from going to BBP address on CEXs etc) or diluting their value.Colored coins can only be sent to other like colored addresses, using an RPC command.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
One example of a colored address is &amp;quot;COLORED-DOGE&amp;quot;, which ends in dgzz.  Another is colored &amp;quot;COLORED-XLM&amp;quot; ending in lmzz.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Colored coins cannot be sent from unlike colored addresses, XLM cannot be sent to DOGE or vice versa.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You cannot see colored coins in coin-control; their balances can only be queried with RPC commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The function the colored coin provides to BBP is:&lt;br /&gt;
* Convert Value from a foreign network native UTXO to a BBP colored UTXO&lt;br /&gt;
* Seamlessly trade the colored coins in the DEX with other users&lt;br /&gt;
* Convert Colored coin value back to native value&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Coin Control''': From the QT left menu, click Send | Inputs.  This page allows you to pick specific coins that are used in a transaction.'''BBP Native Receive Addresses''': From the QT menu, click Window | Receiving addresses.  You will see a list of BBP receive addresses.&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;'''TRADING-PUBLIC-KEY''': This address is the only BBP native address the DEX will spend from (for security reasons).You must deposit BBP into this address in order to place trades where you Buy foreign currency.'''TRADING-ASSET-DOGE''': Your wallet will automatically mine a colored DOGE address.  This is your colored BBP DOGE address that will hold native doge.'''TRADING-ASSET-XLM''': Your wallet will also mine a colored XLM address.  This is the address that will hold native XLM.'''Portfolio Builder''': A satellite program that allows you to earn staking rewards for holding an equal amount of native BBP + colored foreign (see Extensions).'''Exchange Flags''':Exchange Room | Trading Grid | Flags: The Flag &amp;quot;T&amp;quot; means theirs, &amp;quot;M&amp;quot; means Mine.  This way you can see your orders are M.&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;u&amp;gt;'''Usage'''&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;To demonstrate the usage of the exchange we will go through some examples in using the exchange to buy BBP (while selling DOGE) and selling BBP (to Buy DOGE).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;'''Prerequisites''':&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If we want to sell DOGE and buy BBP we will need to fund our TRADING-PUBLIC-KEY.  In this example, we will send 100,000 BBP from our core wallet to the TRADING-PUBLIC-KEY.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click on Exchange from the left menu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Copy BBP Trading Address to clipboard (that is equivalent to your &amp;quot;TRADING-PUBLIC-KEY&amp;quot; mentioned above).  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Go to Send.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Paste the address in the TO.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Send 100,000 BBP to yourself.  Now the exchange has funds to trade with.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;In this demo we also want to sell some DOGE for BBP.  Therefore we need to receive some Native DOGE into the BBP colored address.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click Exchange.  Copy the Native DOGE address to the clipboard.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Go to your favorite DOGE wallet, and send 10 DOGE to this native address.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wait 2 blocks on the DOGE network, then click the Get button (which means get balance).  Once you see the coins exist in your DOGE native address, now they need to be wrapped, or converted to colored DOGE in order to be tradeable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now click Wrap.  Choose the amount (Lets go with 9.9 to ensure there are no transaction fee errors).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Look for the result, it should say &amp;quot;Successfully Wrapped&amp;quot; etc.  Now you will have .10 Native doge and 9.9 Colored Doge in the &amp;quot;TRADING-ASSET-DOGE&amp;quot; address; and you can see the balances adjust on the top right.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Placing a SELL Trade'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;First let us place a trade to Sell BBP while buying with DOGE.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Populate 10000 into the Quantity box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Populate 0.00011001 into the Price box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click SELL.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This will place an order to sell 2.70 DOGE for 10,000 BBP.  The order will appear in the Sell grid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that if your wallet is locked you will receive an error and will have to unlock the wallet for this tx to be created.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Placing a BUY Trade'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;Next let us place a trade to Buy BBP while selling DOGE.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Populate 10000 into the Quantity box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Populate 0.00010999 into the Price box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click BUY.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This will place an order to buy 2.69 DOGE for 10,000 BBP.  The order will appear in the Buy grid.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;NOTE: You cannot trade with yourself as our atomic tx rejects wash trades with duplicate keys; however you can trade with yourself as long as you use two QT wallets with different key sets.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;Once another buyer enters the market to place an opposing trade with the same quantity and an at or better price than yours, your order will fill atomically.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partial Fills'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If your order is bigger in size than their order, a partial fill will occur as long as the partial fill results in a leftover quantity greater than the room minimum.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As of April 2025, the DOGE-BBP room minimum is .10 DOGE per trade.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;'''Atomic Matching'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The matching engine is constantly scanning for trades in the orderbook, where the quantities match and the price is at or better than the limit price; when this pair is found, an atomic transaction is created with two legs in one transaction: Colored coin going from Buyer to Seller AND Native BBP coin going from Seller to Buyer AND the network minimum transaction fee (.00100) paid in Native BBP all built in the single transaction.  This means that if anything goes wrong with this transaction (not enough funds on either end, tx fee deficiency, network error, chain is out of sync, chainlocks down) etc, then this transaction will FAIL atomically.  This is good, because now the trading board has not changed, and neither buyer or seller is harmed.  However, if the transaction goes through, both buyer and seller are satisfied atomically.  Meaning that both colored balances and both native BBP balances are instantly updated with no possibility of error on either end.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;'''Canceling a Trade'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To cancel a trade, simply highlight the row with the trade you placed (yours have M) and click Cancel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;'''Insufficient Funds - Orders with no backing collateral'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that we only allow orders to enter into the orderbook, if, at the time of the trade, the user has enough collateral (IE colored coin balance and BBP balance are sufficient to place the trade).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However, since we have 24 hour atomic matching while users are offline, it is possible for a user to do an offline spend of a coin that is already in the orderbook.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is not a problem because Atomic trades cannot occur (if coins are spent prior to the atomic tx being created), that part is prevented.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The sanctuary thread constantly looks for trades with no backing collateral.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The sanctuary will cancel these automatically causing them to disappear from the order book.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;'''Converting your Colored DOGE back to NATIVE DOGE'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;To convert your coins back to Native, click Unwrap.  Type in the amount of Native you want to convert back (IE 9 in our example above).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Once this process finishes, you will see the Native DOGE balance increases back to the original amount (IE 9.99~).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Sending DOGE from the biblepay wallet to the DOGE wallet'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now to send DOGE out of your wallet back to your home DOGE wallet, go to the RPC console and type:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
exec senddoge doge_to_address amount&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;u&amp;gt;'''Technical Specs'''&amp;lt;/u&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;We have three types of Sancs, Altar, Sanc, and Temple. The Temple is required to stake 10* the collateral than the Sanc.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;The Temple runs an additional piece of software, called BMS (BiblePay Middleware System) which contains the BBP API. The Temple also runs a decentralized sidechain, which creates blocks on demand. (We are currently at block 21000 on the side chain). Side chain blocks are stored on STORJ. Each temple node syncs the BBP sidechain blocks up the the tip, automatically.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;When exchange trades are placed in QT, the AtomicTrade is serialized and opensource, except for the colored private key (or the BBP private key). The private key is encrypted with RSA, and included in the serialized block hex. The trade is forwarded to a temple, and the temple creates a sidechain BLOCK and stores it in STORJ. Note that the Temple cannot read the private key, because it is encrypted.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;When QT needs a refreshed trading screen, it queries the order book from the Temple. The Temple aggregates OPEN orders from the sidechain objects.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;A trading order book is a collection of AtomicTrades where Status='OPEN' and TradingPair='BBP/DOGE'. Each time the orderbook changes, this feed is sent down from the temple back to the QT client.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;Also, the QT client receives a PriceFeed from the Temple which contains the price of USD-DOGE, BTC-USD, BBP-DOGE, etc. The midpoint of the market is assessed by the temple based on the actual orderbook data.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;The Matching Engine is running on the Temple, and it is constantly scanning for trades where quantity matches and price is at or better than the ask.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;When the Temple needs to create an atomic transaction, it concatenates the seller with the buyer, combining it into one transaction using NBitcoin.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;The private keys are Not readable by the Temple in production, or in debug mode.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;The AtomicTX then is sent into a proprietary Signing piece of code for the Signing request. The Signer is closed source and is able to decrypt the private key for the atomic tx and place the signature in place and it returns the signed tx to the caller, which broadcasts it to the BBP network.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;Note that the Ingate and Outgate run on the temple.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;Since it is mission critical to allow a user to receive back the colored coin, we also created a BBP extension, called PortfolioBuilder, that can run on your own machine and do 100% of the Outgate transaction.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;This is useful for a scenario where, let us say you have $5,000 of colored coin value and our temple is down but the biblepay network is up and you receive an outgate error.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;We want you to *always* be able to receive your native coin.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;You can launch PortfolioBuilder and do your own outgate in this case.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;u&amp;gt;'''Risks'''&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;First I want to say at BiblePay, we want you to know your QT keys and your QT wallet is the highest priority and always want every key to be secure.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;All of the private keys *&amp;lt;u&amp;gt;'''Other than the Trading Keys'''&amp;lt;/u&amp;gt;*, in your QT wallet are 100% private.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;However, the &amp;quot;TRADING-&amp;quot; keys (the 3 mentioned in the beginning) are being used by the DEX to create atomic transactions.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;Although they are RSA encrypted, there is always a small chance that something can go wrong that is unintended.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;So it is best to treat the DEX in a similar way that you do with other CEXs, trade with limited amounts and do not leave large amounts on the exchange.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;Convert the coins back to native BBP when you can. If you do this the potential damage is always limited to the amount &amp;quot;in play&amp;quot; on the exchange.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;u&amp;gt;'''Future State'''&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;The current exchange fulfills many of the desirable qualities that were originally scoped, however there are always tradeoffs with each approach.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;In the current approach you have:&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;Ability to match atomic trades 24H even when users are offline (plus).&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;Mostly Decentralized (User to user trading, requires one designated temple or temple cluster to be online, the temple API must be working, STORJ must be working).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;However, we may eventually want to improve the exchange making it 100% decentralized through various technological advances.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;For example, maybe the NBitcoin code can be moved into each online client, allowing matching to occur client side as well.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;The tradeoff is the node may need to be online for this to work (at the time the fill occurs).&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;Also we may want to move the orderbook from the sidechain to the client side.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;We may also want to move to a market maker model, where market makers buy-sell colored coins and hold the collateral along with an equal amount of BBP.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;We may want to come up with a scheme to change the WIF format of all trading keys so they cannot be under any circumstance, hacked as regular keys.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;This way we can promote BBP core wallet as having every key, in an equal original status when BBP was released as secure. (Maybe we combine this feature with Quantum resistant keys, since quantum computers are rising in capabilities very quickly).&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;Another improvement is to make Portfolio Builder use separate private keys, that are not intermingled with the exchange.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;(Currently portfolio builder uses the same XRP/XLM keys as the exchange keys at the beginning of this page, primarily because of the high starting fee required to open an XRP account - 10 XRP, hence the plus is having one account for XRP/XLM).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.biblepay.org/index.php?title=Decentralized_Exchange&amp;diff=6961</id>
		<title>Decentralized Exchange</title>
		<link rel="alternate" type="text/html" href="https://wiki.biblepay.org/index.php?title=Decentralized_Exchange&amp;diff=6961"/>
		<updated>2025-04-18T13:53:27Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Introduction'''&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;The Biblepay Decentralized Exchange (DEX) was created with various goals in mind:&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&lt;br /&gt;
* The ability to trade your BBP coins against another currency (such as DOGE), directly with other QT wallet users, without relying on a centralized exchange (CEX).&lt;br /&gt;
* The ability to add other currencies, which are compatible with the base58 wallet, into the exchange.  This may allow other communities to list their coins inside BBP's DEX.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;u&amp;gt;'''Terminology'''&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;'''Native Coin''': The BBP built in currency, or a standard BBP Base58/WIF keypair and its value in the BBP wallet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Colored Coin''': A special coin, with a Base58 address that ends in a 4 digit alphanumeric code that designates value on another network, but stored in the wallet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that Colored coins cannot be sent out to native addresses (therefore preventing colored coins from going to BBP address on CEXs etc) or diluting their value.Colored coins can only be sent to other like colored addresses, using an RPC command.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
One example of a colored address is &amp;quot;COLORED-DOGE&amp;quot;, which ends in dgzz.  Another is colored &amp;quot;COLORED-XLM&amp;quot; ending in lmzz.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Colored coins cannot be sent from unlike colored addresses, XLM cannot be sent to DOGE or vice versa.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You cannot see colored coins in coin-control; their balances can only be queried with RPC commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The function the colored coin provides to BBP is:&lt;br /&gt;
* Convert Value from a foreign network native UTXO to a BBP colored UTXO&lt;br /&gt;
* Seamlessly trade the colored coins in the DEX with other users&lt;br /&gt;
* Convert Colored coin value back to native value&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Coin Control''': From the QT left menu, click Send | Inputs.  This page allows you to pick specific coins that are used in a transaction.'''BBP Native Receive Addresses''': From the QT menu, click Window | Receiving addresses.  You will see a list of BBP receive addresses.&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;'''TRADING-PUBLIC-KEY''': This address is the only BBP native address the DEX will spend from (for security reasons).You must deposit BBP into this address in order to place trades where you Buy foreign currency.'''TRADING-ASSET-DOGE''': Your wallet will automatically mine a colored DOGE address.  This is your colored BBP DOGE address that will hold native doge.'''TRADING-ASSET-XLM''': Your wallet will also mine a colored XLM address.  This is the address that will hold native XLM.'''Portfolio Builder''': A satellite program that allows you to earn staking rewards for holding an equal amount of native BBP + colored foreign (see Extensions).'''Exchange Flags''':Exchange Room | Trading Grid | Flags: The Flag &amp;quot;T&amp;quot; means theirs, &amp;quot;M&amp;quot; means Mine.  This way you can see your orders are M.&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;u&amp;gt;'''Usage'''&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;To demonstrate the usage of the exchange we will go through some examples in using the exchange to buy BBP (while selling DOGE) and selling BBP (to Buy DOGE).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;'''Prerequisites''':&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If we want to sell DOGE and buy BBP we will need to fund our TRADING-PUBLIC-KEY.  In this example, we will send 100,000 BBP from our core wallet to the TRADING-PUBLIC-KEY.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click on Exchange from the left menu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Copy BBP Trading Address to clipboard (that is equivalent to your &amp;quot;TRADING-PUBLIC-KEY&amp;quot; mentioned above).  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Go to Send.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Paste the address in the TO.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Send 100,000 BBP to yourself.  Now the exchange has funds to trade with.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;In this demo we also want to sell some DOGE for BBP.  Therefore we need to receive some Native DOGE into the BBP colored address.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click Exchange.  Copy the Native DOGE address to the clipboard.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Go to your favorite DOGE wallet, and send 10 DOGE to this native address.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wait 2 blocks on the DOGE network, then click the Get button (which means get balance).  Once you see the coins exist in your DOGE native address, now they need to be wrapped, or converted to colored DOGE in order to be tradeable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now click Wrap.  Choose the amount (Lets go with 9.9 to ensure there are no transaction fee errors).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Look for the result, it should say &amp;quot;Successfully Wrapped&amp;quot; etc.  Now you will have .10 Native doge and 9.9 Colored Doge in the &amp;quot;TRADING-ASSET-DOGE&amp;quot; address; and you can see the balances adjust on the top right.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Placing a SELL Trade'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;First let us place a trade to Sell BBP while buying with DOGE.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Populate 10000 into the Quantity box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Populate 0.00011001 into the Price box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click SELL.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This will place an order to sell 2.70 DOGE for 10,000 BBP.  The order will appear in the Sell grid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that if your wallet is locked you will receive an error and will have to unlock the wallet for this tx to be created.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Placing a BUY Trade'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;Next let us place a trade to Buy BBP while selling DOGE.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Populate 10000 into the Quantity box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Populate 0.00010999 into the Price box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click BUY.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This will place an order to buy 2.69 DOGE for 10,000 BBP.  The order will appear in the Buy grid.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;NOTE: You cannot trade with yourself as our atomic tx rejects wash trades with duplicate keys; however you can trade with yourself as long as you use two QT wallets with different key sets.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;Once another buyer enters the market to place an opposing trade with the same quantity and an at or better price than yours, your order will fill atomically.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partial Fills'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If your order is bigger in size than their order, a partial fill will occur as long as the partial fill results in a leftover quantity greater than the room minimum.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As of April 2025, the DOGE-BBP room minimum is .10 DOGE per trade.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;'''Atomic Matching'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The matching engine is constantly scanning for trades in the orderbook, where the quantities match and the price is at or better than the limit price; when this pair is found, an atomic transaction is created with two legs in one transaction: Colored coin going from Buyer to Seller AND Native BBP coin going from Seller to Buyer AND the network minimum transaction fee (.00100) paid in Native BBP all built in the single transaction.  This means that if anything goes wrong with this transaction (not enough funds on either end, tx fee deficiency, network error, chain is out of sync, chainlocks down) etc, then this transaction will FAIL atomically.  This is good, because now the trading board has not changed, and neither buyer or seller is harmed.  However, if the transaction goes through, both buyer and seller are satisfied atomically.  Meaning that both colored balances and both native BBP balances are instantly updated with no possibility of error on either end.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;'''Canceling a Trade'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To cancel a trade, simply highlight the row with the trade you placed (yours have M) and click Cancel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;'''Insufficient Funds - Orders with no backing collateral'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that we only allow orders to enter into the orderbook, if, at the time of the trade, the user has enough collateral (IE colored coin balance and BBP balance are sufficient to place the trade).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However, since we have 24 hour atomic matching while users are offline, it is possible for a user to do an offline spend of a coin that is already in the orderbook.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is not a problem because Atomic trades cannot occur (if coins are spent prior to the atomic tx being created), that part is prevented.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The sanctuary thread constantly looks for trades with no backing collateral.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The sanctuary will cancel these automatically causing them to disappear from the order book.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;'''Converting your Colored DOGE back to NATIVE DOGE'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;To convert your coins back to Native, click Unwrap.  Type in the amount of Native you want to convert back (IE 9 in our example above).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Once this process finishes, you will see the Native DOGE balance increases back to the original amount (IE 9.99~).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Sending DOGE from the biblepay wallet to the DOGE wallet'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now to send DOGE out of your wallet back to your home DOGE wallet, go to the RPC console and type:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
exec senddoge doge_to_address amount&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;u&amp;gt;'''Technical Specs'''&amp;lt;/u&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;We have three types of Sancs, Altar, Sanc, and Temple. The Temple is required to stake 10* the collateral than the Sanc.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;The Temple runs an additional piece of software, called BMS (BiblePay Middleware System) which contains the BBP API. The Temple also runs a decentralized sidechain, which creates blocks on demand. (We are currently at block 21000 on the side chain). Side chain blocks are stored on STORJ. Each temple node syncs the BBP sidechain blocks up the the tip, automatically.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;When exchange trades are placed in QT, the AtomicTrade is serialized and opensource, except for the colored private key (or the BBP private key). The private key is encrypted with RSA, and included in the serialized block hex. The trade is forwarded to a temple, and the temple creates a sidechain BLOCK and stores it in STORJ. Note that the Temple cannot read the private key, because it is encrypted.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;When QT needs a refreshed trading screen, it queries the order book from the Temple. The Temple aggregates OPEN orders from the sidechain objects.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;A trading order book is a collection of AtomicTrades where Status='OPEN' and TradingPair='BBP/DOGE'. Each time the orderbook changes, this feed is sent down from the temple back to the QT client.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;Also, the QT client receives a PriceFeed from the Temple which contains the price of USD-DOGE, BTC-USD, BBP-DOGE, etc. The midpoint of the market is assessed by the temple based on the actual orderbook data.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;The Matching Engine is running on the Temple, and it is constantly scanning for trades where quantity matches and price is at or better than the ask.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;When the Temple needs to create an atomic transaction, it concatenates the seller with the buyer, combining it into one transaction using NBitcoin.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;The private keys are Not readable by the Temple in production, or in debug mode.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;The AtomicTX then is sent into a proprietary Signing piece of code for the Signing request. The Signer is closed source and is able to decrypt the private key for the atomic tx and place the signature in place and it returns the signed tx to the caller, which broadcasts it to the BBP network.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;Note that the Ingate and Outgate run on the temple.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;Since it is mission critical to allow a user to receive back the colored coin, we also created a BBP extension, called PortfolioBuilder, that can run on your own machine and do 100% of the Outgate transaction.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;This is useful for a scenario where, let us say you have $5,000 of colored coin value and our temple is down but the biblepay network is up and you receive an outgate error.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;We want you to *always* be able to receive your native coin.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;You can launch PortfolioBuilder and do your own outgate in this case.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;u&amp;gt;'''Risks'''&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;First I want to say at BiblePay, we want you to know your QT keys and your QT wallet is the highest priority and always want every key to be secure.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;All of the private keys *&amp;lt;u&amp;gt;'''Other than the Trading Keys'''&amp;lt;/u&amp;gt;*, in your QT wallet are 100% private.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;However, the &amp;quot;TRADING-&amp;quot; keys (the 3 mentioned in the beginning) are being used by the DEX to create atomic transactions.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;Although they are RSA encrypted, there is always a small chance that something can go wrong that is unintended.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;So it is best to treat the DEX in a similar way that you do with other CEXs, trade with limited amounts and do not leave large amounts on the exchange.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;Convert the coins back to native BBP when you can. If you do this the potential damage is always limited to the amount &amp;quot;in play&amp;quot; on the exchange.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;u&amp;gt;'''Future State'''&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;The current exchange fulfills many of the desirable qualities that were originally scoped, however there are always tradeoffs with each approach.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;In the current approach you have:&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;Ability to match atomic trades 24H even when users are offline (plus).&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;Mostly Decentralized (User to user trading, requires one designated temple or temple cluster to be online, the temple API must be working, STORJ must be working).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;However, we may eventually want to improve the exchange making it 100% decentralized through various technological advances.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;For example, maybe the NBitcoin code can be moved into each online client, allowing matching to occur client side as well.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;The tradeoff is the node may need to be online for this to work (at the time the fill occurs).&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;Also we may want to move the orderbook from the sidechain to the client side.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;We may also want to move to a market maker model, where market makers buy-sell colored coins and hold the collateral along with an equal amount of BBP.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;We may want to come up with a scheme to change the WIF format of all trading keys so they cannot be under any circumstance, hacked as regular keys.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;This way we can promote BBP core wallet as having every key, in an equal original status when BBP was released as secure. (Maybe we combine this feature with Quantum resistant keys, since quantum computers are rising in capabilities very quickly).&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;Another improvement is to make Portfolio Builder use separate private keys, that are not intermingled with the exchange.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;(Currently portfolio builder uses the same XRP/XLM keys as the exchange keys at the beginning of this page, primarily because of the high starting fee required to open an XRP account - 10 XRP, hence the plus is having one account for XRP/XLM).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.biblepay.org/index.php?title=Decentralized_Exchange&amp;diff=6960</id>
		<title>Decentralized Exchange</title>
		<link rel="alternate" type="text/html" href="https://wiki.biblepay.org/index.php?title=Decentralized_Exchange&amp;diff=6960"/>
		<updated>2025-04-18T13:53:11Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Introduction'''&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;The Biblepay Decentralized Exchange (DEX) was created with various goals in mind:&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&lt;br /&gt;
* The ability to trade your BBP coins against another currency (such as DOGE), directly with other QT wallet users, without relying on a centralized exchange (CEX).&lt;br /&gt;
* The ability to add other currencies, which are compatible with the base58 wallet, into the exchange.  This may allow other communities to list their coins inside BBP's DEX.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;u&amp;gt;'''Terminology'''&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;'''Native Coin''': The BBP built in currency, or a standard BBP Base58/WIF keypair and its value in the BBP wallet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Colored Coin''': A special coin, with a Base58 address that ends in a 4 digit alphanumeric code that designates value on another network, but stored in the wallet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that Colored coins cannot be sent out to native addresses (therefore preventing colored coins from going to BBP address on CEXs etc) or diluting their value.Colored coins can only be sent to other like colored addresses, using an RPC command.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
One example of a colored address is &amp;quot;COLORED-DOGE&amp;quot;, which ends in dgzz.  Another is colored &amp;quot;COLORED-XLM&amp;quot; ending in lmzz.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Colored coins cannot be sent from unlike colored addresses, XLM cannot be sent to DOGE or vice versa.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You cannot see colored coins in coin-control; their balances can only be queried with RPC commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The function the colored coin provides to BBP is:&lt;br /&gt;
* &amp;lt;span class=&amp;quot;mw_htmlentity&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Convert Value from a foreign network native UTXO to a BBP colored UTXO&lt;br /&gt;
* &amp;lt;span class=&amp;quot;mw_htmlentity&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Seamlessly trade the colored coins in the DEX with other users&lt;br /&gt;
* &amp;lt;span class=&amp;quot;mw_htmlentity&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Convert Colored coin value back to native value&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Coin Control''': From the QT left menu, click Send | Inputs.  This page allows you to pick specific coins that are used in a transaction.'''BBP Native Receive Addresses''': From the QT menu, click Window | Receiving addresses.  You will see a list of BBP receive addresses.&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;'''TRADING-PUBLIC-KEY''': This address is the only BBP native address the DEX will spend from (for security reasons).You must deposit BBP into this address in order to place trades where you Buy foreign currency.'''TRADING-ASSET-DOGE''': Your wallet will automatically mine a colored DOGE address.  This is your colored BBP DOGE address that will hold native doge.'''TRADING-ASSET-XLM''': Your wallet will also mine a colored XLM address.  This is the address that will hold native XLM.'''Portfolio Builder''': A satellite program that allows you to earn staking rewards for holding an equal amount of native BBP + colored foreign (see Extensions).&amp;lt;p&amp;gt;'''Exchange Flags''':&amp;lt;span class=&amp;quot;mw_htmlentity&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Exchange Room | Trading Grid | Flags: The Flag &amp;quot;T&amp;quot; means theirs, &amp;quot;M&amp;quot; means Mine.  This way you can see your orders are M.&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;u&amp;gt;'''Usage'''&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;To demonstrate the usage of the exchange we will go through some examples in using the exchange to buy BBP (while selling DOGE) and selling BBP (to Buy DOGE).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;'''Prerequisites''':&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If we want to sell DOGE and buy BBP we will need to fund our TRADING-PUBLIC-KEY.  In this example, we will send 100,000 BBP from our core wallet to the TRADING-PUBLIC-KEY.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click on Exchange from the left menu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Copy BBP Trading Address to clipboard (that is equivalent to your &amp;quot;TRADING-PUBLIC-KEY&amp;quot; mentioned above).  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Go to Send.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Paste the address in the TO.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Send 100,000 BBP to yourself.  Now the exchange has funds to trade with.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;In this demo we also want to sell some DOGE for BBP.  Therefore we need to receive some Native DOGE into the BBP colored address.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click Exchange.  Copy the Native DOGE address to the clipboard.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Go to your favorite DOGE wallet, and send 10 DOGE to this native address.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wait 2 blocks on the DOGE network, then click the Get button (which means get balance).  Once you see the coins exist in your DOGE native address, now they need to be wrapped, or converted to colored DOGE in order to be tradeable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now click Wrap.  Choose the amount (Lets go with 9.9 to ensure there are no transaction fee errors).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Look for the result, it should say &amp;quot;Successfully Wrapped&amp;quot; etc.  Now you will have .10 Native doge and 9.9 Colored Doge in the &amp;quot;TRADING-ASSET-DOGE&amp;quot; address; and you can see the balances adjust on the top right.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Placing a SELL Trade'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;First let us place a trade to Sell BBP while buying with DOGE.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Populate 10000 into the Quantity box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Populate 0.00011001 into the Price box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click SELL.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This will place an order to sell 2.70 DOGE for 10,000 BBP.  The order will appear in the Sell grid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that if your wallet is locked you will receive an error and will have to unlock the wallet for this tx to be created.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Placing a BUY Trade'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;Next let us place a trade to Buy BBP while selling DOGE.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Populate 10000 into the Quantity box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Populate 0.00010999 into the Price box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click BUY.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This will place an order to buy 2.69 DOGE for 10,000 BBP.  The order will appear in the Buy grid.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;NOTE: You cannot trade with yourself as our atomic tx rejects wash trades with duplicate keys; however you can trade with yourself as long as you use two QT wallets with different key sets.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;Once another buyer enters the market to place an opposing trade with the same quantity and an at or better price than yours, your order will fill atomically.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partial Fills'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If your order is bigger in size than their order, a partial fill will occur as long as the partial fill results in a leftover quantity greater than the room minimum.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As of April 2025, the DOGE-BBP room minimum is .10 DOGE per trade.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;'''Atomic Matching'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The matching engine is constantly scanning for trades in the orderbook, where the quantities match and the price is at or better than the limit price; when this pair is found, an atomic transaction is created with two legs in one transaction: Colored coin going from Buyer to Seller AND Native BBP coin going from Seller to Buyer AND the network minimum transaction fee (.00100) paid in Native BBP all built in the single transaction.  This means that if anything goes wrong with this transaction (not enough funds on either end, tx fee deficiency, network error, chain is out of sync, chainlocks down) etc, then this transaction will FAIL atomically.  This is good, because now the trading board has not changed, and neither buyer or seller is harmed.  However, if the transaction goes through, both buyer and seller are satisfied atomically.  Meaning that both colored balances and both native BBP balances are instantly updated with no possibility of error on either end.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;'''Canceling a Trade'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To cancel a trade, simply highlight the row with the trade you placed (yours have M) and click Cancel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;'''Insufficient Funds - Orders with no backing collateral'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that we only allow orders to enter into the orderbook, if, at the time of the trade, the user has enough collateral (IE colored coin balance and BBP balance are sufficient to place the trade).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However, since we have 24 hour atomic matching while users are offline, it is possible for a user to do an offline spend of a coin that is already in the orderbook.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is not a problem because Atomic trades cannot occur (if coins are spent prior to the atomic tx being created), that part is prevented.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The sanctuary thread constantly looks for trades with no backing collateral.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The sanctuary will cancel these automatically causing them to disappear from the order book.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;'''Converting your Colored DOGE back to NATIVE DOGE'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;To convert your coins back to Native, click Unwrap.  Type in the amount of Native you want to convert back (IE 9 in our example above).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Once this process finishes, you will see the Native DOGE balance increases back to the original amount (IE 9.99~).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Sending DOGE from the biblepay wallet to the DOGE wallet'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now to send DOGE out of your wallet back to your home DOGE wallet, go to the RPC console and type:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
exec senddoge doge_to_address amount&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;u&amp;gt;'''Technical Specs'''&amp;lt;/u&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;We have three types of Sancs, Altar, Sanc, and Temple. The Temple is required to stake 10* the collateral than the Sanc.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;The Temple runs an additional piece of software, called BMS (BiblePay Middleware System) which contains the BBP API. The Temple also runs a decentralized sidechain, which creates blocks on demand. (We are currently at block 21000 on the side chain). Side chain blocks are stored on STORJ. Each temple node syncs the BBP sidechain blocks up the the tip, automatically.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;When exchange trades are placed in QT, the AtomicTrade is serialized and opensource, except for the colored private key (or the BBP private key). The private key is encrypted with RSA, and included in the serialized block hex. The trade is forwarded to a temple, and the temple creates a sidechain BLOCK and stores it in STORJ. Note that the Temple cannot read the private key, because it is encrypted.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;When QT needs a refreshed trading screen, it queries the order book from the Temple. The Temple aggregates OPEN orders from the sidechain objects.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;A trading order book is a collection of AtomicTrades where Status='OPEN' and TradingPair='BBP/DOGE'. Each time the orderbook changes, this feed is sent down from the temple back to the QT client.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;Also, the QT client receives a PriceFeed from the Temple which contains the price of USD-DOGE, BTC-USD, BBP-DOGE, etc. The midpoint of the market is assessed by the temple based on the actual orderbook data.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;The Matching Engine is running on the Temple, and it is constantly scanning for trades where quantity matches and price is at or better than the ask.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;When the Temple needs to create an atomic transaction, it concatenates the seller with the buyer, combining it into one transaction using NBitcoin.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;The private keys are Not readable by the Temple in production, or in debug mode.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;The AtomicTX then is sent into a proprietary Signing piece of code for the Signing request. The Signer is closed source and is able to decrypt the private key for the atomic tx and place the signature in place and it returns the signed tx to the caller, which broadcasts it to the BBP network.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;Note that the Ingate and Outgate run on the temple.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;Since it is mission critical to allow a user to receive back the colored coin, we also created a BBP extension, called PortfolioBuilder, that can run on your own machine and do 100% of the Outgate transaction.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;This is useful for a scenario where, let us say you have $5,000 of colored coin value and our temple is down but the biblepay network is up and you receive an outgate error.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;We want you to *always* be able to receive your native coin.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;You can launch PortfolioBuilder and do your own outgate in this case.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;u&amp;gt;'''Risks'''&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;First I want to say at BiblePay, we want you to know your QT keys and your QT wallet is the highest priority and always want every key to be secure.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;All of the private keys *&amp;lt;u&amp;gt;'''Other than the Trading Keys'''&amp;lt;/u&amp;gt;*, in your QT wallet are 100% private.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;However, the &amp;quot;TRADING-&amp;quot; keys (the 3 mentioned in the beginning) are being used by the DEX to create atomic transactions.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;Although they are RSA encrypted, there is always a small chance that something can go wrong that is unintended.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;So it is best to treat the DEX in a similar way that you do with other CEXs, trade with limited amounts and do not leave large amounts on the exchange.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;Convert the coins back to native BBP when you can. If you do this the potential damage is always limited to the amount &amp;quot;in play&amp;quot; on the exchange.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;&amp;lt;u&amp;gt;'''Future State'''&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;The current exchange fulfills many of the desirable qualities that were originally scoped, however there are always tradeoffs with each approach.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;In the current approach you have:&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;Ability to match atomic trades 24H even when users are offline (plus).&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;Mostly Decentralized (User to user trading, requires one designated temple or temple cluster to be online, the temple API must be working, STORJ must be working).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;However, we may eventually want to improve the exchange making it 100% decentralized through various technological advances.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;For example, maybe the NBitcoin code can be moved into each online client, allowing matching to occur client side as well.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;The tradeoff is the node may need to be online for this to work (at the time the fill occurs).&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;Also we may want to move the orderbook from the sidechain to the client side.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;We may also want to move to a market maker model, where market makers buy-sell colored coins and hold the collateral along with an equal amount of BBP.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;We may want to come up with a scheme to change the WIF format of all trading keys so they cannot be under any circumstance, hacked as regular keys.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;This way we can promote BBP core wallet as having every key, in an equal original status when BBP was released as secure.&amp;lt;span class=&amp;quot;mw_htmlentity&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; (Maybe we combine this feature with Quantum resistant keys, since quantum computers are rising in capabilities very quickly).&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;Another improvement is to make Portfolio Builder use separate private keys, that are not intermingled with the exchange.&amp;lt;brclass=&amp;quot;mw_emptyline_first&amp;quot; /&amp;gt;&amp;lt;brclass=&amp;quot;mw_emptyline&amp;quot; /&amp;gt;(Currently portfolio builder uses the same XRP/XLM keys as the exchange keys at the beginning of this page, primarily because of the high starting fee required to open an XRP account - 10 XRP, hence the plus is having one account for XRP/XLM).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;brdata-mce-bogus=&amp;quot;1&amp;quot; /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.biblepay.org/index.php?title=Decentralized_Exchange&amp;diff=6959</id>
		<title>Decentralized Exchange</title>
		<link rel="alternate" type="text/html" href="https://wiki.biblepay.org/index.php?title=Decentralized_Exchange&amp;diff=6959"/>
		<updated>2025-04-18T13:52:45Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Introduction'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Biblepay Decentralized Exchange (DEX) was created with various goals in mind:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* The ability to trade your BBP coins against another currency (such as DOGE), directly with other QT wallet users, without relying on a centralized exchange (CEX).&lt;br /&gt;
* The ability to add other currencies, which are compatible with the base58 wallet, into the exchange.  This may allow other communities to list their coins inside BBP's DEX.&lt;br /&gt;
&amp;lt;u&amp;gt;'''Terminology'''&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Native Coin''': The BBP built in currency, or a standard BBP Base58/WIF keypair and its value in the BBP wallet.'''Colored Coin''': A special coin, with a Base58 address that ends in a 4 digit alphanumeric code that designates value on another network, but stored in the wallet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that Colored coins cannot be sent out to native addresses (therefore preventing colored coins from going to BBP address on CEXs etc) or diluting their value.Colored coins can only be sent to other like colored addresses, using an RPC command.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
One example of a colored address is &amp;quot;COLORED-DOGE&amp;quot;, which ends in dgzz.  Another is colored &amp;quot;COLORED-XLM&amp;quot; ending in lmzz.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Colored coins cannot be sent from unlike colored addresses, XLM cannot be sent to DOGE or vice versa.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You cannot see colored coins in coin-control; their balances can only be queried with RPC commands.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The function the colored coin provides to BBP is:&lt;br /&gt;
* Convert Value from a foreign network native UTXO to a BBP colored UTXO&lt;br /&gt;
* Seamlessly trade the colored coins in the DEX with other users&lt;br /&gt;
* Convert Colored coin value back to native value&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Coin Control''': From the QT left menu, click Send | Inputs.  This page allows you to pick specific coins that are used in a transaction.'''BBP Native Receive Addresses''': From the QT menu, click Window | Receiving addresses.  You will see a list of BBP receive addresses.'''TRADING-PUBLIC-KEY''': This address is the only BBP native address the DEX will spend from (for security reasons).You must deposit BBP into this address in order to place trades where you Buy foreign currency.'''TRADING-ASSET-DOGE''': Your wallet will automatically mine a colored DOGE address.  This is your colored BBP DOGE address that will hold native doge.'''TRADING-ASSET-XLM''': Your wallet will also mine a colored XLM address.  This is the address that will hold native XLM.'''Portfolio Builder''': A satellite program that allows you to earn staking rewards for holding an equal amount of native BBP + colored foreign (see Extensions).&amp;lt;p&amp;gt;'''Exchange Flags''':Exchange Room | Trading Grid | Flags: The Flag &amp;quot;T&amp;quot; means theirs, &amp;quot;M&amp;quot; means Mine.  This way you can see your orders are M.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''Usage'''&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To demonstrate the usage of the exchange we will go through some examples in using the exchange to buy BBP (while selling DOGE) and selling BBP (to Buy DOGE).&lt;br /&gt;
&lt;br /&gt;
'''Prerequisites''':If we want to sell DOGE and buy BBP we will need to fund our TRADING-PUBLIC-KEY.  In this example, we will send 100,000 BBP from our core wallet to the TRADING-PUBLIC-KEY.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click on Exchange from the left menu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Copy BBP Trading Address to clipboard (that is equivalent to your &amp;quot;TRADING-PUBLIC-KEY&amp;quot; mentioned above).  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Go to Send.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Paste the address in the TO.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Send 100,000 BBP to yourself.  Now the exchange has funds to trade with.&lt;br /&gt;
&lt;br /&gt;
In this demo we also want to sell some DOGE for BBP.  Therefore we need to receive some Native DOGE into the BBP colored address.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click Exchange.  Copy the Native DOGE address to the clipboard.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Go to your favorite DOGE wallet, and send 10 DOGE to this native address.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wait 2 blocks on the DOGE network, then click the Get button (which means get balance).  Once you see the coins exist in your DOGE native address, now they need to be wrapped, or converted to colored DOGE in order to be tradeable.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now click Wrap.  Choose the amount (Lets go with 9.9 to ensure there are no transaction fee errors).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Look for the result, it should say &amp;quot;Successfully Wrapped&amp;quot; etc.  Now you will have .10 Native doge and 9.9 Colored Doge in the &amp;quot;TRADING-ASSET-DOGE&amp;quot; address; and you can see the balances adjust on the top right.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Placing a SELL Trade'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
First let us place a trade to Sell BBP while buying with DOGE.Populate 10000 into the Quantity box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Populate 0.00011001 into the Price box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click SELL.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This will place an order to sell 2.70 DOGE for 10,000 BBP.  The order will appear in the Sell grid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that if your wallet is locked you will receive an error and will have to unlock the wallet for this tx to be created.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Placing a BUY Trade'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next let us place a trade to Buy BBP while selling DOGE.Populate 10000 into the Quantity box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Populate 0.00010999 into the Price box.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click BUY.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This will place an order to buy 2.69 DOGE for 10,000 BBP.  The order will appear in the Buy grid.&lt;br /&gt;
&lt;br /&gt;
NOTE: You cannot trade with yourself as our atomic tx rejects wash trades with duplicate keys; however you can trade with yourself as long as you use two QT wallets with different key sets.&lt;br /&gt;
&lt;br /&gt;
Once another buyer enters the market to place an opposing trade with the same quantity and an at or better price than yours, your order will fill atomically.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Partial Fills'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If your order is bigger in size than their order, a partial fill will occur as long as the partial fill results in a leftover quantity greater than the room minimum.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As of April 2025, the DOGE-BBP room minimum is .10 DOGE per trade.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Atomic Matching'''The matching engine is constantly scanning for trades in the orderbook, where the quantities match and the price is at or better than the limit price; when this pair is found, an atomic transaction is created with two legs in one transaction: Colored coin going from Buyer to Seller AND Native BBP coin going from Seller to Buyer AND the network minimum transaction fee (.00100) paid in Native BBP all built in the single transaction.  This means that if anything goes wrong with this transaction (not enough funds on either end, tx fee deficiency, network error, chain is out of sync, chainlocks down) etc, then this transaction will FAIL atomically.  This is good, because now the trading board has not changed, and neither buyer or seller is harmed.  However, if the transaction goes through, both buyer and seller are satisfied atomically.  Meaning that both colored balances and both native BBP balances are instantly updated with no possibility of error on either end.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Canceling a Trade'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To cancel a trade, simply highlight the row with the trade you placed (yours have M) and click Cancel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Insufficient Funds - Orders with no backing collateral'''''''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that we only allow orders to enter into the orderbook, if, at the time of the trade, the user has enough collateral (IE colored coin balance and BBP balance are sufficient to place the trade).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However, since we have 24 hour atomic matching while users are offline, it is possible for a user to do an offline spend of a coin that is already in the orderbook.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is not a problem because Atomic trades cannot occur (if coins are spent prior to the atomic tx being created), that part is prevented.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The sanctuary thread constantly looks for trades with no backing collateral.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The sanctuary will cancel these automatically causing them to disappear from the order book.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Converting your Colored DOGE back to NATIVE DOGE'''&lt;br /&gt;
&lt;br /&gt;
To convert your coins back to Native, click Unwrap.  Type in the amount of Native you want to convert back (IE 9 in our example above).Once this process finishes, you will see the Native DOGE balance increases back to the original amount (IE 9.99~).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Sending DOGE from the biblepay wallet to the DOGE wallet'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now to send DOGE out of your wallet back to your home DOGE wallet, go to the RPC console and type:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
exec senddoge doge_to_address amount&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''Technical Specs'''&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We have three types of Sancs, Altar, Sanc, and Temple. The Temple is required to stake 10* the collateral than the Sanc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Temple runs an additional piece of software, called BMS (BiblePay Middleware System) which contains the BBP API. The Temple also runs a decentralized sidechain, which creates blocks on demand. (We are currently at block 21000 on the side chain). Side chain blocks are stored on STORJ. Each temple node syncs the BBP sidechain blocks up the the tip, automatically.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When exchange trades are placed in QT, the AtomicTrade is serialized and opensource, except for the colored private key (or the BBP private key). The private key is encrypted with RSA, and included in the serialized block hex. The trade is forwarded to a temple, and the temple creates a sidechain BLOCK and stores it in STORJ. Note that the Temple cannot read the private key, because it is encrypted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When QT needs a refreshed trading screen, it queries the order book from the Temple. The Temple aggregates OPEN orders from the sidechain objects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A trading order book is a collection of AtomicTrades where Status='OPEN' and TradingPair='BBP/DOGE'. Each time the orderbook changes, this feed is sent down from the temple back to the QT client.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Also, the QT client receives a PriceFeed from the Temple which contains the price of USD-DOGE, BTC-USD, BBP-DOGE, etc. The midpoint of the market is assessed by the temple based on the actual orderbook data.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Matching Engine is running on the Temple, and it is constantly scanning for trades where quantity matches and price is at or better than the ask.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When the Temple needs to create an atomic transaction, it concatenates the seller with the buyer, combining it into one transaction using NBitcoin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The private keys are Not readable by the Temple in production, or in debug mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The AtomicTX then is sent into a proprietary Signing piece of code for the Signing request. The Signer is closed source and is able to decrypt the private key for the atomic tx and place the signature in place and it returns the signed tx to the caller, which broadcasts it to the BBP network.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the Ingate and Outgate run on the temple.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Since it is mission critical to allow a user to receive back the colored coin, we also created a BBP extension, called PortfolioBuilder, that can run on your own machine and do 100% of the Outgate transaction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is useful for a scenario where, let us say you have $5,000 of colored coin value and our temple is down but the biblepay network is up and you receive an outgate error.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We want you to *always* be able to receive your native coin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can launch PortfolioBuilder and do your own outgate in this case.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''Risks'''&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
First I want to say at BiblePay, we want you to know your QT keys and your QT wallet is the highest priority and always want every key to be secure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All of the private keys *&amp;lt;u&amp;gt;'''Other than the Trading Keys'''&amp;lt;/u&amp;gt;*, in your QT wallet are 100% private.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However, the &amp;quot;TRADING-&amp;quot; keys (the 3 mentioned in the beginning) are being used by the DEX to create atomic transactions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Although they are RSA encrypted, there is always a small chance that something can go wrong that is unintended.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So it is best to treat the DEX in a similar way that you do with other CEXs, trade with limited amounts and do not leave large amounts on the exchange.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Convert the coins back to native BBP when you can. If you do this the potential damage is always limited to the amount &amp;quot;in play&amp;quot; on the exchange.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;'''Future State'''&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The current exchange fulfills many of the desirable qualities that were originally scoped, however there are always tradeoffs with each approach.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the current approach you have:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ability to match atomic trades 24H even when users are offline (plus).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mostly Decentralized (User to user trading, requires one designated temple or temple cluster to be online, the temple API must be working, STORJ must be working).&lt;br /&gt;
However, we may eventually want to improve the exchange making it 100% decentralized through various technological advances.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For example, maybe the NBitcoin code can be moved into each online client, allowing matching to occur client side as well.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The tradeoff is the node may need to be online for this to work (at the time the fill occurs).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Also we may want to move the orderbook from the sidechain to the client side.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We may also want to move to a market maker model, where market makers buy-sell colored coins and hold the collateral along with an equal amount of BBP.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We may want to come up with a scheme to change the WIF format of all trading keys so they cannot be under any circumstance, hacked as regular keys.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This way we can promote BBP core wallet as having every key, in an equal original status when BBP was released as secure. (Maybe we combine this feature with Quantum resistant keys, since quantum computers are rising in capabilities very quickly).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Another improvement is to make Portfolio Builder use separate private keys, that are not intermingled with the exchange.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(Currently portfolio builder uses the same XRP/XLM keys as the exchange keys at the beginning of this page, primarily because of the high starting fee required to open an XRP account - 10 XRP, hence the plus is having one account for XRP/XLM).&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.biblepay.org/index.php?title=Decentralized_Exchange&amp;diff=6958</id>
		<title>Decentralized Exchange</title>
		<link rel="alternate" type="text/html" href="https://wiki.biblepay.org/index.php?title=Decentralized_Exchange&amp;diff=6958"/>
		<updated>2025-04-18T13:16:00Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Introduction'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Biblepay Decentralized Exchange (DEX) was created with various goals in mind:  &lt;br /&gt;
&lt;br /&gt;
The ability to trade your BBP coins against another currency (such as DOGE), directly with other QT wallet users, without relying on a centralized exchange (CEX).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The ability to add other currencies, which are compatible with the base58 wallet, into the exchange.  This may allow other communities to list their coins inside BBP's DEX.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Terminology&lt;br /&gt;
&lt;br /&gt;
Native Coin: The BBP built in currency, or a standard BBP Base58/WIF keypair and its value in the BBP wallet.&lt;br /&gt;
Colored Coin: A special coin, with a Base58 address that ends in a 4 digit alphanumeric code that designates value on another network, but stored in the wallet.&lt;br /&gt;
Note that Colored coins cannot be sent out to native addresses (therefore preventing colored coins from going to BBP address on CEXs etc) or diluting their value.&lt;br /&gt;
Colored coins can only be sent to other like colored addresses, using an RPC command.&lt;br /&gt;
One example of a colored address is &amp;quot;COLORED-DOGE&amp;quot;, which ends in dgzz.  Another is colored &amp;quot;COLORED-XLM&amp;quot; ending in lmzz.&lt;br /&gt;
Colored coins cannot be sent from unlike colored addresses, XLM cannot be sent to DOGE or vice versa.&lt;br /&gt;
You cannot see colored coins in coin-control; their balances can only be queried with RPC commands.&lt;br /&gt;
The function the colored coin provides to BBP is:&lt;br /&gt;
1) Convert Value from a foreign network native UTXO to a BBP colored UTXO&lt;br /&gt;
2) Seamlessly trade the colored coins in the DEX with other users&lt;br /&gt;
3) Convert Colored coin value back to native value&lt;br /&gt;
Coin Control: From the QT left menu, click Send | Inputs.  This page allows you to pick specific coins that are used in a transaction.&lt;br /&gt;
BBP Native Receive Addresses: From the QT menu, click Window | Receiving addresses.  You will see a list of BBP receive addresses.&lt;br /&gt;
TRADING-PUBLIC-KEY: This address is the only BBP native address the DEX will spend from (for security reasons).&lt;br /&gt;
You must deposit BBP into this address in order to place trades where you Buy foreign currency.&lt;br /&gt;
TRADING-ASSET-DOGE: Your wallet will automatically mine a colored DOGE address.  This is your colored BBP DOGE address that will hold native doge.&lt;br /&gt;
TRADING-ASSET-XLM: Your wallet will also mine a colored XLM address.  This is the address that will hold native XLM.&lt;br /&gt;
Portfolio Builder: A satellite program that allows you to earn staking rewards for holding an equal amount of native BBP + colored foreign (see Extensions).&lt;br /&gt;
Exchange Room | Trading Grid | Flags: The Flag &amp;quot;T&amp;quot; means theirs, &amp;quot;M&amp;quot; means Mine.  This way you can see your orders are M.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Usage&lt;br /&gt;
&lt;br /&gt;
To demonstrate the usage of the exchange we will go through some examples in using the exchange to buy BBP (while selling DOGE) and selling BBP (to Buy DOGE).&lt;br /&gt;
&lt;br /&gt;
Prerequisites:&lt;br /&gt;
If we want to sell DOGE and buy BBP we will need to fund our TRADING-PUBLIC-KEY.  In this example, we will send 100,000 BBP from our core wallet to the TRADING-PUBLIC-KEY.&lt;br /&gt;
Click on Exchange from the left menu.&lt;br /&gt;
Copy BBP Trading Address to clipboard (that is equivalent to your &amp;quot;TRADING-PUBLIC-KEY&amp;quot; mentioned above).  &lt;br /&gt;
Go to Send.&lt;br /&gt;
Paste the address in the TO.&lt;br /&gt;
Send 100,000 BBP to yourself.  Now the exchange has funds to trade with.&lt;br /&gt;
&lt;br /&gt;
In this demo we also want to sell some DOGE for BBP.  Therefore we need to receive some Native DOGE into the BBP colored address.&lt;br /&gt;
Click Exchange.  Copy the Native DOGE address to the clipboard.&lt;br /&gt;
Go to your favorite DOGE wallet, and send 10 DOGE to this native address.&lt;br /&gt;
Wait 2 blocks on the DOGE network, then click the Get button (which means get balance).  Once you see the coins exist in your DOGE native address, now they need to be wrapped, or converted to colored DOGE in order to be tradeable.&lt;br /&gt;
Now click Wrap.  Choose the amount (Lets go with 9.9 to ensure there are no transaction fee errors).&lt;br /&gt;
Look for the result, it should say &amp;quot;Successfully Wrapped&amp;quot; etc.  Now you will have .10 Native doge and 9.9 Colored Doge in the &amp;quot;TRADING-ASSET-DOGE&amp;quot; address; and you can see the balances adjust on the top right.&lt;br /&gt;
&lt;br /&gt;
First let us place a trade to Sell BBP while buying with DOGE.&lt;br /&gt;
Populate 10000 into the Quantity box.&lt;br /&gt;
Populate 0.00011001 into the Price box.&lt;br /&gt;
Click SELL.&lt;br /&gt;
This will place an order to sell 2.70 DOGE for 10,000 BBP.  The order will appear in the Sell grid.&lt;br /&gt;
Note that if your wallet is locked you will receive an error and will have to unlock the wallet for this tx to be created.&lt;br /&gt;
&lt;br /&gt;
Next let us place a trade to Buy BBP while selling DOGE.&lt;br /&gt;
Populate 10000 into the Quantity box.&lt;br /&gt;
Populate 0.00010999 into the Price box.&lt;br /&gt;
Click BUY.&lt;br /&gt;
This will place an order to buy 2.69 DOGE for 10,000 BBP.  The order will appear in the Buy grid.&lt;br /&gt;
&lt;br /&gt;
NOTE: You cannot trade with yourself as our atomic tx rejects wash trades with duplicate keys; however you can trade with yourself as long as you use two QT wallets with different key sets.&lt;br /&gt;
&lt;br /&gt;
Once another buyer enters the market to place an opposing trade with the same quantity and an at or better price than yours, your order will fill atomically.&lt;br /&gt;
Partial Fills&lt;br /&gt;
If your order is bigger in size than their order, a partial fill will occur as long as the partial fill results in a leftover quantity greater than the room minimum.&lt;br /&gt;
As of April 2025, the DOGE-BBP room minimum is .10 DOGE per trade.&lt;br /&gt;
&lt;br /&gt;
Atomic Matching&lt;br /&gt;
The matching engine is constantly scanning for trades in the orderbook, where the quantities match and the price is at or better than the limit price; when this pair is found, an atomic transaction is created with two legs in one transaction: Colored coin going from Buyer to Seller AND Native BBP coin going from Seller to Buyer AND the network minimum transaction fee (.00100) paid in Native BBP all built in the single transaction.  This means that if anything goes wrong with this transaction (not enough funds on either end, tx fee deficiency, network error, chain is out of sync, chainlocks down) etc, then this transaction will FAIL atomically.  This is good, because now the trading board has not changed, and neither buyer or seller is harmed.  However, if the transaction goes through, both buyer and seller are satisfied atomically.  Meaning that both colored balances and both native BBP balances are instantly updated with no possibility of error on either end.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Canceling a Trade&lt;br /&gt;
To cancel a trade, simply highlight the row with the trade you placed (yours have M) and click Cancel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Insufficient Funds - Orders with no backing collateral&lt;br /&gt;
Note that we only allow orders to enter into the orderbook, if, at the time of the trade, the user has enough collateral (IE colored coin balance and BBP balance are sufficient to place the trade).&lt;br /&gt;
However, since we have 24 hour atomic matching while users are offline, it is possible for a user to do an offline spend of a coin that is already in the orderbook.&lt;br /&gt;
First this is not a problem because Atomic trades cannot occur (if coins are spent prior to the atomic tx being created), that part is prevented.&lt;br /&gt;
The sanctuary thread constantly looks for trades with no backing collateral.&lt;br /&gt;
The sanctuary will cancel these automatically causing them to disappear from the order book.&lt;br /&gt;
&lt;br /&gt;
Converting your Colored DOGE back to NATIVE DOGE&lt;br /&gt;
&lt;br /&gt;
To convert your coins back to Native, click Unwrap.  Type in the amount of Native you want to convert back (IE 9 in our example above).&lt;br /&gt;
Once this process finishes, you will see the Native DOGE balance increases back to the original amount (IE 9.99~).&lt;br /&gt;
Now to send DOGE out of your wallet back to your home DOGE wallet, go to the RPC console and type:&lt;br /&gt;
exec senddoge doge_to_address amount&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Technical Specs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We have three types of Sancs, Altar, Sanc, and Temple. The Temple is required to stake 10* the collateral than the Sanc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Temple runs an additional piece of software, called BMS (BiblePay Middleware System) which contains the BBP API. The Temple also runs a decentralized sidechain, which creates blocks on demand. (We are currently at block 21000 on the side chain). Side chain blocks are stored on STORJ. Each temple node syncs the BBP sidechain blocks up the the tip, automatically.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When exchange trades are placed in QT, the AtomicTrade is serialized and opensource, except for the colored private key (or the BBP private key). The private key is encrypted with RSA, and included in the serialized block hex. The trade is forwarded to a temple, and the temple creates a sidechain BLOCK and stores it in STORJ. Note that the Temple cannot read the private key, because it is encrypted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When QT needs a refreshed trading screen, it queries the order book from the Temple. The Temple aggregates that OPEN orders from the sidechain objects.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A trading order book is a collection of AtomicTrades where Status='OPEN' and TradingPair='BBP/DOGE'. Each time the orderbook changes, this feed is sent down from the temple back to the QT client.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Also, the QT client receives a PriceFeed from the Temple which contains the price of USD-DOGE, BTC-USD, BBP-DOGE, etc. The midpoint of the market is assessed by the temple based on the actual orderbook data.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Matching Engine is running on the Temple, and it is constantly scanning for trades where quantity matches and price is at or better than the ask.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When the Temple needs to create an atomic transaction, it concatenates the seller with the buyer, combining it into one transaction using NBitcoin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The private keys are Not readable by the Temple in production, or in debug mode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The AtomicTX then is sent into a proprietary Signing piece of code for the Signing request. The Signer is closed source and is able to decrypt the private key for the atomic tx and place the signature in place and it returns the signed tx to the caller, which broadcasts it to the BBP network.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the Ingate and Outgate run on the temple.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Since it is mission critical to allow a user to receive back the colored coin, we also created a BBP extension, called PortfolioBuilder, that can run on your own machine and do 100% of the Outgate transaction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is useful for a scenario where, let us say you have $5,000 of colored coin value and our temple is down but the biblepay network is up and you receive an outgate error.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We want you to *always* be able to receive your native coin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can launch PortfolioBuilder and do your own outgate in this case.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Risks&lt;br /&gt;
&lt;br /&gt;
First I want to say at BiblePay, we want you to know your QT keys and your QT wallet is the highest priority and always want every key to be secure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
All of the private keys *Other than the Trading Keys*, in your QT wallet are 100% private.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However, the &amp;quot;TRADING-&amp;quot; keys (the 3 mentioned in the beginning) are being used by the DEX to create atomic transactions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Although they are RSA encrypted, there is always a small chance that something can go wrong that is unintended.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So it is best to treat the DEX in a similar way that you do with other CEXs, trade with limited amounts and do not leave large amounts on the exchange.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Convert the coins back to native BBP when you can. If you do this the potential damage is always limited to the amount &amp;quot;in play&amp;quot; on the exchange.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Future State&lt;br /&gt;
&lt;br /&gt;
The current exchange fulfills many of the desirable qualities that were originally scoped, however there are always tradeoffs with each approach.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the current approach you have:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ability to match atomic trades 24H even when users are offline (plus)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mostly Decentralized (User to user trading, requires one designated temple or temple cluster to be online, the temple API must be working, STORJ must be working)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However, we may eventually want to improve the exchange making it 100% decentralized through various technological advances.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For example, maybe the NBitcoin code can be moved into each online client, allowing matching to occur client side as well.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The tradeoff is the node may need to be online for this to work (at the time the fill occurs).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Also we may want to move the orderbook from the sidechain to the client side.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We may also want to move to a market maker model, where market makers buy-sell colored coins and hold the collateral along with an equal amount of BBP.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We may want to come up with a scheme to change the WIF format of all trading keys so they cannot be under any circumstance, hacked as regular keys.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This way we can promote BBP core wallet as having every key, in an equal original status when BBP was released as secure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Another improvement is to make Portfolio Builder use separate private keys, that are not intermingled with the exchange.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(Currently portfolio builders XRP/XLM keys are the same as the exchange keys, primarily because of the high starting fee required to open an XRP account - 10 XRP, therefore it remains this way for now).&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.biblepay.org/index.php?title=Decentralized_Exchange&amp;diff=6957</id>
		<title>Decentralized Exchange</title>
		<link rel="alternate" type="text/html" href="https://wiki.biblepay.org/index.php?title=Decentralized_Exchange&amp;diff=6957"/>
		<updated>2025-04-18T12:47:00Z</updated>

		<summary type="html">&lt;p&gt;Admin: Created page with &amp;quot;Introduction  The Biblepay Decentralized Exchange (DEX) was created with various goals in mind:   The ability to trade your BBP coins against another currency (such as DOGE),...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Introduction&lt;br /&gt;
&lt;br /&gt;
The Biblepay Decentralized Exchange (DEX) was created with various goals in mind:  &lt;br /&gt;
The ability to trade your BBP coins against another currency (such as DOGE), directly with other QT wallet users, without relying on a centralized exchange (CEX).&lt;br /&gt;
The ability to add other currencies, which are compatible with the base58 wallet, into the exchange.  This may allow other communities to list their coins inside BBP's DEX.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Terminology&lt;br /&gt;
&lt;br /&gt;
Native Coin: The BBP built in currency, or a standard BBP Base58/WIF keypair and its value in the BBP wallet.&lt;br /&gt;
Colored Coin: A special coin, with a Base58 address that ends in a 4 digit alphanumeric code that designates value on another network, but stored in the wallet.&lt;br /&gt;
Note that Colored coins cannot be sent out to native addresses (therefore preventing colored coins from going to BBP address on CEXs etc) or diluting their value.&lt;br /&gt;
Colored coins can only be sent to other like colored addresses, using an RPC command.&lt;br /&gt;
One example of a colored address is &amp;quot;COLORED-DOGE&amp;quot;, which ends in dgzz.  Another is colored &amp;quot;COLORED-XLM&amp;quot; ending in lmzz.&lt;br /&gt;
Colored coins cannot be sent from unlike colored addresses, XLM cannot be sent to DOGE or vice versa.&lt;br /&gt;
You cannot see colored coins in coin-control; their balances can only be queried with RPC commands.&lt;br /&gt;
The function the colored coin provides to BBP is:&lt;br /&gt;
1) Convert Value from a foreign network native UTXO to a BBP colored UTXO&lt;br /&gt;
2) Seamlessly trade the colored coins in the DEX with other users&lt;br /&gt;
3) Convert Colored coin value back to native value&lt;br /&gt;
Coin Control: From the QT left menu, click Send | Inputs.  This page allows you to pick specific coins that are used in a transaction.&lt;br /&gt;
BBP Native Receive Addresses: From the QT menu, click Window | Receiving addresses.  You will see a list of BBP receive addresses.&lt;br /&gt;
TRADING-PUBLIC-KEY: This address is the only BBP native address the DEX will spend from (for security reasons).&lt;br /&gt;
You must deposit BBP into this address in order to place trades where you Buy foreign currency.&lt;br /&gt;
TRADING-ASSET-DOGE: Your wallet will automatically mine a colored DOGE address.  This is your colored BBP DOGE address that will hold native doge.&lt;br /&gt;
TRADING-ASSET-XLM: Your wallet will also mine a colored XLM address.  This is the address that will hold native XLM.&lt;br /&gt;
Portfolio Builder: A satellite program that allows you to earn staking rewards for holding an equal amount of native BBP + colored foreign (see Extensions).&lt;br /&gt;
Exchange Room | Trading Grid | Flags: The Flag &amp;quot;T&amp;quot; means theirs, &amp;quot;M&amp;quot; means Mine.  This way you can see your orders are M.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Usage&lt;br /&gt;
&lt;br /&gt;
To demonstrate the usage of the exchange we will go through some examples in using the exchange to buy BBP (while selling DOGE) and selling BBP (to Buy DOGE).&lt;br /&gt;
&lt;br /&gt;
Prerequisites:&lt;br /&gt;
If we want to sell DOGE and buy BBP we will need to fund our TRADING-PUBLIC-KEY.  In this example, we will send 100,000 BBP from our core wallet to the TRADING-PUBLIC-KEY.&lt;br /&gt;
Click on Exchange from the left menu.&lt;br /&gt;
Copy BBP Trading Address to clipboard (that is equivalent to your &amp;quot;TRADING-PUBLIC-KEY&amp;quot; mentioned above).  &lt;br /&gt;
Go to Send.&lt;br /&gt;
Paste the address in the TO.&lt;br /&gt;
Send 100,000 BBP to yourself.  Now the exchange has funds to trade with.&lt;br /&gt;
&lt;br /&gt;
In this demo we also want to sell some DOGE for BBP.  Therefore we need to receive some Native DOGE into the BBP colored address.&lt;br /&gt;
Click Exchange.  Copy the Native DOGE address to the clipboard.&lt;br /&gt;
Go to your favorite DOGE wallet, and send 10 DOGE to this native address.&lt;br /&gt;
Wait 2 blocks on the DOGE network, then click the Get button (which means get balance).  Once you see the coins exist in your DOGE native address, now they need to be wrapped, or converted to colored DOGE in order to be tradeable.&lt;br /&gt;
Now click Wrap.  Choose the amount (Lets go with 9.9 to ensure there are no transaction fee errors).&lt;br /&gt;
Look for the result, it should say &amp;quot;Successfully Wrapped&amp;quot; etc.  Now you will have .10 Native doge and 9.9 Colored Doge in the &amp;quot;TRADING-ASSET-DOGE&amp;quot; address; and you can see the balances adjust on the top right.&lt;br /&gt;
&lt;br /&gt;
First let us place a trade to Sell BBP while buying with DOGE.&lt;br /&gt;
Populate 10000 into the Quantity box.&lt;br /&gt;
Populate 0.00011001 into the Price box.&lt;br /&gt;
Click SELL.&lt;br /&gt;
This will place an order to sell 2.70 DOGE for 10,000 BBP.  The order will appear in the Sell grid.&lt;br /&gt;
Note that if your wallet is locked you will receive an error and will have to unlock the wallet for this tx to be created.&lt;br /&gt;
&lt;br /&gt;
Next let us place a trade to Buy BBP while selling DOGE.&lt;br /&gt;
Populate 10000 into the Quantity box.&lt;br /&gt;
Populate 0.00010999 into the Price box.&lt;br /&gt;
Click BUY.&lt;br /&gt;
This will place an order to buy 2.69 DOGE for 10,000 BBP.  The order will appear in the Buy grid.&lt;br /&gt;
&lt;br /&gt;
NOTE: You cannot trade with yourself as our atomic tx rejects wash trades with duplicate keys; however you can trade with yourself as long as you use two QT wallets with different key sets.&lt;br /&gt;
&lt;br /&gt;
Once another buyer enters the market to place an opposing trade with the same quantity and an at or better price than yours, your order will fill atomically.&lt;br /&gt;
Partial Fills&lt;br /&gt;
If your order is bigger in size than their order, a partial fill will occur as long as the partial fill results in a leftover quantity greater than the room minimum.&lt;br /&gt;
As of April 2025, the DOGE-BBP room minimum is .10 DOGE per trade.&lt;br /&gt;
&lt;br /&gt;
Atomic Matching&lt;br /&gt;
The matching engine is constantly scanning for trades in the orderbook, where the quantities match and the price is at or better than the limit price; when this pair is found, an atomic transaction is created with two legs in one transaction: Colored coin going from Buyer to Seller AND Native BBP coin going from Seller to Buyer AND the network minimum transaction fee (.00100) paid in Native BBP all built in the single transaction.  This means that if anything goes wrong with this transaction (not enough funds on either end, tx fee deficiency, network error, chain is out of sync, chainlocks down) etc, then this transaction will FAIL atomically.  This is good, because now the trading board has not changed, and neither buyer or seller is harmed.  However, if the transaction goes through, both buyer and seller are satisfied atomically.  Meaning that both colored balances and both native BBP balances are instantly updated with no possibility of error on either end.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Canceling a Trade&lt;br /&gt;
To cancel a trade, simply highlight the row with the trade you placed (yours have M) and click Cancel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Insufficient Funds - Orders with no backing collateral&lt;br /&gt;
Note that we only allow orders to enter into the orderbook, if, at the time of the trade, the user has enough collateral (IE colored coin balance and BBP balance are sufficient to place the trade).&lt;br /&gt;
However, since we have 24 hour atomic matching while users are offline, it is possible for a user to do an offline spend of a coin that is already in the orderbook.&lt;br /&gt;
First this is not a problem because Atomic trades cannot occur (if coins are spent prior to the atomic tx being created), that part is prevented.&lt;br /&gt;
The sanctuary thread constantly looks for trades with no backing collateral.&lt;br /&gt;
The sanctuary will cancel these automatically causing them to disappear from the order book.&lt;br /&gt;
&lt;br /&gt;
Converting your Colored DOGE back to NATIVE DOGE&lt;br /&gt;
&lt;br /&gt;
To convert your coins back to Native, click Unwrap.  Type in the amount of Native you want to convert back (IE 9 in our example above).&lt;br /&gt;
Once this process finishes, you will see the Native DOGE balance increases back to the original amount (IE 9.99~).&lt;br /&gt;
Now to send DOGE out of your wallet back to your home DOGE wallet, go to the RPC console and type:&lt;br /&gt;
exec senddoge doge_to_address amount&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Technical Specs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Risks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Future State&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.biblepay.org/index.php?title=RDP&amp;diff=6956</id>
		<title>RDP</title>
		<link rel="alternate" type="text/html" href="https://wiki.biblepay.org/index.php?title=RDP&amp;diff=6956"/>
		<updated>2024-08-18T20:15:46Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You can use the BiblePay RDP application to connect from one PC to another.  This is facilitated by the BiblePay network.  Your RDP traffic is encrypted and sent from PC1 to PC2 through a sanctuary.&lt;br /&gt;
Currently, this feature is free, but after it gains popularity BBP reserves the right to charge your BIBLEPAY key for the hours used.&lt;br /&gt;
&lt;br /&gt;
Before beginning the tutorial let us discuss the moving parts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Part 1:  The BiblePay Extensions Plugin Module'''&lt;br /&gt;
&lt;br /&gt;
BIBLEPAY Extensions is a program that extends the functionality of the core wallet.  It is completely optional, meaning that you are not required to run this binary; you only need it if you want to use our enhanced features.  Since many of our features are cutting edge and need upgraded regularly as they are enhanced, we have created the BIBLEPAY Extensions program to automatically upgrade your optional modules, ensuring they will work as bug fixes are released.  The hierarchy of the program looks like this:  Core Wallet launches Extensions.  Extensions lists a bunch of extensions that are optional to use.  As they are listed, the program will automatically upgrade any of them that need upgraded.  To use an extension, click on the Connect button.  &lt;br /&gt;
&lt;br /&gt;
![](https://seven.biblepay.org/img/rdpextensions.png)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''How do I launch BiblePay RDP?'''&lt;br /&gt;
&lt;br /&gt;
Click &amp;quot;Extensions&amp;quot; from the left menu in BIBLEPAY core wallet.  (This only works on PC's).  Once Extensions loads, you will see a list of programs available to run.  One of them is &amp;quot;BBPRDP&amp;quot;.  Click Connect on that entry to launch BBP RDP.&lt;br /&gt;
&lt;br /&gt;
![](https://seven.biblepay.org/img/rdp3.png)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Scenario 1, Setting up your Home machine to listen so you can connect to it from a remote PC:'''&lt;br /&gt;
&lt;br /&gt;
From the BBP RDP Application home page, click on Add New Computer Relationship.&lt;br /&gt;
From the Add New Computer Relationship page, select Inbound for connection direction.&lt;br /&gt;
Populate the BBP address field with the address of the &amp;quot;My BBP ADDRESS&amp;quot; field that is located on the *calling* machine's BBP RDP application (you will have to go to that machine and launch the BBP RDP app and copy the&lt;br /&gt;
address to the clipboard found from the application home page).&lt;br /&gt;
Populate a nickname.&lt;br /&gt;
For the pin, select the 4 digit pin that you will choose to require the user to have that dials into your PC.  Remember this 4 digit pin is required on the calling side.&lt;br /&gt;
Click Save&lt;br /&gt;
![](https://seven.biblepay.org/img/rdpaddnewconnection.png)&lt;br /&gt;
&lt;br /&gt;
Step 2:&lt;br /&gt;
From the calling machine, launch BBP RDP.&lt;br /&gt;
Click Add new Computer Relationship.&lt;br /&gt;
For direction, populate Outbound.&lt;br /&gt;
For the BBP Address, populate the RDP address of the *server* (IE your home machine that is going to be listening for your call).&lt;br /&gt;
Populate the nickname, and enter the correct 4 digit pin that the home pc requires for you to dial into it.&lt;br /&gt;
Click Save.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' Now it is setup, how do I dial my home machine from my remote machine? '''&lt;br /&gt;
&lt;br /&gt;
It's extremely easy to use.  From the home server or listening machine, launch BBP RDP.  Click the radio button called &amp;quot;Listener&amp;quot; so that it goes into Listening mode.&lt;br /&gt;
Verify the button on the screen says &amp;quot;Listening&amp;quot;, otherwise something is wrong.&lt;br /&gt;
&lt;br /&gt;
On the remote machine launch BBP RDP.  Click the Dialer radio button.  &lt;br /&gt;
From the list of available connections, click Connect on the row for your home machine.&lt;br /&gt;
Your grid should update and say &amp;quot;Network Up&amp;quot; otherwise something is wrong.&lt;br /&gt;
You should also receive a popup containing the RDP address for the home machine and it will automatically be loaded onto the clipboard.&lt;br /&gt;
(In future versions, we will add a feature so that it automatically launches the RDP client but for now please continue to do this next step).&lt;br /&gt;
From Windows, launch &amp;quot;mstsc&amp;quot; by clicking Start | mstsc.  Paste the address from the clipboard into the address of the RDP client and click connect.&lt;br /&gt;
At this point you should be connected to your home machine as if the network existed locally (the traffic is tunneling through a sanctuary, encrypted).  Note that not even a sanctuary can spy on the traffic as it uses &lt;br /&gt;
more than one encrypted key combination that is impossible to spy on.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.biblepay.org/index.php?title=RDP&amp;diff=6955</id>
		<title>RDP</title>
		<link rel="alternate" type="text/html" href="https://wiki.biblepay.org/index.php?title=RDP&amp;diff=6955"/>
		<updated>2024-08-18T20:09:33Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You can use the BiblePay RDP application to connect from one PC to another.  This is facilitated by the BiblePay network.  Your RDP traffic is encrypted and sent from PC1 to PC2 through a sanctuary.&lt;br /&gt;
Currently, this feature is free, but after it gains popularity BBP reserves the right to charge your BIBLEPAY key for the hours used.&lt;br /&gt;
&lt;br /&gt;
Before beginning the tutorial let us discuss the moving parts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Part 1:  The BiblePay Extensions Plugin Module'''&lt;br /&gt;
&lt;br /&gt;
BIBLEPAY Extensions is a program that extends the functionality of the core wallet.  It is completely optional, meaning that you are not required to run this binary; you only need it if you want to use our enhanced features.  Since many of our features are cutting edge and need upgraded regularly as they are enhanced, we have created the BIBLEPAY Extensions program to automatically upgrade your optional modules, ensuring they will work as bug fixes are released.  The hierarchy of the program looks like this:  Core Wallet launches Extensions.  Extensions lists a bunch of extensions that are optional to use.  As they are listed, the program will automatically upgrade any of them that need upgraded.  To use an extension, click on the Connect button.  &lt;br /&gt;
&lt;br /&gt;
![](https://seven.biblepay.org/img/rdpextensions.png)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''How do I launch BiblePay RDP?'''&lt;br /&gt;
&lt;br /&gt;
Click &amp;quot;Extensions&amp;quot; from the left menu in BIBLEPAY core wallet.  (This only works on PC's).  Once Extensions loads, you will see a list of programs available to run.  One of them is &amp;quot;BBPRDP&amp;quot;.  Click Connect on that entry to launch BBP RDP.&lt;br /&gt;
&lt;br /&gt;
![](https://seven.biblepay.org/img/rdp3.png)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Scenario 1, Setting up your Home machine to listen so you can connect to it from a remote PC:'''&lt;br /&gt;
&lt;br /&gt;
From the BBP RDP Application home page, click on Add New Computer Relationship.&lt;br /&gt;
From the Add New Computer Relationship page, select Inbound for connection direction.&lt;br /&gt;
Populate the BBP address field with the address of the &amp;quot;My BBP ADDRESS&amp;quot; field that is located on the *calling* machine's BBP RDP application (you will have to go to that machine and launch the BBP RDP app and copy the&lt;br /&gt;
address to the clipboard found from the application home page).&lt;br /&gt;
Populate a nickname.&lt;br /&gt;
For the pin, select the 4 digit pin that you will choose to require the user to have that dials into your PC.  Remember this 4 digit pin is required on the calling side.&lt;br /&gt;
Click Save&lt;br /&gt;
![](https://seven.biblepay.org/img/rdpaddnewconnection.png)&lt;br /&gt;
&lt;br /&gt;
Step 2:&lt;br /&gt;
From the calling machine, launch BBP RDP.&lt;br /&gt;
Click Add new Computer Relationship.&lt;br /&gt;
For direction, populate Outbound.&lt;br /&gt;
For the BBP Address, populate the RDP address of the *server* (IE your home machine that is going to be listening for your call).&lt;br /&gt;
Populate the nickname, and enter the correct 4 digit pin that the home pc requires for you to dial into it.&lt;br /&gt;
Click Save.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.biblepay.org/index.php?title=RDP&amp;diff=6954</id>
		<title>RDP</title>
		<link rel="alternate" type="text/html" href="https://wiki.biblepay.org/index.php?title=RDP&amp;diff=6954"/>
		<updated>2024-08-18T20:07:44Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You can use the BiblePay RDP application to connect from one PC to another.  This is facilitated by the BiblePay network.  Your RDP traffic is encrypted and sent from PC1 to PC2 through a sanctuary.&lt;br /&gt;
Currently, this feature is free, but after it gains popularity BBP reserves the right to charge your BIBLEPAY key for the hours used.&lt;br /&gt;
&lt;br /&gt;
Before beginning the tutorial let us discuss the moving parts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Part 1:  The BiblePay Extensions Plugin Module'''&lt;br /&gt;
&lt;br /&gt;
BIBLEPAY Extensions is a program that extends the functionality of the core wallet.  It is completely optional, meaning that you are not required to run this binary; you only need it if you want to use our enhanced features.  Since many of our features are cutting edge and need upgraded regularly as they are enhanced, we have created the BIBLEPAY Extensions program to automatically upgrade your optional modules, ensuring they will work as bug fixes are released.  The hierarchy of the program looks like this:  Core Wallet launches Extensions.  Extensions lists a bunch of extensions that are optional to use.  As they are listed, the program will automatically upgrade any of them that need upgraded.  To use an extension, click on the Connect button.  &lt;br /&gt;
&lt;br /&gt;
'''How do I launch BiblePay RDP?'''&lt;br /&gt;
&lt;br /&gt;
Click &amp;quot;Extensions&amp;quot; from the left menu in BIBLEPAY core wallet.  (This only works on PC's).  Once Extensions loads, you will see a list of programs available to run.  One of them is &amp;quot;BBPRDP&amp;quot;.  Click Connect on that entry to launch BBP RDP.&lt;br /&gt;
&lt;br /&gt;
![](https://seven.biblepay.org/img/rdp3.png)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Scenario 1, Setting up your Home machine to listen so you can connect to it from a remote PC:'''&lt;br /&gt;
&lt;br /&gt;
From the BBP RDP Application home page, click on Add New Computer Relationship.&lt;br /&gt;
From the Add New Computer Relationship page, select Inbound for connection direction.&lt;br /&gt;
Populate the BBP address field with the address of the &amp;quot;My BBP ADDRESS&amp;quot; field that is located on the *calling* machine's BBP RDP application (you will have to go to that machine and launch the BBP RDP app and copy the&lt;br /&gt;
address to the clipboard found from the application home page).&lt;br /&gt;
Populate a nickname.&lt;br /&gt;
For the pin, select the 4 digit pin that you will choose to require the user to have that dials into your PC.  Remember this 4 digit pin is required on the calling side.&lt;br /&gt;
Click Save&lt;br /&gt;
![](https://seven.biblepay.org/img/rdpaddnewconnection.png)&lt;br /&gt;
&lt;br /&gt;
Step 2:&lt;br /&gt;
From the calling machine, launch BBP RDP.&lt;br /&gt;
Click Add new Computer Relationship.&lt;br /&gt;
For direction, populate Outbound.&lt;br /&gt;
For the BBP Address, populate the RDP address of the *server* (IE your home machine that is going to be listening for your call).&lt;br /&gt;
Populate the nickname, and enter the correct 4 digit pin that the home pc requires for you to dial into it.&lt;br /&gt;
Click Save.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.biblepay.org/index.php?title=RDP&amp;diff=6953</id>
		<title>RDP</title>
		<link rel="alternate" type="text/html" href="https://wiki.biblepay.org/index.php?title=RDP&amp;diff=6953"/>
		<updated>2024-08-18T19:50:55Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You can use the BiblePay RDP application to connect from one PC to another.  This is facilitated by the BiblePay network.  Your RDP traffic is encrypted and sent from PC1 to PC2 through a sanctuary.&lt;br /&gt;
Currently, this feature is free, but after it gains popularity BBP reserves the right to charge your BIBLEPAY key for the hours used.&lt;br /&gt;
&lt;br /&gt;
Before beginning the tutorial let us discuss the moving parts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Part 1:  The BiblePay Extensions Plugin Module'''&lt;br /&gt;
&lt;br /&gt;
BIBLEPAY Extensions is a program that extends the functionality of the core wallet.  It is completely optional, meaning that you are not required to run this binary; you only need it if you want to use our enhanced features.  Since many of our features are cutting edge and need upgraded regularly as they are enhanced, we have created the BIBLEPAY Extensions program to automatically upgrade your optional modules, ensuring they will work as bug fixes are released.  The hierarchy of the program looks like this:  Core Wallet launches Extensions.  Extensions lists a bunch of extensions that are optional to use.  As they are listed, the program will automatically upgrade any of them that need upgraded.  To use an extension, click on the Connect button.  &lt;br /&gt;
&lt;br /&gt;
'''How do I launch BiblePay RDP?'''&lt;br /&gt;
&lt;br /&gt;
Click &amp;quot;Extensions&amp;quot; from the left menu in BIBLEPAY core wallet.  (This only works on PC's).  Once Extensions loads, you will see a list of programs available to run.  One of them is &amp;quot;BBPRDP&amp;quot;.  Click Connect on that entry to launch BBP RDP.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Scenario 1, Setting up your Home machine to listen so you can connect to it from a remote PC:'''&lt;br /&gt;
&lt;br /&gt;
From the BBP RDP Application home page, click on Add New Computer Relationship.&lt;br /&gt;
From the Add New Computer Relationship page, select Inbound for connection direction.&lt;br /&gt;
Populate the BBP address field with the address of the &amp;quot;My BBP ADDRESS&amp;quot; field that is located on the *calling* machine's BBP RDP application (you will have to go to that machine and launch the BBP RDP app and copy the&lt;br /&gt;
address to the clipboard found from the application home page).&lt;br /&gt;
Populate a nickname.&lt;br /&gt;
For the pin, select the 4 digit pin that you will choose to require the user to have that dials into your PC.  Remember this 4 digit pin is required on the calling side.&lt;br /&gt;
Click Save&lt;br /&gt;
&lt;br /&gt;
Step 2:&lt;br /&gt;
From the calling machine, launch BBP RDP.&lt;br /&gt;
Click Add new Computer Relationship.&lt;br /&gt;
For direction, populate Outbound.&lt;br /&gt;
For the BBP Address, populate the RDP address of the *server* (IE your home machine that is going to be listening for your call).&lt;br /&gt;
Populate the nickname, and enter the correct 4 digit pin that the home pc requires for you to dial into it.&lt;br /&gt;
Click Save.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.biblepay.org/index.php?title=RDP&amp;diff=6952</id>
		<title>RDP</title>
		<link rel="alternate" type="text/html" href="https://wiki.biblepay.org/index.php?title=RDP&amp;diff=6952"/>
		<updated>2024-08-18T19:50:30Z</updated>

		<summary type="html">&lt;p&gt;Admin: Created page with &amp;quot;You can use the BiblePay RDP service to connect from one PC to another.  This is facilitated by the BiblePay network.  Your RDP traffic is encrypted and sent from PC1 to PC2 t...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You can use the BiblePay RDP service to connect from one PC to another.  This is facilitated by the BiblePay network.  Your RDP traffic is encrypted and sent from PC1 to PC2 through a sanctuary.&lt;br /&gt;
Currently, this feature is free, but after it gains popularity BBP reserves the right to charge your BIBLEPAY key for the hours used.&lt;br /&gt;
&lt;br /&gt;
Before beginning the tutorial let us discuss the moving parts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Part 1:  The BiblePay Extensions Plugin Module'''&lt;br /&gt;
&lt;br /&gt;
BIBLEPAY Extensions is a program that extends the functionality of the core wallet.  It is completely optional, meaning that you are not required to run this binary; you only need it if you want to use our enhanced features.  Since many of our features are cutting edge and need upgraded regularly as they are enhanced, we have created the BIBLEPAY Extensions program to automatically upgrade your optional modules, ensuring they will work as bug fixes are released.  The hierarchy of the program looks like this:  Core Wallet launches Extensions.  Extensions lists a bunch of extensions that are optional to use.  As they are listed, the program will automatically upgrade any of them that need upgraded.  To use an extension, click on the Connect button.  &lt;br /&gt;
&lt;br /&gt;
'''How do I launch BiblePay RDP?'''&lt;br /&gt;
&lt;br /&gt;
Click &amp;quot;Extensions&amp;quot; from the left menu in BIBLEPAY core wallet.  (This only works on PC's).  Once Extensions loads, you will see a list of programs available to run.  One of them is &amp;quot;BBPRDP&amp;quot;.  Click Connect on that entry to launch BBP RDP.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Scenario 1, Setting up your Home machine to listen so you can connect to it from a remote PC:'''&lt;br /&gt;
&lt;br /&gt;
From the BBP RDP Application home page, click on Add New Computer Relationship.&lt;br /&gt;
From the Add New Computer Relationship page, select Inbound for connection direction.&lt;br /&gt;
Populate the BBP address field with the address of the &amp;quot;My BBP ADDRESS&amp;quot; field that is located on the *calling* machine's BBP RDP application (you will have to go to that machine and launch the BBP RDP app and copy the&lt;br /&gt;
address to the clipboard found from the application home page).&lt;br /&gt;
Populate a nickname.&lt;br /&gt;
For the pin, select the 4 digit pin that you will choose to require the user to have that dials into your PC.  Remember this 4 digit pin is required on the calling side.&lt;br /&gt;
Click Save&lt;br /&gt;
&lt;br /&gt;
Step 2:&lt;br /&gt;
From the calling machine, launch BBP RDP.&lt;br /&gt;
Click Add new Computer Relationship.&lt;br /&gt;
For direction, populate Outbound.&lt;br /&gt;
For the BBP Address, populate the RDP address of the *server* (IE your home machine that is going to be listening for your call).&lt;br /&gt;
Populate the nickname, and enter the correct 4 digit pin that the home pc requires for you to dial into it.&lt;br /&gt;
Click Save.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.biblepay.org/index.php?title=BBP_Intrinsic_Value&amp;diff=6951</id>
		<title>BBP Intrinsic Value</title>
		<link rel="alternate" type="text/html" href="https://wiki.biblepay.org/index.php?title=BBP_Intrinsic_Value&amp;diff=6951"/>
		<updated>2024-03-24T14:49:39Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' What makes BIBLEPAY stand out from the other cryptocurrencies? '''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* DEFLATIONARY.  We decrease our emissions by 20% per year with a total cap of 5.2B, and a circulating supply of 3.6B.  Block emission has decreased from 20K to 2K since inception.&lt;br /&gt;
&lt;br /&gt;
* HIGHER INVESTMENT LEVERAGE.  BiblePay still has 4 zeroes before its BBP-USDT trading price (.0000225 as of March 2024).  &lt;br /&gt;
&lt;br /&gt;
* TITHE 10% to ORPHAN CHARITY.  This is our cornerstone and makes it easy for any crypto user to get exposure to sponsoring orphans and doing good things like building water wells.  Sponsor an orphan with a BBP NFT, or hold BBP and help orphans.&lt;br /&gt;
&lt;br /&gt;
* SIDECHAIN.  We are an L1 chain with an L2 sidechain allowing you to store files (mp4s, image links, ticket attachments, social media attachments).  Display gospel videos and provide theological material.&lt;br /&gt;
&lt;br /&gt;
* SOCIAL MEDIA.  Our site at https://unchained.biblepay.org is being enhanced every month, with more and more web3 features.&lt;br /&gt;
&lt;br /&gt;
* ADVANCED NFTs (v2): We have NFTs with treasure chests, autonomous settlement, orphan NFTs (soulbound), and our NFTs are versatile enough to be marketed in more than one marketplace.&lt;br /&gt;
&lt;br /&gt;
* INSTANT GLOBAL SETTLEMENT ON EVERY EXCHANGE: With our atomic trade, you can send any amount to any metamask user globally and have it settled in a block in a few seconds.  &lt;br /&gt;
&lt;br /&gt;
* PHONE SYSTEM:  We provide you with a real US phone number and a true long distance phone system with charges to your BBP private key.&lt;br /&gt;
&lt;br /&gt;
* EASY ACCESS TO WEB3: We make things easier for the user by wrapping high technology smart contracts and providing a UI for access to our ERP features.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' Future '''&lt;br /&gt;
&lt;br /&gt;
* Our next sidechain (v3.0) is soon to be released.  This marries the blockchain with our ERP that provides grantable deterministic permissions and ERP views.  &lt;br /&gt;
&lt;br /&gt;
* This solidifies BiblePay's total value in the crypto space.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.biblepay.org/index.php?title=BBP_Intrinsic_Value&amp;diff=6950</id>
		<title>BBP Intrinsic Value</title>
		<link rel="alternate" type="text/html" href="https://wiki.biblepay.org/index.php?title=BBP_Intrinsic_Value&amp;diff=6950"/>
		<updated>2024-03-24T14:49:19Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' What makes BIBLEPAY stand out from the other cryptocurrencies? '''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* DEFLATIONARY.  We decrease our emissions by 20% per year with a total cap of 5.2B, and a circulating supply of 3.6B.  Block emission has decreased from 20K to 2K since inception.&lt;br /&gt;
&lt;br /&gt;
* HIGHER INVESTMENT LEVERAGE.  BiblePay still has 4 zeroes before its BBP-USDT trading price (.0000225 as of March 2024).  &lt;br /&gt;
&lt;br /&gt;
* TITHE 10% to ORPHAN CHARITY.  This is our cornerstone and makes it easy for any crypto user to get exposure to sponsoring orphans and doing good things like building water wells.  Sponsor an orphan with a BBP NFT, or hold BBP and help orphans.&lt;br /&gt;
&lt;br /&gt;
* SIDECHAIN.  We are an L1 chain with an L2 sidechain allowing you to store files (mp4s, image links, ticket attachments, social media attachments).  Display gospel videos and provide theological material.&lt;br /&gt;
&lt;br /&gt;
* SOCIAL MEDIA.  Our site at https://unchained.biblepay.org is being enhanced every month, with more and more web3 features.&lt;br /&gt;
&lt;br /&gt;
* ADVANCED NFTs (v2): We have NFTs with treasure chests, autonomous settlement, orphan NFTs (soulbound), and our NFTs are versatile enough to be marketed in more than one marketplace.&lt;br /&gt;
&lt;br /&gt;
* INSTANT GLOBAL SETTLEMENT ON EVERY EXCHANGE: With our atomic trade, you can send any amount to any metamask use globally and have it settled in a block in a few seconds.  &lt;br /&gt;
&lt;br /&gt;
* PHONE SYSTEM:  We provide you with a real US phone number and a true long distance phone system with charges to your BBP private key.&lt;br /&gt;
&lt;br /&gt;
* EASY ACCESS TO WEB3: We make things easier for the user by wrapping high technology smart contracts and providing a UI for access to our ERP features.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' Future '''&lt;br /&gt;
&lt;br /&gt;
* Our next sidechain (v3.0) is soon to be released.  This marries the blockchain with our ERP that provides grantable deterministic permissions and ERP views.  &lt;br /&gt;
&lt;br /&gt;
* This solidifies BiblePay's total value in the crypto space.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.biblepay.org/index.php?title=BBP_Intrinsic_Value&amp;diff=6949</id>
		<title>BBP Intrinsic Value</title>
		<link rel="alternate" type="text/html" href="https://wiki.biblepay.org/index.php?title=BBP_Intrinsic_Value&amp;diff=6949"/>
		<updated>2024-03-24T14:47:52Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' What makes BIBLEPAY stand out from the other cryptocurrencies? '''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* DEFLATIONARY.  We decrease our emissions by 20% per year with a total cap of 5.2B, and a circulating supply of 3.6B.  Block emission has decreased from 20K to 2K since inception.&lt;br /&gt;
&lt;br /&gt;
* HIGHER INVESTMENT LEVERAGE.  BiblePay still has 4 zeroes before its BBP-USDT trading price (.0000225 as of March 2024).  &lt;br /&gt;
&lt;br /&gt;
* TITHE 10% to ORPHAN CHARITY.  This is our cornerstone and makes it easy for any crypto user to get exposure to sponsoring orphans and doing good things like building water wells.  Sponsor an orphan with a BBP NFT, or hold BBP and help orphans.&lt;br /&gt;
&lt;br /&gt;
* SIDECHAIN.  We are an L1 chain with an L2 sidechain allowing you to store files (mp4s, image links, ticket attachments, social media attachments).  Display gospel videos and provide theological material.&lt;br /&gt;
&lt;br /&gt;
* SOCIAL MEDIA.  Our site at https://unchained.biblepay.org is being enhanced every month, with more and more web3 features.&lt;br /&gt;
&lt;br /&gt;
* ADVANCED NFTs (v2): We have NFTs with treasure chests, autonomous settlement, orphan NFTs (soulbound) and have dual sourced SEO.&lt;br /&gt;
&lt;br /&gt;
* INSTANT GLOBAL SETTLEMENT ON EVERY EXCHANGE: With our atomic trade, you can send any amount to any metamask use globally and have it settled in a block in a few seconds.  &lt;br /&gt;
&lt;br /&gt;
* PHONE SYSTEM:  We provide you with a real US phone number and a true long distance phone system with charges to your BBP private key.&lt;br /&gt;
&lt;br /&gt;
* EASY ACCESS TO WEB3: We make things easier for the user by wrapping high technology smart contracts and providing a UI for access to our ERP features.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' Future '''&lt;br /&gt;
&lt;br /&gt;
* Our next sidechain (v3.0) is soon to be released.  This marries the blockchain with our ERP that provides grantable deterministic permissions and ERP views.  &lt;br /&gt;
&lt;br /&gt;
* This solidifies BiblePay's total value in the crypto space.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.biblepay.org/index.php?title=BBP_Intrinsic_Value&amp;diff=6948</id>
		<title>BBP Intrinsic Value</title>
		<link rel="alternate" type="text/html" href="https://wiki.biblepay.org/index.php?title=BBP_Intrinsic_Value&amp;diff=6948"/>
		<updated>2024-03-24T14:44:37Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' What makes BIBLEPAY stand out from the other cryptocurrencies? '''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* DEFLATIONARY.  We decrease our emissions by 20% per year with a total cap of 5.2B, and a circulating supply of 3.6B.  Block emission has decreased from 20K to 2K since inception.&lt;br /&gt;
&lt;br /&gt;
* HIGHER INVESTMENT LEVERAGE.  BiblePay still has 4 zeroes before its BBP-USDT trading price (.0000225 as of March 2024).  &lt;br /&gt;
&lt;br /&gt;
* TITHE 10% to ORPHAN CHARITY.  This is our cornerstone and makes it easy for any crypto user to get exposure to sponsoring orphans and doing good things like building water wells.  Sponsor an orphan with a BBP NFT, or hold BBP and help orphans.&lt;br /&gt;
&lt;br /&gt;
* SIDECHAIN.  We are an L1 chain with an L2 sidechain allowing you to store files (mp4s, image links, ticket attachments, social media attachments).  Display gospel videos and provide theological material.&lt;br /&gt;
&lt;br /&gt;
* SOCIAL MEDIA.  Our site at https://unchained.biblepay.org is being enhanced every month, with more and more web3 features.&lt;br /&gt;
&lt;br /&gt;
* PHONE SYSTEM:  We provide you with a real US phone number and a true long distance phone system with charges to your BBP private key.&lt;br /&gt;
&lt;br /&gt;
* EASY ACCESS TO WEB3: We make things easier for the user by wrapping high technology smart contracts and providing a UI for access to our ERP features.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' Future '''&lt;br /&gt;
&lt;br /&gt;
* Our next sidechain (v3.0) is soon to be released.  This marries the blockchain with our ERP that provides grantable deterministic permissions and ERP views.  &lt;br /&gt;
&lt;br /&gt;
* This solidifies BiblePay's total value in the crypto space.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.biblepay.org/index.php?title=BBP_Intrinsic_Value&amp;diff=6947</id>
		<title>BBP Intrinsic Value</title>
		<link rel="alternate" type="text/html" href="https://wiki.biblepay.org/index.php?title=BBP_Intrinsic_Value&amp;diff=6947"/>
		<updated>2024-03-23T14:30:25Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
'''The Naysers'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Naysayers argue that small blockchains, like BBP are worthless because the world already has Bitcoin.  Why create another blockchain when Bitcoin is available that allows you to transact large values efficiently on thousands of exchanges.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' The Argument for BBP '''&lt;br /&gt;
&lt;br /&gt;
However, there are certain elements in the BBP ecosystem that are novel and useful.  Remember the original deflation argument that when a currency is emitting coins at a decreasing rate, versus the behavior of central banks that are printing money at an alarming rate?  The argument is that the safer place is in a deflationary environment.  There is no central bank that can change the emission characteristics of BBP.  We have set our chain parameters in the genesis block that dictate that we will have 5.2B coins circulating in total, at a decreasing emission rate of 20% per year.  We have emitted 3.6B of those 5.2B coins (starting at blocks that were 18,000 BBP and now we have blocks that are 2,000 BBP).  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bitcoin has experienced 50% of its all time sensationalism.  Bitcoin is awesome, as they wrote the whitepaper and established a foundation for us.  There is a place for bitcoin.  However investors need to place a portion of their hard earned money in chains that have large growth potential.  We know with the new ETFs and halving, Bitcoin could absolutely double again.  But smaller tokens like Shiba Inu and BiblePay still have 4 zeroes in front of their price, therefore have more leverage.  The difference is chasing a 2* potential increase vs a 100* potential increase.  But this also has to be done prudently and only in chains you believe have potential.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Points:'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* We tithe 10% to orphan charity and have since inception.  This of course is our cornerstone and makes it very easy for any crypto user to get exposure to sponsoring orphans or doing good things like building water wells.  A crypto user can:  Buy ARB or Doge anywhere, cross chain swap that to BBP, sponsor an orphan NFT, or simply hold BBP in a sanctuary which helps our network and pays a reward to the sanctuary.&lt;br /&gt;
&lt;br /&gt;
* Real world use cases:  Our sidechain allows you to store large files (mp4s, image links, ticket attachments, social media attachments) and while paying small storage fees in BBP, you can use those links to mint NFTs or make social media posts.  We have a feature in Unchained that displays gospel videos for channels.  We provide Christian theological material in Unchained as well.&lt;br /&gt;
&lt;br /&gt;
* Phone system:  A true long distance phone embedded in your unchained wallet that is charged to your BBP private key, with a real US phone number.&lt;br /&gt;
&lt;br /&gt;
* Making things easier for the user:  Our features wrap the technology in a way that makes it easy for the end user.  You dont need to know about the technical details to interact with smart contracts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' Future '''&lt;br /&gt;
&lt;br /&gt;
* Our best technological feature, the sidechain v3.0 is soon to be released.  This provides an ERP system that is bound to our L1 chain, with grantable deterministic permissions.  The chain will drive the ERP views.  This solidifies BiblePay's total value in the crypto space.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.biblepay.org/index.php?title=BBP_Intrinsic_Value&amp;diff=6946</id>
		<title>BBP Intrinsic Value</title>
		<link rel="alternate" type="text/html" href="https://wiki.biblepay.org/index.php?title=BBP_Intrinsic_Value&amp;diff=6946"/>
		<updated>2024-03-23T14:29:55Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
'''The Naysers'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Naysayers argue that small blockchains, like BBP are worthless because the world already has Bitcoin.  Why create another blockchain when Bitcoin is available that allows you to transact large values efficiently on thousands of exchanges.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' The Argument for BBP '''&lt;br /&gt;
&lt;br /&gt;
However, there are certain elements in the BBP ecosystem that are novel and useful.  Remember the original deflation argument that when a currency is emitting coins at a decreasing rate, versus the behavior of central banks that are printing money at an alarming rate?  The argument is that the safer place is in a deflationary environment.  There is no central bank that can change the emission characteristics of BBP.  We have set our chain parameters in the genesis block that dictate that we will have 5.2B coins circulating in total, at a decreasing emission rate of 20% per year.  We have emitted 3.6B of those 5.2B coins (starting at blocks that were 18,000 BBP and now we have blocks that are 2,000 BBP).  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bitcoin has experienced 50% of its all time sensationalism.  Bitcoin is awesome, as they wrote the whitepaper and established a foundation for us.  There is a place for bitcoin.  However investors need to place a portion of their hard earned money in chains that have large growth potential.  We know with the new ETFs and halving, Bitcoin could absolutely double again.  But smaller tokens like Shiba Inu and BiblePay still have 4 zeroes in front of their price, therefore have more leverage.  The difference is chasing a 2* potential increase vs a 100* potential increase.  But this also has to be done prudently and only in chains you believe have potential.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Points:'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* We tithe 10% to orphan charity and have since inception.  This of course is our cornerstone and makes it very easy for any crypto user to get exposure to sponsoring orphans or doing good things like building water wells.  A crypto user can:  Buy ARB or Doge anywhere, cross chain swap that to BBP, sponsor an orphan NFT, or simply hold BBP in a sanctuary which helps our network and pays a reward to the sanctuary.&lt;br /&gt;
&lt;br /&gt;
* Real world use cases:  Our sidechain allows you to store large files (mp4s, image links, ticket attachments, social media attachments) and while paying small storage fees in BBP, you can use those links to mint NFTs or make social media posts.  We have a feature in Unchained that displays gospel videos for channels.  We provide Christian theological material in Unchained as well.&lt;br /&gt;
&lt;br /&gt;
* Phone system:  A true long distance phone embedded in your unchained wallet that is charged to your BBP private key, with a real US phone number.&lt;br /&gt;
&lt;br /&gt;
* Making things easier for the user:  Our features wrap the technology in a way that makes it easy for the end user.  You dont need to know about the technical details of interactive with smart contracts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' Future '''&lt;br /&gt;
&lt;br /&gt;
* Our best technological feature, the sidechain v3.0 is soon to be released.  This provides an ERP system that is bound to our L1 chain, with grantable deterministic permissions.  The chain will drive the ERP views.  This solidifies BiblePay's total value in the crypto space.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.biblepay.org/index.php?title=BBP_Intrinsic_Value&amp;diff=6945</id>
		<title>BBP Intrinsic Value</title>
		<link rel="alternate" type="text/html" href="https://wiki.biblepay.org/index.php?title=BBP_Intrinsic_Value&amp;diff=6945"/>
		<updated>2024-03-23T14:27:19Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
'''The Naysers'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Naysayers argue that small blockchains, like BBP are worthless because the world already has Bitcoin.  Why create another blockchain when Bitcoin is available that allows you to transact large values efficiently on thousands of exchanges.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' The Argument for BBP '''&lt;br /&gt;
&lt;br /&gt;
However, there are certain elements in the BBP ecosystem that are novel and useful.  Remember the original deflation argument that when a currency is emitting coins at a decreasing rate, versus the behavior of central banks that are printing money at an alarming rate?  The argument is that the safer place is in a deflationary environment.  There is no central bank that can change the emission characteristics of BBP.  We have set our chain parameters in the genesis block that dictate that we will have 5.2B coins circulating in total, at a decreasing emission rate of 20% per year.  We have emitted 3.6B of those 5.2B coins (starting at blocks that were 18,000 BBP and now we have blocks that are 2,000 BBP).  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bitcoin has experienced 50% of its all time sensationalism.  Bitcoin is awesome, as they wrote the whitepaper and established a foundation for us.  There is a place for bitcoin.  However investors need to place a portion of their hard earned money in chains that have large growth potential.  We know with the new ETFs and halving, Bitcoin could absolutely double again.  But smaller tokens like Shiba Inu and BiblePay still have 4 zeroes in front of their price, therefore have more leverage.  The difference is chasing a 2* potential increase vs a 100* potential increase.  But this also has to be done prudently and only in chains you believe have potential.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Points:'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* We tithe 10% to orphan charity and have since inception.  This of course is our cornerstone and makes it very easy for any crypto user to get exposure to sponsoring orphans or doing good things like building water wells.  A crypto user can:  Buy ARB or Doge anywhere, cross chain swap that to BBP, sponsor an orphan NFT, or simply hold BBP in a sanctuary which helps our network and pays a reward to the sanctuary.&lt;br /&gt;
&lt;br /&gt;
* Real world use cases:  Our sidechain allows you to store large files (mp4s, image links, ticket attachments, social media attachments) and while paying small storage fees in BBP, you can use those links to mint NFTs or make social media posts.  We have a connection to Rumble that displays gospel videos.  We provide gospel media in Unchained.&lt;br /&gt;
&lt;br /&gt;
* Phone system:  A true long distance phone embedded in your unchained wallet that is charged to your BBP private key, with a real US phone number.&lt;br /&gt;
&lt;br /&gt;
* Making things easier for the user:  Our features wrap the technology in a way that makes it easy for the end user.  You dont need to know about the technical details of interactive with smart contracts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' Future '''&lt;br /&gt;
&lt;br /&gt;
* Our best technological feature, the sidechain v3.0 is soon to be released.  This provides an ERP system that is bound to our L1 chain, with grantable deterministic permissions.  The chain will drive the ERP views.  This solidifies BiblePay's total value in the crypto space.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.biblepay.org/index.php?title=BBP_Intrinsic_Value&amp;diff=6944</id>
		<title>BBP Intrinsic Value</title>
		<link rel="alternate" type="text/html" href="https://wiki.biblepay.org/index.php?title=BBP_Intrinsic_Value&amp;diff=6944"/>
		<updated>2024-03-23T14:26:30Z</updated>

		<summary type="html">&lt;p&gt;Admin: Created page with &amp;quot; '''The Naysers'''  Naysayers argue that small blockchains, like BBP are worthless because the world already has Bitcoin.  Why create another blockchain when Bitcoin is availa...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
'''The Naysers'''&lt;br /&gt;
&lt;br /&gt;
Naysayers argue that small blockchains, like BBP are worthless because the world already has Bitcoin.  Why create another blockchain when Bitcoin is available that allows you to transact large values efficiently on thousands of exchanges.&lt;br /&gt;
&lt;br /&gt;
''' The Argument for BBP '''&lt;br /&gt;
&lt;br /&gt;
However, there are certain things in the BBP ecosystem that is novel and useful.  Remember the original deflation argument that when a currency is emitting coins at a decreasing rate, versus the behavior of central banks that are printing money at an alarming rate?  The argument is that the safer place is in a deflationary environment.  There is no central bank that can change the emission characteristics of BBP.  We have set our chain parameters in the genesis block that dictate that we will have 5.2B coins circulating in total, at a decreasing emission rate of 20% per year.  We have emitted 3.6B of those 5.2B coins (starting at blocks that were 18,000 BBP and now we have blocks that are 2,000 BBP).  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bitcoin has experienced 50% of its all time sensationalism.  Bitcoin is awesome, as they wrote the whitepaper and established a foundation for us.  There is a place for bitcoin.  However investors need to place a portion of their hard earned money in chains that have large growth potential.  We know with the new ETFs and halving, Bitcoin could absolutely double again.  But smaller tokens like Shiba Inu and BiblePay still have 4 zeroes in front of their price, therefore have more leverage.  The difference is chasing a 2* potential increase vs a 100* potential increase.  But this also has to be done prudently and only in chains you believe have potential.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Points:'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* We tithe 10% to orphan charity and have since inception.  This of course is our cornerstone and makes it very easy for any crypto user to get exposure to sponsoring orphans or doing good things like building water wells.  A crypto user can:  Buy ARB or Doge anywhere, cross chain swap that to BBP, sponsor an orphan NFT, or simply hold BBP in a sanctuary which helps our network and pays a reward to the sanctuary.&lt;br /&gt;
&lt;br /&gt;
* Real world use cases:  Our sidechain allows you to store large files (mp4s, image links, ticket attachments, social media attachments) and while paying small storage fees in BBP, you can use those links to mint NFTs or make social media posts.  We have a connection to Rumble that displays gospel videos.  We provide gospel media in Unchained.&lt;br /&gt;
&lt;br /&gt;
* Phone system:  A true long distance phone embedded in your unchained wallet that is charged to your BBP private key, with a real US phone number.&lt;br /&gt;
&lt;br /&gt;
* Making things easier for the user:  Our features wrap the technology in a way that makes it easy for the end user.  You dont need to know about the technical details of interactive with smart contracts.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' Future '''&lt;br /&gt;
&lt;br /&gt;
* Our best technological feature, the sidechain v3.0 is soon to be released.  This provides an ERP system that is bound to our L1 chain, with grantable deterministic permissions.  The chain will drive the ERP views.  This solidifies BiblePay's total value in the crypto space.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.biblepay.org/index.php?title=ERC721b&amp;diff=6943</id>
		<title>ERC721b</title>
		<link rel="alternate" type="text/html" href="https://wiki.biblepay.org/index.php?title=ERC721b&amp;diff=6943"/>
		<updated>2024-03-17T12:00:00Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Improving the ERC-721 Spec (ERC-721b)&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
'''Reason:  '''&lt;br /&gt;
&lt;br /&gt;
Enhancing the functionality, security, and convenience of NFTs for use on the BiblePay blockchain.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Current limitations with ERC-721:'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Normal NFTs do not support Orphans because they can be re-sold to successive owners (bad in the sense of having a risk of deceiving or cheating the successive user out of the original relationship, and bad morally in the sense that you are reselling a sponsored orphan that you originally committed to).  The solution is a Soul Bound NFT; an NFT that cannot be resold, and has a special designation on it allowing us to characterize the NFT as an orphan in showrooms.&lt;br /&gt;
&lt;br /&gt;
* NFTs cannot be deleted, they live forever.  This is a positive trait, however for NFTs that are botched, they will just take more and more precious space in showrooms.  The ERC solution is to transfer the NFT to the 0x0DEAD address, thereby filtering it out of active results.  &lt;br /&gt;
&lt;br /&gt;
* NFTs do not protect valuable content.  The original ERC721 spec allows anyone with view access to read the json payload and therefore download the contents of every file in the json.  Yes, the intrinsic value of the NFT is based on the rarity, but it would be an improvement to be able to encrypt or hide a Treasure Chest that is only revealed to the Owner (IE the purchaser receives this ability after buying).  This could be used for license activations, high resolution images, longer videos, crypto rewards, keys etc that are not revealed in the promotional NFT.&lt;br /&gt;
&lt;br /&gt;
* NFTs require a very high level of trust to the marketplace operator.  The normal flow in buying an nft goes like this: You sign the rights off of your entire collection to OpenSea when you list *any* of your NFTs in that collection; the listing price is enforced at their UI level.  There is no deterministic custodial account in the ERC721 NFT that holds the funds that proves that a user paid.  Instead funds flow from the buyer to OpenSea (IE custodian), then you receive an email asking you to approve the transaction, and then the funds flow from OpenSea to your ERC wallet.  This is on the minor end of our problems, but begs for an alternative deterministic solution.&lt;br /&gt;
&lt;br /&gt;
* The ERC721 spec does not allow for a minimum buy it now price to be set and for autonomous transactions to occur (goes hand in hand with point 4).&lt;br /&gt;
&lt;br /&gt;
* The ERC721 spec does not allow for a switch that would make the art &amp;quot;marketable&amp;quot; vs &amp;quot;non marketable&amp;quot;.  This is just a nice to have that would allow the owner to take something off the market temporarily, or hide an NFT without sending it to the dead address. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Solution (Enhancing the ERC-721 spec to ERC-721b):'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Modify the ERC721 spec (the OpenZeppelin Solidity contract ERC721.sol) with new enhancements, naming it ERC721b.  Derive a BiblePay class for BBP use of the contract, and release the contract opensource when it goes to prod.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Add a public object to the solidity contract that tracks the following objects in maps, on the chain:&lt;br /&gt;
&lt;br /&gt;
  UserBalances&lt;br /&gt;
  TreasureChest&lt;br /&gt;
  IsDeleted&lt;br /&gt;
  IsMarketable&lt;br /&gt;
  IsSoulBound&lt;br /&gt;
  BuyItNowAmount&lt;br /&gt;
&lt;br /&gt;
* Make it so the owner of an NFT, or the authorized NFT operator (permission given by owner in a marketplace) can update an NFTs IsDeleted, IsMarketable, IsSoulBound, and BuyItNow status just by interacting with the contract and paying gas.&lt;br /&gt;
&lt;br /&gt;
* Make it so the minting platform can set the TreasureChest URL that points to the TreasureChest JSON contents in a secure way, that can only be retrieved by the Owner of the NFT.&lt;br /&gt;
  The GetTreasureChest method will be protected by the _IsApprovedOrOwner() permission of the NFT, effectively making it impossible for a non-owner to call for the contents until they become the owner.&lt;br /&gt;
  The contents of the TreasureChest will be created upon minting, obfuscated to a uint256 private URL json file, stored in the BBP sidechain as a link, and set as a private property on the NFT at mint.&lt;br /&gt;
&lt;br /&gt;
* Make it so that users can deposit offers into the NFT contract securely, and if they decide to not purchase, they can withdraw from the NFT thereby their native currency is safe (minus gas fees).&lt;br /&gt;
&lt;br /&gt;
* Make it so that if a user has deposited more than the buy it now amount and an NFT is &amp;quot;marketable&amp;quot; and the user decides to BuyItNow, the NFT contract will automatically send the BuyItNow amount to the &lt;br /&gt;
last owner, reduce the balance of the purchaser by the buy it now amount, and transfer the NFT to the new owner in a deterministic fashion so the steps cannot fail or leave the NFT and payment in an unknown state.&lt;br /&gt;
The new owner will have access to the TreasureChest function, and ability to Edit the BBP fields if they decide to make the nft marketable again.  &lt;br /&gt;
&lt;br /&gt;
* Soul Bound NFTs however, cannot be made marketable again.  The SoulBound designation will allow the front end to display Orphans in a friendly way (different captions and sponsor process).&lt;br /&gt;
&lt;br /&gt;
* If IsDeleted is set to true, the NFT will be hidden (but still exists on the blockchain).&lt;br /&gt;
&lt;br /&gt;
* If a random user deposits ARB to an ERC721b contract, that balance will be credited to the sending address.  The balance will be withdrawable by the original sender, if they call the &amp;quot;Withdraw&amp;quot; function on the contract.&lt;br /&gt;
This is the same facility that will allow us to deterministically offer autonomous sales in the marketplace.&lt;br /&gt;
&lt;br /&gt;
* The ERC721b spec is backwards compatible with ERC721, meaning these same minted NFTs can be set up for sale on OpenSea or other marketplaces.&lt;br /&gt;
However, OpenSea will not honor the Deleted flag, or the BuyItNowAmount, or the SoulBound, it will be up to the user to set up the sale in the classic manner.  This is an important consideration however, as in the SEO discussion we find it important to maintain both a native NFT showroom and a public (external marketplace) for maximum traffic.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''SEO Strategy'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* The initial strategy for release is to create 3 new NFT contracts that capture our broad categories:  Christian (God focused NFTs), General (Any other NFT or product or item), Orphan (An orphan to be sponsored for an amount of time as an NFT).&lt;br /&gt;
&lt;br /&gt;
* The categories derived by each contract drive a 'collection', and therefore the showroom caption (Orphan,Christian, General).&lt;br /&gt;
&lt;br /&gt;
* The collections can be viewed on OpenSea for external traffic.  Those collections can be purchased with ETH inside the opensea marketplace.&lt;br /&gt;
&lt;br /&gt;
* The collections can be rendered by the BiblePay gallery engine for external HTML static content that leads to Unchained, but cannot be purchased unless the user logs in to unchained.&lt;br /&gt;
&lt;br /&gt;
* The collections can be rendered by BiblePay gallery as a logged in user, allowing actual BuyItNow with BBP or ARB.&lt;br /&gt;
&lt;br /&gt;
* In summary, this gives us (2) external SEO sources that we do not have now (OpenSea and our 'marketing' domain that is not released yet that hosts static content that leads to unchained.  It also provides (2) ways to purchase an NFT: OpenSea with credit card/ethereum, Or BBP with BBP/ARB.&lt;br /&gt;
&lt;br /&gt;
* When buying an NFT through OpenSea, the deterministic BuyItNow function will not be called, but instead they will act as custodian and complete the sale.&lt;br /&gt;
&lt;br /&gt;
* When buying an NFT through BBP, the deterministic BuyItNow will be called, and the NFT will transfer autonomously.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.biblepay.org/index.php?title=ERC721b&amp;diff=6942</id>
		<title>ERC721b</title>
		<link rel="alternate" type="text/html" href="https://wiki.biblepay.org/index.php?title=ERC721b&amp;diff=6942"/>
		<updated>2024-03-17T11:58:57Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Improving the ERC-721 Spec (ERC-721b)&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
'''Reason:  '''&lt;br /&gt;
&lt;br /&gt;
Enhancing the functionality, security, and convenience of NFTs for use on the BiblePay blockchain.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Current limitations with ERC-721:'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Normal NFTs do not support Orphans because they can be re-sold to successive owners (bad in the sense of having a risk of deceiving or cheating the successive user out of the original relationship, and bad morally in the sense that you are reselling a sponsored orphan that you originally committed to).  The solution is a Soul Bound NFT; an NFT that cannot be resold, and has a special designation on it allowing us to characterize the NFT as an orphan in showrooms.&lt;br /&gt;
&lt;br /&gt;
* NFTs cannot be deleted, they live forever.  This is a positive trait, however for NFTs that are botched, they will just take more and more precious space in showrooms.  The ERC solution is to transfer the NFT to the 0x0DEAD address, thereby filtering it out of active results.  &lt;br /&gt;
&lt;br /&gt;
* NFTs do not protect valuable content.  The original ERC721 spec allows anyone with view access to read the json payload and therefore download the contents of every file in the json.  Yes, the intrinsic value of the NFT is based on the rarity, but it would be an improvement to be able to encrypt or hide a Treasure Chest that is only revealed to the Owner (IE the purchaser receives this ability after buying).  This could be used for license activations, high resolution images, longer videos, crypto rewards, keys etc that are not revealed in the promotional NFT.&lt;br /&gt;
&lt;br /&gt;
* NFTs require a very high level of trust to the marketplace operator.  The normal flow in buying an nft goes like this: You sign the rights off of your entire collection to OpenSea when you list *any* of your NFTs in that collection; the listing price is enforced at their UI level.  There is no deterministic custodial account in the ERC721 NFT that holds the funds that proves that a user paid.  Instead funds flow from the buyer to OpenSea (IE custodian), then you receive an email asking you to approve the transaction, and then the funds flow from OpenSea to your ERC wallet.  This is on the minor end of our problems, but begs for an alternative deterministic solution.&lt;br /&gt;
&lt;br /&gt;
* The ERC721 spec does not allow for a minimum buy it now price to be set and for autonomous transactions to occur (goes hand in hand with point 4).&lt;br /&gt;
&lt;br /&gt;
* The ERC721 spec does not allow for a switch that would make the art &amp;quot;marketable&amp;quot; vs &amp;quot;non marketable&amp;quot;.  This is just a nice to have that would allow the owner to take something off the market temporarily, or hide an NFT without sending it to the dead address.  Maybe its something they are holding on to and deciding on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Solution (Enhancing the ERC-721 spec to ERC-721b):'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Modify the ERC721 spec (the OpenZeppelin Solidity contract ERC721.sol) with new enhancements, naming it ERC721b.  Derive a BiblePay class for BBP use of the contract, and release the contract opensource when it goes to prod.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Add a public object to the solidity contract that tracks the following objects in maps, on the chain:&lt;br /&gt;
&lt;br /&gt;
  UserBalances&lt;br /&gt;
  TreasureChest&lt;br /&gt;
  IsDeleted&lt;br /&gt;
  IsMarketable&lt;br /&gt;
  IsSoulBound&lt;br /&gt;
  BuyItNowAmount&lt;br /&gt;
&lt;br /&gt;
* Make it so the owner of an NFT, or the authorized NFT operator (permission given by owner in a marketplace) can update an NFTs IsDeleted, IsMarketable, IsSoulBound, and BuyItNow status just by interacting with the contract and paying gas.&lt;br /&gt;
&lt;br /&gt;
* Make it so the minting platform can set the TreasureChest URL that points to the TreasureChest JSON contents in a secure way, that can only be retrieved by the Owner of the NFT.&lt;br /&gt;
  The GetTreasureChest method will be protected by the _IsApprovedOrOwner() permission of the NFT, effectively making it impossible for a non-owner to call for the contents until they become the owner.&lt;br /&gt;
  The contents of the TreasureChest will be created upon minting, obfuscated to a uint256 private URL json file, stored in the BBP sidechain as a link, and set as a private property on the NFT at mint.&lt;br /&gt;
&lt;br /&gt;
* Make it so that users can deposit offers into the NFT contract securely, and if they decide to not purchase, they can withdraw from the NFT thereby their native currency is safe (minus gas fees).&lt;br /&gt;
&lt;br /&gt;
* Make it so that if a user has deposited more than the buy it now amount and an NFT is &amp;quot;marketable&amp;quot; and the user decides to BuyItNow, the NFT contract will automatically send the BuyItNow amount to the &lt;br /&gt;
last owner, reduce the balance of the purchaser by the buy it now amount, and transfer the NFT to the new owner in a deterministic fashion so the steps cannot fail or leave the NFT and payment in an unknown state.&lt;br /&gt;
The new owner will have access to the TreasureChest function, and ability to Edit the BBP fields if they decide to make the nft marketable again.  &lt;br /&gt;
&lt;br /&gt;
* Soul Bound NFTs however, cannot be made marketable again.  The SoulBound designation will allow the front end to display Orphans in a friendly way (different captions and sponsor process).&lt;br /&gt;
&lt;br /&gt;
* If IsDeleted is set to true, the NFT will be hidden (but still exists on the blockchain).&lt;br /&gt;
&lt;br /&gt;
* If a random user deposits ARB to an ERC721b contract, that balance will be credited to the sending address.  The balance will be withdrawable by the original sender, if they call the &amp;quot;Withdraw&amp;quot; function on the contract.&lt;br /&gt;
This is the same facility that will allow us to deterministically offer autonomous sales in the marketplace.&lt;br /&gt;
&lt;br /&gt;
* The ERC721b spec is backwards compatible with ERC721, meaning these same minted NFTs can be set up for sale on OpenSea or other marketplaces.&lt;br /&gt;
However, OpenSea will not honor the Deleted flag, or the BuyItNowAmount, or the SoulBound, it will be up to the user to set up the sale in the classic manner.  This is an important consideration however, as in the SEO discussion we find it important to maintain both a native NFT showroom and a public (external marketplace) for maximum traffic.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''SEO Strategy'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* The initial strategy for release is to create 3 new NFT contracts that capture our broad categories:  Christian (God focused NFTs), General (Any other NFT or product or item), Orphan (An orphan to be sponsored for an amount of time as an NFT).&lt;br /&gt;
&lt;br /&gt;
* The categories derived by each contract drive a 'collection', and therefore the showroom caption (Orphan,Christian, General).&lt;br /&gt;
&lt;br /&gt;
* The collections can be viewed on OpenSea for external traffic.  Those collections can be purchased with ETH inside the opensea marketplace.&lt;br /&gt;
&lt;br /&gt;
* The collections can be rendered by the BiblePay gallery engine for external HTML static content that leads to Unchained, but cannot be purchased unless the user logs in to unchained.&lt;br /&gt;
&lt;br /&gt;
* The collections can be rendered by BiblePay gallery as a logged in user, allowing actual BuyItNow with BBP or ARB.&lt;br /&gt;
&lt;br /&gt;
* In summary, this gives us (2) external SEO sources that we do not have now (OpenSea and our 'marketing' domain that is not released yet that hosts static content that leads to unchained.  It also provides (2) ways to purchase an NFT: OpenSea with credit card/ethereum, Or BBP with BBP/ARB.&lt;br /&gt;
&lt;br /&gt;
* When buying an NFT through OpenSea, the deterministic BuyItNow function will not be called, but instead they will act as custodian and complete the sale.&lt;br /&gt;
&lt;br /&gt;
* When buying an NFT through BBP, the deterministic BuyItNow will be called, and the NFT will transfer autonomously.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.biblepay.org/index.php?title=ERC721b&amp;diff=6941</id>
		<title>ERC721b</title>
		<link rel="alternate" type="text/html" href="https://wiki.biblepay.org/index.php?title=ERC721b&amp;diff=6941"/>
		<updated>2024-03-17T11:51:59Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Improving the ERC-721 Spec (ERC-721b)&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
'''Reason:  '''&lt;br /&gt;
&lt;br /&gt;
Enhancing the functionality, security, and convenience of NFTs for use on the BiblePay blockchain.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Current limitations with ERC-721:'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Normal NFTs do not support Orphans because they can be re-sold to successive owners (bad in the sense of having a risk of deceiving or cheating the successive user out of the original relationship, and bad morally in the sense that you are reselling a sponsored orphan that you originally committed to).  The solution is a Soul Bound NFT; an NFT that cannot be resold, and has a special designation on it allowing us to characterize the NFT as an orphan in showrooms.&lt;br /&gt;
&lt;br /&gt;
* NFTs cannot be deleted, they live forever.  This is a positive trait, however for NFTs that are botched, they will just take more and more precious space in showrooms.  The ERC solution is to transfer the NFT to the 0x0DEAD address, thereby filtering it out of active results.  &lt;br /&gt;
&lt;br /&gt;
* NFTs do not protect valuable content.  The original ERC721 spec allows anyone with view access to read the json payload and therefore download the contents of every file in the json.  Yes, the intrinsic value of the NFT is based on the rarity, but it would be an improvement to be able to encrypt or hide a Treasure Chest that is only revealed to the Owner (IE the purchaser receives this ability after buying).  This could be used for license activations, high resolution images, longer videos, crypto rewards, keys etc that are not revealed in the promotional NFT.&lt;br /&gt;
&lt;br /&gt;
* NFTs provide require a very high level of trust to the marketplace operator.  The normal flow in buying an nft goes like this: You sign the rights off of your entire collection to OpenSea when you list *any* of your NFTs in that collection; the listing price is enforced at their UI level.  There is no deterministic custodial account in the ERC721 NFT that holds the funds that proves that a user paid.  Instead funds flow from the buyer to OpenSea (IE custodian), then you receive an email asking you to approve the transaction, and then the funds flow from OpenSea to your ERC wallet.  This is on the minor end of our problems, but begs for an alternative deterministic solution.&lt;br /&gt;
&lt;br /&gt;
* The ERC721 spec does not allow for a minimum buy it now price to be set and for autonomous transactions to occur (goes hand in hand with point 4).&lt;br /&gt;
&lt;br /&gt;
* The ERC721 spec does not allow for a switch that would make the art &amp;quot;marketable&amp;quot; vs &amp;quot;non marketable&amp;quot;.  This is just a nice to have that would allow the owner to take something off the market temporarily, or hide an NFT without sending it to the dead address.  Maybe its something they are holding on to and deciding on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Solution (Enhancing the ERC-721 spec to ERC-721b):'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Modify the ERC721 spec (the OpenZeppelin Solidity contract ERC721.sol) with new enhancements, naming it ERC721b.  Derive a BiblePay class for BBP use of the contract, and release the contract opensource when it goes to prod.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Add a public object to the solidity contract that tracks the following objects in maps, on the chain:&lt;br /&gt;
&lt;br /&gt;
  UserBalances&lt;br /&gt;
  TreasureChest&lt;br /&gt;
  IsDeleted&lt;br /&gt;
  IsMarketable&lt;br /&gt;
  IsSoulBound&lt;br /&gt;
  BuyItNowAmount&lt;br /&gt;
&lt;br /&gt;
* Make it so the owner of an NFT, or the authorized NFT operator (permission given by owner in a marketplace) can update an NFTs IsDeleted, IsMarketable, IsSoulBound, and BuyItNow status just by interacting with the contract and paying gas.&lt;br /&gt;
&lt;br /&gt;
* Make it so the minting platform can set the TreasureChest URL that points to the TreasureChest JSON contents in a secure way, that can only be retrieved by the Owner of the NFT.&lt;br /&gt;
  The GetTreasureChest method will be protected by the _IsApprovedOrOwner() permission of the NFT, effectively making it impossible for a non-owner to call for the contents until they become the owner.&lt;br /&gt;
  The contents of the TreasureChest will be created upon minting, obfuscated to a uint256 private URL json file, stored in the BBP sidechain as a link, and set as a private property on the NFT at mint.&lt;br /&gt;
&lt;br /&gt;
* Make it so that users can deposit offers into the NFT contract securely, and if they decide to not purchase, they can withdraw from the NFT thereby their native currency is safe (minus gas fees).&lt;br /&gt;
&lt;br /&gt;
* Make it so that if a user has deposited more than the buy it now amount and an NFT is &amp;quot;marketable&amp;quot; and the user decides to BuyItNow, the NFT contract will automatically send the BuyItNow amount to the &lt;br /&gt;
last owner, reduce the balance of the purchaser by the buy it now amount, and transfer the NFT to the new owner in a deterministic fashion so the steps cannot fail or leave the NFT and payment in an unknown state.&lt;br /&gt;
The new owner will have access to the TreasureChest function, and ability to Edit the BBP fields if they decide to make the nft marketable again.  &lt;br /&gt;
&lt;br /&gt;
* Soul Bound NFTs however, cannot be made marketable again.  The SoulBound designation will allow the front end to display Orphans in a friendly way (different captions and sponsor process).&lt;br /&gt;
&lt;br /&gt;
* If IsDeleted is set to true, the NFT will be hidden (but still exists on the blockchain).&lt;br /&gt;
&lt;br /&gt;
* If a random user deposits ARB to an ERC721b contract, that balance will be credited to the sending address.  The balance will be withdrawable by the original sender, if they call the &amp;quot;Withdraw&amp;quot; function on the contract.&lt;br /&gt;
This is the same facility that will allow us to deterministically offer autonomous sales in the marketplace.&lt;br /&gt;
&lt;br /&gt;
* The ERC721b spec is backwards compatible with ERC721, meaning these same minted NFTs can be set up for sale on OpenSea or other marketplaces.&lt;br /&gt;
However, OpenSea will not honor the Deleted flag, or the BuyItNowAmount, or the SoulBound, it will be up to the user to set up the sale in the classic manner.  This is an important consideration however, as in the SEO discussion we find it important to maintain both a native NFT showroom and a public (external marketplace) for maximum traffic.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''SEO Strategy'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* The initial strategy for release is to create 3 new NFT contracts that capture our broad categories:  Christian (God focused NFTs), General (Any other NFT or product or item), Orphan (An orphan to be sponsored for an amount of time as an NFT).&lt;br /&gt;
&lt;br /&gt;
* The categories derived by each contract drive a 'collection', and therefore the showroom caption (Orphan,Christian, General).&lt;br /&gt;
&lt;br /&gt;
* The collections can be viewed on OpenSea for external traffic.  Those collections can be purchased with ETH inside the opensea marketplace.&lt;br /&gt;
&lt;br /&gt;
* The collections can be rendered by the BiblePay gallery engine for external HTML static content that leads to Unchained, but cannot be purchased unless the user logs in to unchained.&lt;br /&gt;
&lt;br /&gt;
* The collections can be rendered by BiblePay gallery as a logged in user, allowing actual BuyItNow with BBP or ARB.&lt;br /&gt;
&lt;br /&gt;
* In summary, this gives us (2) external SEO sources that we do not have now (OpenSea and our 'marketing' domain that is not released yet that hosts static content that leads to unchained.  It also provides (2) ways to purchase an NFT: OpenSea with credit card/ethereum, Or BBP with BBP/ARB.&lt;br /&gt;
&lt;br /&gt;
* When buying an NFT through OpenSea, the deterministic BuyItNow function will not be called, but instead they will act as custodian and complete the sale.&lt;br /&gt;
&lt;br /&gt;
* When buying an NFT through BBP, the deterministic BuyItNow will be called, and the NFT will transfer autonomously.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.biblepay.org/index.php?title=ERC721b&amp;diff=6940</id>
		<title>ERC721b</title>
		<link rel="alternate" type="text/html" href="https://wiki.biblepay.org/index.php?title=ERC721b&amp;diff=6940"/>
		<updated>2024-03-17T11:39:24Z</updated>

		<summary type="html">&lt;p&gt;Admin: Created page with &amp;quot;'''Improving the ERC-721 Spec (ERC-721b) '''  '''Reason:  '''  Enhancing the functionality, security, and convenience of NFTs for use on the BiblePay blockchain.   '''Current...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Improving the ERC-721 Spec (ERC-721b)&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
'''Reason:  '''&lt;br /&gt;
&lt;br /&gt;
Enhancing the functionality, security, and convenience of NFTs for use on the BiblePay blockchain.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Current limitations with ERC-721:'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Normal NFTs do not support Orphans because they can be re-sold to successive owners (bad in the sense of having a risk of deceiving or cheating the successive user out of the original relationship, and bad morally in the sense that you are reselling a sponsored orphan that you originally committed to).  The solution is a Soul Bound NFT; an NFT that cannot be resold, and has a special designation on it allowing us to characterize the NFT as an orphan in showrooms.&lt;br /&gt;
&lt;br /&gt;
* NFTs cannot be deleted, they live forever.  This is a positive trait, however for NFTs that are botched, they will just take more and more precious space in showrooms.  The ERC solution is to transfer the NFT to the 0x0DEAD address, thereby filtering it out of active results.  &lt;br /&gt;
&lt;br /&gt;
* NFTs do not protect valuable content.  The original ERC721 spec allows anyone with view access to read the json payload and therefore download the contents of every file in the json.  Yes, the intrinsic value of the NFT is based on the rarity, but it would be an improvement to be able to encrypt or hide a Treasure Chest that is only revealed to the Owner (IE the purchaser receives this ability after buying).  This could be used for license activations, high resolution images, longer videos, crypto rewards, keys etc that are not revealed in the promotional NFT.&lt;br /&gt;
&lt;br /&gt;
* NFTs provide require a very high level of trust to the marketplace operator.  The normal flow in buying an nft goes like this: You sign the rights off of your entire collection to OpenSea when you list *any* of your NFTs in that collection; the listing price is enforced at their UI level.  There is no deterministic custodial account in the ERC721 NFT that holds the funds that proves that a user paid.  Instead funds flow from the buyer to OpenSea (IE custodian), then you receive an email asking you to approve the transaction, and then the funds flow from OpenSea to your ERC wallet.  This is on the minor end of our problems, but begs for an alternative deterministic solution.&lt;br /&gt;
&lt;br /&gt;
* The ERC721 spec does not allow for a minimum buy it now price to be set and for autonomous transactions to occur (goes hand in hand with point 4).&lt;br /&gt;
&lt;br /&gt;
* The ERC721 spec does not allow for a switch that would make the art &amp;quot;marketable&amp;quot; vs &amp;quot;non marketable&amp;quot;.  This is just a nice to have that would allow the owner to take something off the market temporarily, or hide an NFT without sending it to the dead address.  Maybe its something they are holding on to and deciding on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Solution (Enhancing the ERC-721 spec to ERC-721b):'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Modify the ERC721 spec (the OpenZeppelin Solidity contract ERC721.sol) with new enhancements, naming it ERC721b.  Derive a BiblePay class for BBP use of the contract, &lt;br /&gt;
 and release the contract opensource when it goes to prod.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Add a public object to the solidity contract that tracks the following objects in maps, on the chain:&lt;br /&gt;
&lt;br /&gt;
  UserBalances&lt;br /&gt;
  TreasureChest&lt;br /&gt;
  IsDeleted&lt;br /&gt;
  IsMarketable&lt;br /&gt;
  IsSoulBound&lt;br /&gt;
  BuyItNowAmount&lt;br /&gt;
&lt;br /&gt;
* Make it so the owner of an NFT, or the authorized NFT operator (permission given by owner in a marketplace) can update an NFTs IsDeleted, IsMarketable, IsSoulBound, and BuyItNow status just by interacting with the contract and paying gas.&lt;br /&gt;
&lt;br /&gt;
* Make it so the minting platform can set the TreasureChest URL that points to the TreasureChest JSON contents in a secure way, that can only be retrieved by the Owner of the NFT.&lt;br /&gt;
  The GetTreasureChest method will be protected by the _IsApprovedOrOwner() permission of the NFT, effectively making it impossible for a non-owner to call for the contents until they become the owner.&lt;br /&gt;
  The contents of the TreasureChest will be created upon minting, obfuscated to a uint256 private URL json file, stored in the BBP sidechain as a link, and set as a private property on the NFT at mint.&lt;br /&gt;
&lt;br /&gt;
* Make it so that users can deposit offers into the NFT contract securely, and if they decide to not purchase, they can withdraw from the NFT thereby their native currency is safe (minus gas fees).&lt;br /&gt;
&lt;br /&gt;
* Make it so that if a user has deposited more than the buy it now amount and an NFT is &amp;quot;marketable&amp;quot; and the user decides to BuyItNow, the NFT contract will automatically send the BuyItNow amount to the &lt;br /&gt;
last owner, reduce the balance of the purchaser by the buy it now amount, and transfer the NFT to the new owner in a deterministic fashion so the steps cannot fail or leave the NFT and payment in an unknown state.&lt;br /&gt;
The new owner will have access to the TreasureChest function, and ability to Edit the BBP fields if they decide to make the nft marketable again.  &lt;br /&gt;
&lt;br /&gt;
* Soul Bound NFTs however, cannot be made marketable again.  The SoulBound designation will allow the front end to display Orphans in a friendly way (different captions and sponsor process).&lt;br /&gt;
&lt;br /&gt;
* If IsDeleted is set to true, the NFT will be hidden (but still exists on the blockchain).&lt;br /&gt;
&lt;br /&gt;
* If a random user deposits ARB to an ERC721b contract, that balance will be credited to the sending address.  The balance will be withdrawable by the original sender, if they call the &amp;quot;Withdraw&amp;quot; function on the contract.&lt;br /&gt;
This is the same facility that will allow us to deterministically offer autonomous sales in the marketplace.&lt;br /&gt;
&lt;br /&gt;
* The ERC721b spec is backwards compatible with ERC721, meaning these same minted NFTs can be set up for sale on OpenSea or other marketplaces.&lt;br /&gt;
However, OpenSea will not honor the Deleted flag, or the BuyItNowAmount, or the SoulBound, it will be up to the user to set up the sale in the classic manner.&lt;br /&gt;
It is discouraged to list a single NFT in multiple places, however if the NFT is sold in one marketplace it will dissapear from ownership in another since it ties back to the same NFT object on the chain.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.biblepay.org/index.php?title=ERP&amp;diff=6939</id>
		<title>ERP</title>
		<link rel="alternate" type="text/html" href="https://wiki.biblepay.org/index.php?title=ERP&amp;diff=6939"/>
		<updated>2024-01-12T00:41:32Z</updated>

		<summary type="html">&lt;p&gt;Admin: Created page with &amp;quot;'''Enterprise Resource Planning System'''  An ERP system is tightly integrated with a companies back end processes allowing management of core operations.  These activities in...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Enterprise Resource Planning System'''&lt;br /&gt;
&lt;br /&gt;
An ERP system is tightly integrated with a companies back end processes allowing management of core operations.  These activities include data maintenance pages, accounting, project management, utilities, supply chain processes, reports, compliance etc.&lt;br /&gt;
&lt;br /&gt;
Some of the common boilerplate functionality that needs to exist in an ERP includes: authentication, permissions to data, permissions to functions, data maintenance pages, field captions, internationalization etc.&lt;br /&gt;
&lt;br /&gt;
Some of the common features that enterprises demand include video teleconferncing, meetings, phone service, source code management, e-mail hosting, ticket management and collaboration features.&lt;br /&gt;
&lt;br /&gt;
One place where BBP proposes to enter this space is in the area of custom designed front end business system (ERP) pages.&lt;br /&gt;
&lt;br /&gt;
Breaking this down into succinct technical features that BBP provides:&lt;br /&gt;
- Synchronized Sidechain hosted on our decentralized database (ChainDB)&lt;br /&gt;
- Synchronized View per organization-table (ChainDB views)&lt;br /&gt;
- Field captions (ChainDB field captions)&lt;br /&gt;
- ChainDb hosted ERP pages&lt;br /&gt;
- ERP pages hosted from Sanctuaries&lt;br /&gt;
&lt;br /&gt;
Use Cases:&lt;br /&gt;
NFT 2.0 will be hosted on ChainDB.  Benefits: Immutable NFTs.&lt;br /&gt;
BBP Phone History stored on ChainDB.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.biblepay.org/index.php?title=Free_Phone_Calls_for_New_Users&amp;diff=6938</id>
		<title>Free Phone Calls for New Users</title>
		<link rel="alternate" type="text/html" href="https://wiki.biblepay.org/index.php?title=Free_Phone_Calls_for_New_Users&amp;diff=6938"/>
		<updated>2023-07-09T17:35:14Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
BiblePay is giving away 125,000 BBP for free phone calls to our new users!&lt;br /&gt;
&lt;br /&gt;
Simply follow these directions:&lt;br /&gt;
&lt;br /&gt;
1. Download the BiblePay Desktop Wallet from here:&lt;br /&gt;
https://biblepay.org/biblepay-win64.exe&lt;br /&gt;
&lt;br /&gt;
2. Install the Wallet&lt;br /&gt;
&lt;br /&gt;
3. Launch the wallet and sync the block chain&lt;br /&gt;
&lt;br /&gt;
4. Sync the wallet (allow the blocks to sync to height 431,000+)&lt;br /&gt;
&lt;br /&gt;
5. Click on the Unchained button from the left menu (this launches the Unchained Application)&lt;br /&gt;
&lt;br /&gt;
6. Click on Softphone (this is our built in BBP softphone that allows you to call anywhere in the world!)&lt;br /&gt;
   Copy your BBP address to the clipboard&lt;br /&gt;
&lt;br /&gt;
7. Email rob@biblepay.org with your address and he will send you your Free BBP so that you can make long distance phone calls for free.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.biblepay.org/index.php?title=Building_A_Temple&amp;diff=6937</id>
		<title>Building A Temple</title>
		<link rel="alternate" type="text/html" href="https://wiki.biblepay.org/index.php?title=Building_A_Temple&amp;diff=6937"/>
		<updated>2023-07-08T19:12:55Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A Temple is a collection of 10 Sanctuaries.  The first 12 Temples that we Christen will be named after a Tribe of Israel and will receive a special Seal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When you run a temple you are not only helping the BiblePay network by providing a cluster of Ten Sanctuaries (helping the users sync blocks and conduct instant send transactions), but you also act as a CockroachDB database node within the BiblePay Cockroach Cluster.  Your node is entrusted to hold our active Orphan Sponsorship list, orphan expenses, orphan revenue records, Gospel Articles and Content, Gospel Wiki Content, Images hosted on our web site (Unchained.biblepay.org), our Wells project, the active Proposals and Voting records, Phone call transactions, and other database transactions.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that Temples are rewarded at the same rate as other sanctuaries so the Temple operator is not earning more rewards than the average sanctuary owner, it is more of a community service position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' Step 1 - Build a Single BiblePay Node '''&lt;br /&gt;
&lt;br /&gt;
For clarity, please build your temple as the root user, and build the temple in the folder &amp;quot;/biblepay&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Rent an Unbuntu 20 VMS from your favorite VMS provider with a minimum of 6 cores, 600gb hard drive and 16gb of ram (these requirements ensure that the temple will not slow down the cockroachdb cluster and will&lt;br /&gt;
be able to service the ten sanctuary instances, and most importantly will allow the temple to handle future Video traffic and cache storage for our gospel videos feature and upcoming social media features such as Deliverance  Rooms ) .&lt;br /&gt;
&lt;br /&gt;
Follow these instructions to build biblebay:&lt;br /&gt;
https://github.com/biblepay/biblepay/blob/master/BuildBiblePay.txt&lt;br /&gt;
&lt;br /&gt;
If you built biblepay in the /biblepay directory, you should find your biblepayd dameon here:&lt;br /&gt;
/biblepay/biblepay/src/biblepayd&lt;br /&gt;
If not, you can download the binary from the biblepay web site and copy it here, this way the rest of this guide will match.&lt;br /&gt;
&lt;br /&gt;
''' Step 2 - Set up 10 Sanctuaries to become a Potential Temple '''&lt;br /&gt;
&lt;br /&gt;
To be a temple, you will need to override the biblepayd settings with special values that will allow it to write to custom data folders and read custom configuration settings.&lt;br /&gt;
For easy maintenance, in this guide I put all of your biblepay block data in /data and all of your biblepay configurations in /configs.&lt;br /&gt;
First create configs directories:&lt;br /&gt;
&lt;br /&gt;
 cd /&lt;br /&gt;
 mkdir /configs&lt;br /&gt;
 mkdir /data&lt;br /&gt;
 mkdir /data/biblepay1&lt;br /&gt;
 mkdir /data/biblepay2&lt;br /&gt;
 mkdir /data/biblepay3&lt;br /&gt;
 mkdir /data/biblepay4&lt;br /&gt;
 mkdir /data/biblepay5&lt;br /&gt;
 mkdir /data/biblepay6&lt;br /&gt;
 mkdir /data/biblepay7&lt;br /&gt;
 mkdir /data/biblepay8&lt;br /&gt;
 mkdir /data/biblepay9&lt;br /&gt;
 mkdir /data/biblepay10&lt;br /&gt;
 cd /configs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 nano biblepay1.conf&lt;br /&gt;
 shrinkdebugfile=1&lt;br /&gt;
 datadir=/data/biblepay1&lt;br /&gt;
 masternodeblsprivkey=your_bls_privkey&lt;br /&gt;
 port=40000&lt;br /&gt;
 rpcport=20000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Save the file (ctrl-x, shift-Y, enter)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Copy this biblepay1.conf file 10 times to:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
biblepay1.conf, biblepay2.conf, biblepay3.conf   ...    biblepay10.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(IE type: )&lt;br /&gt;
&lt;br /&gt;
 cp biblepay1.conf biblepay2.conf&lt;br /&gt;
&lt;br /&gt;
 cp biblepay1.conf biblepay3.conf&lt;br /&gt;
&lt;br /&gt;
 cp biblepay1.conf biblepay4.conf&lt;br /&gt;
 ... &lt;br /&gt;
 Stopping with&lt;br /&gt;
 cp biblepay1.conf biblepay10.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Next, edit each file by using nano, and set the following values:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For biblepay1.conf, ensure the port=40000 and the rpcport=20001&lt;br /&gt;
&lt;br /&gt;
For biblepay2.conf, ensure the port=10002 and the rpcport=20002&lt;br /&gt;
&lt;br /&gt;
... (Continue this pattern for files 3 through 9).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For biblepay10.conf, ensure the port=10010 and the rpcport=20010.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Edit the your_bls_privkey with the privkey of the sanctuary that you set up in &amp;quot;EasySanc&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The general rule for the &amp;quot;port&amp;quot; is your first sanc (biblepay1) must have a port of 40000 (this allows outside nodes to find you), &lt;br /&gt;
but, each successive sanc from sanc2-sanc10 must have a port of 10002-10010 (as other sancs will pose ban you otherwise. )&lt;br /&gt;
&lt;br /&gt;
The rule for &amp;quot;rpcport&amp;quot; is they should be unique, starting with 20001 and working up to 20010 (they must be unique, otherwise the node will not start).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Firewall Changes:&lt;br /&gt;
&lt;br /&gt;
In this section simply expose :&lt;br /&gt;
&lt;br /&gt;
 sudo ufw allow 10002&lt;br /&gt;
 sudo ufw allow 10003&lt;br /&gt;
 sudo ufw allow 10004&lt;br /&gt;
 sudo ufw allow 10005&lt;br /&gt;
 sudo ufw allow 10006&lt;br /&gt;
 sudo ufw allow 10007&lt;br /&gt;
 sudo ufw allow 10008&lt;br /&gt;
 sudo ufw allow 10009&lt;br /&gt;
 sudo ufw allow 10010&lt;br /&gt;
 sudo ufw allow 40000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' Start the Nodes and verify each one syncs and acts as a Sanctuary '''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Write a script to launch your nodes so you dont need to manually launch each node in the case of a reboot etc:&lt;br /&gt;
&lt;br /&gt;
cd /configs&lt;br /&gt;
&lt;br /&gt;
nano startbiblepayd.sh&lt;br /&gt;
&lt;br /&gt;
 /biblepay/biblepay/src/biblepayd -conf=/configs/biblepay1.conf&lt;br /&gt;
 /biblepay/biblepay/src/biblepayd -conf=/configs/biblepay2.conf&lt;br /&gt;
 /biblepay/biblepay/src/biblepayd -conf=/configs/biblepay3.conf&lt;br /&gt;
 /biblepay/biblepay/src/biblepayd -conf=/configs/biblepay4.conf&lt;br /&gt;
 /biblepay/biblepay/src/biblepayd -conf=/configs/biblepay5.conf&lt;br /&gt;
 /biblepay/biblepay/src/biblepayd -conf=/configs/biblepay6.conf&lt;br /&gt;
 /biblepay/biblepay/src/biblepayd -conf=/configs/biblepay7.conf&lt;br /&gt;
 /biblepay/biblepay/src/biblepayd -conf=/configs/biblepay8.conf&lt;br /&gt;
 /biblepay/biblepay/src/biblepayd -conf=/configs/biblepay9.conf&lt;br /&gt;
 /biblepay/biblepay/src/biblepayd -conf=/configs/biblepay10.conf&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
ctrl-X, Shift-Y &amp;lt;enter&amp;gt; (to save the file)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 chmod 777 startbiblepayd.sh&lt;br /&gt;
&lt;br /&gt;
To start the nodes simply run the startbiblepayd.sh file by doing this:&lt;br /&gt;
&lt;br /&gt;
 cd /configs&lt;br /&gt;
 ./startbiblepayd.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' Check if BiblePay is synced '''&lt;br /&gt;
&lt;br /&gt;
 cd /biblepay/biblepay/src&lt;br /&gt;
&lt;br /&gt;
 biblepay-cli -conf=/configs/biblepay1.conf getblockchaininfo&lt;br /&gt;
&lt;br /&gt;
 This command should respond with the synced number of blocks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' Check if each node is running as a sanctuary '''&lt;br /&gt;
&lt;br /&gt;
 biblepay-cli -conf=/configs/biblepay1.conf masternode status&lt;br /&gt;
 &lt;br /&gt;
 This should respond with outpoint info if masternode is running.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.biblepay.org/index.php?title=Building_A_Temple&amp;diff=6936</id>
		<title>Building A Temple</title>
		<link rel="alternate" type="text/html" href="https://wiki.biblepay.org/index.php?title=Building_A_Temple&amp;diff=6936"/>
		<updated>2023-07-08T19:10:49Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A Temple is a collection of 10 Sanctuaries.  The first 12 Temples that we Christen will be named after a Tribe of Israel and will receive a special Seal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When you run a temple you are not only helping the BiblePay network by providing a cluster of Ten Sanctuaries (helping the users sync blocks and conduct instant send transactions), but you also act as a CockroachDB database node within the BiblePay Cockroach Cluster.  Your node is entrusted to hold our active Orphan Sponsorship list, orphan expenses, orphan revenue records, Gospel Articles and Content, Gospel Wiki Content, Images hosted on our web site (Unchained.biblepay.org), our Wells project, the active Proposals and Voting records, Phone call transactions, and other database transactions.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that Temples are rewarded at the same rate as other sanctuaries so the Temple operator is not earning more rewards than the average sanctuary owner, it is more of a community service position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' Step 1 - Build a Single BiblePay Node '''&lt;br /&gt;
&lt;br /&gt;
For clarity, please build your temple as the root user, and build the temple in the folder &amp;quot;/biblepay&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Rent an Unbuntu 20 VMS from your favorite VMS provider with a minimum of 6 cores, 600gb hard drive and 16gb of ram (these requirements ensure that the temple will not slow down the cockroachdb cluster and will&lt;br /&gt;
be able to service the ten sanctuary instances, and most importantly will allow the temple to handle future Video traffic and cache storage for our gospel videos feature and upcoming social media features such as Deliverance  Rooms ) .&lt;br /&gt;
&lt;br /&gt;
Follow these instructions to build biblebay:&lt;br /&gt;
https://github.com/biblepay/biblepay/blob/master/BuildBiblePay.txt&lt;br /&gt;
&lt;br /&gt;
If you built biblepay in the /biblepay directory, you should find your biblepayd dameon here:&lt;br /&gt;
/biblepay/biblepay/src/biblepayd&lt;br /&gt;
If not, you can download the binary from the biblepay web site and copy it here, this way the rest of this guide will match.&lt;br /&gt;
&lt;br /&gt;
''' Step 2 - Set up 10 Sanctuaries to become a Potential Temple '''&lt;br /&gt;
&lt;br /&gt;
To be a temple, you will need to override the biblepayd settings with special values that will allow it to write to custom data folders and read custom configuration settings.&lt;br /&gt;
For easy maintenance, in this guide I put all of your biblepay block data in /data and all of your biblepay configurations in /configs.&lt;br /&gt;
First create configs directories:&lt;br /&gt;
&lt;br /&gt;
 cd /&lt;br /&gt;
 mkdir /configs&lt;br /&gt;
 mkdir /data&lt;br /&gt;
 mkdir /data/biblepay1&lt;br /&gt;
 mkdir /data/biblepay2&lt;br /&gt;
 mkdir /data/biblepay3&lt;br /&gt;
 mkdir /data/biblepay4&lt;br /&gt;
 mkdir /data/biblepay5&lt;br /&gt;
 mkdir /data/biblepay6&lt;br /&gt;
 mkdir /data/biblepay7&lt;br /&gt;
 mkdir /data/biblepay8&lt;br /&gt;
 mkdir /data/biblepay9&lt;br /&gt;
 mkdir /data/biblepay10&lt;br /&gt;
 cd /configs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 nano biblepay1.conf&lt;br /&gt;
 shrinkdebugfile=1&lt;br /&gt;
 datadir=/data/biblepay1&lt;br /&gt;
 masternodeblsprivkey=your_bls_privkey&lt;br /&gt;
 port=40000&lt;br /&gt;
 rpcport=20000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Save the file (ctrl-x, shift-Y, enter)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Copy this biblepay1.conf file 10 times to:&lt;br /&gt;
biblepay1.conf, biblepay2.conf ... biblepay10.conf&lt;br /&gt;
(IE type:&lt;br /&gt;
 cp biblepay1.conf biblepay2.conf&lt;br /&gt;
 cp biblepay1.conf biblepay3.conf&lt;br /&gt;
  ... &lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
Edit each file by using nano, and set the following values:&lt;br /&gt;
&lt;br /&gt;
For biblepay1.conf, ensure the port=40000 and the rpcport=20001&lt;br /&gt;
&lt;br /&gt;
For biblepay2.conf, ensure the port=10002 and the rpcport=20002&lt;br /&gt;
&lt;br /&gt;
... (Continue this pattern for files 3 through 9).&lt;br /&gt;
&lt;br /&gt;
For biblepay10.conf, ensure the port=10010 and the rpcport=20010&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Edit the your_bls_privkey with the privkey of the sanctuary that you set up in &amp;quot;EasySanc&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The general rule for the &amp;quot;port&amp;quot; is your first sanc (biblepay1) must have a port of 40000 (this allows outside nodes to find you), &lt;br /&gt;
but, each successive sanc from sanc2-sanc10 must have a port of 10002-10010 (as other sancs will pose ban you otherwise. )&lt;br /&gt;
&lt;br /&gt;
The rule for &amp;quot;rpcport&amp;quot; is they should be unique, starting with 20001 and working up to 20010 (they must be unique, otherwise the node will not start).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Firewall Changes:&lt;br /&gt;
&lt;br /&gt;
In this section simply expose :&lt;br /&gt;
&lt;br /&gt;
 sudo ufw allow 10002&lt;br /&gt;
 sudo ufw allow 10003&lt;br /&gt;
 sudo ufw allow 10004&lt;br /&gt;
 sudo ufw allow 10005&lt;br /&gt;
 sudo ufw allow 10006&lt;br /&gt;
 sudo ufw allow 10007&lt;br /&gt;
 sudo ufw allow 10008&lt;br /&gt;
 sudo ufw allow 10009&lt;br /&gt;
 sudo ufw allow 10010&lt;br /&gt;
 sudo ufw allow 40000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' Start the Nodes and verify each one syncs and acts as a Sanctuary '''&lt;br /&gt;
&lt;br /&gt;
Write a script to launch your nodes so you dont need to manually launch each node in the case of a reboot etc:&lt;br /&gt;
&lt;br /&gt;
cd /configs&lt;br /&gt;
&lt;br /&gt;
nano startbiblepayd.sh&lt;br /&gt;
&lt;br /&gt;
 /biblepay/biblepay/src/biblepayd -conf=/configs/biblepay1.conf&lt;br /&gt;
 /biblepay/biblepay/src/biblepayd -conf=/configs/biblepay2.conf&lt;br /&gt;
 /biblepay/biblepay/src/biblepayd -conf=/configs/biblepay3.conf&lt;br /&gt;
 /biblepay/biblepay/src/biblepayd -conf=/configs/biblepay4.conf&lt;br /&gt;
 /biblepay/biblepay/src/biblepayd -conf=/configs/biblepay5.conf&lt;br /&gt;
 /biblepay/biblepay/src/biblepayd -conf=/configs/biblepay6.conf&lt;br /&gt;
 /biblepay/biblepay/src/biblepayd -conf=/configs/biblepay7.conf&lt;br /&gt;
 /biblepay/biblepay/src/biblepayd -conf=/configs/biblepay8.conf&lt;br /&gt;
 /biblepay/biblepay/src/biblepayd -conf=/configs/biblepay9.conf&lt;br /&gt;
 /biblepay/biblepay/src/biblepayd -conf=/configs/biblepay10.conf&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
ctrl-X, Shift-Y &amp;lt;enter&amp;gt; (to save the file)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 chmod 777 startbiblepayd.sh&lt;br /&gt;
&lt;br /&gt;
To start the nodes simply run the startbiblepayd.sh file by doing this:&lt;br /&gt;
&lt;br /&gt;
 cd /configs&lt;br /&gt;
 ./startbiblepayd.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' Check if BiblePay is synced '''&lt;br /&gt;
&lt;br /&gt;
 cd /biblepay/biblepay/src&lt;br /&gt;
&lt;br /&gt;
 biblepay-cli -conf=/configs/biblepay1.conf getblockchaininfo&lt;br /&gt;
&lt;br /&gt;
 This command should respond with the synced number of blocks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' Check if each node is running as a sanctuary '''&lt;br /&gt;
&lt;br /&gt;
 biblepay-cli -conf=/configs/biblepay1.conf masternode status&lt;br /&gt;
 &lt;br /&gt;
 This should respond with outpoint info if masternode is running.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.biblepay.org/index.php?title=Building_A_Temple&amp;diff=6935</id>
		<title>Building A Temple</title>
		<link rel="alternate" type="text/html" href="https://wiki.biblepay.org/index.php?title=Building_A_Temple&amp;diff=6935"/>
		<updated>2023-07-08T19:08:12Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A Temple is a collection of 10 Sanctuaries.  The first 12 Temples that we Christen will be named after a Tribe of Israel and will receive a special Seal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When you run a temple you are not only helping the BiblePay network by providing a cluster of Ten Sanctuaries (helping the users sync blocks and conduct instant send transactions), but you also act as a CockroachDB database node within the BiblePay Cockroach Cluster.  Your node is entrusted to hold our active Orphan Sponsorship list, orphan expenses, orphan revenue records, Gospel Articles and Content, Gospel Wiki Content, Images hosted on our web site (Unchained.biblepay.org), our Wells project, the active Proposals and Voting records, Phone call transactions, and other database transactions.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that Temples are rewarded at the same rate as other sanctuaries so the Temple operator is not earning more rewards than the average sanctuary owner, it is more of a community service position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' Step 1 - Build a Single BiblePay Node '''&lt;br /&gt;
&lt;br /&gt;
For clarity, please build your temple as the root user, and build the temple in the folder &amp;quot;/biblepay&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Rent an Unbuntu 20 VMS from your favorite VMS provider with a minimum of 6 cores, 600gb hard drive and 16gb of ram (these requirements ensure that the temple will not slow down the cockroachdb cluster and will&lt;br /&gt;
be able to service the ten sanctuary instances, and most importantly will allow the temple to handle future Video traffic and cache storage for our gospel videos feature and upcoming social media features such as Deliverance  Rooms ) .&lt;br /&gt;
&lt;br /&gt;
Follow these instructions to build biblebay:&lt;br /&gt;
https://github.com/biblepay/biblepay/blob/master/BuildBiblePay.txt&lt;br /&gt;
&lt;br /&gt;
If you built biblepay in the /biblepay directory, you should find your biblepayd dameon here:&lt;br /&gt;
/biblepay/biblepay/src/biblepayd&lt;br /&gt;
If not, you can download the binary from the biblepay web site and copy it here, this way the rest of this guide will match.&lt;br /&gt;
&lt;br /&gt;
''' Step 2 - Set up 10 Sanctuaries to become a Potential Temple '''&lt;br /&gt;
&lt;br /&gt;
To be a temple, you will need to override the biblepayd settings with special values that will allow it to write to custom data folders and read custom configuration settings.&lt;br /&gt;
For easy maintenance, in this guide I put all of your biblepay block data in /data and all of your biblepay configurations in /configs.&lt;br /&gt;
First create configs directories:&lt;br /&gt;
&lt;br /&gt;
 cd /&lt;br /&gt;
 mkdir /configs&lt;br /&gt;
 mkdir /data&lt;br /&gt;
 mkdir /data/biblepay1&lt;br /&gt;
 mkdir /data/biblepay2&lt;br /&gt;
 mkdir /data/biblepay3&lt;br /&gt;
 mkdir /data/biblepay4&lt;br /&gt;
 mkdir /data/biblepay5&lt;br /&gt;
 mkdir /data/biblepay6&lt;br /&gt;
 mkdir /data/biblepay7&lt;br /&gt;
 mkdir /data/biblepay8&lt;br /&gt;
 mkdir /data/biblepay9&lt;br /&gt;
 mkdir /data/biblepay10&lt;br /&gt;
 cd /configs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 nano biblepay1.conf&lt;br /&gt;
 shrinkdebugfile=1&lt;br /&gt;
 datadir=/data/biblepay1&lt;br /&gt;
 masternodeblsprivkey=your_bls_privkey&lt;br /&gt;
 port=40000&lt;br /&gt;
 rpcport=20000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Save the file (ctrl-x, shift-Y, enter)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Copy this biblepay1.conf file 10 times to:&lt;br /&gt;
biblepay1.conf, biblepay2.conf ... biblepay10.conf&lt;br /&gt;
(IE type:&lt;br /&gt;
 cp biblepay1.conf biblepay2.conf&lt;br /&gt;
 cp biblepay1.conf biblepay3.conf&lt;br /&gt;
  ... &lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
Edit each file by using nano, and set the following values:&lt;br /&gt;
&lt;br /&gt;
For biblepay1.conf, ensure the port=40000 and the rpcport=20001&lt;br /&gt;
&lt;br /&gt;
For biblepay2.conf, ensure the port=10002 and the rpcport=20002&lt;br /&gt;
&lt;br /&gt;
... (Continue this pattern for files 3 through 9).&lt;br /&gt;
&lt;br /&gt;
For biblepay10.conf, ensure the port=10010 and the rpcport=20010&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Edit the your_bls_privkey with the privkey of the sanctuary that you set up in &amp;quot;EasySanc&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The general rule for the &amp;quot;port&amp;quot; is your first sanc (biblepay1) must have a port of 40000 (this allows outside nodes to find you), &lt;br /&gt;
but, each successive sanc from sanc2-sanc10 must have a port of 10002-10010 (as other sancs will pose ban you otherwise. )&lt;br /&gt;
&lt;br /&gt;
The rule for &amp;quot;rpcport&amp;quot; is they should be unique, starting with 20001 and working up to 20010 (they must be unique, otherwise the node will not start).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Firewall Changes:&lt;br /&gt;
&lt;br /&gt;
In this section simply expose :&lt;br /&gt;
&lt;br /&gt;
 sudo ufw allow 10002&lt;br /&gt;
 sudo ufw allow 10003&lt;br /&gt;
 sudo ufw allow 10004&lt;br /&gt;
 sudo ufw allow 10005&lt;br /&gt;
 sudo ufw allow 10006&lt;br /&gt;
 sudo ufw allow 10007&lt;br /&gt;
 sudo ufw allow 10008&lt;br /&gt;
 sudo ufw allow 10009&lt;br /&gt;
 sudo ufw allow 10010&lt;br /&gt;
 sudo ufw allow 40000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' Start the Nodes and verify each one syncs and acts as a Sanctuary '''&lt;br /&gt;
&lt;br /&gt;
Write a script to launch your nodes so you dont need to manually launch each node in the case of a reboot etc:&lt;br /&gt;
&lt;br /&gt;
cd /configs&lt;br /&gt;
nano startbiblepayd.sh&lt;br /&gt;
&lt;br /&gt;
/biblepay/biblepay/src/biblepayd -conf=/configs/biblepay1.conf&lt;br /&gt;
/biblepay/biblepay/src/biblepayd -conf=/configs/biblepay2.conf&lt;br /&gt;
/biblepay/biblepay/src/biblepayd -conf=/configs/biblepay3.conf&lt;br /&gt;
/biblepay/biblepay/src/biblepayd -conf=/configs/biblepay4.conf&lt;br /&gt;
/biblepay/biblepay/src/biblepayd -conf=/configs/biblepay5.conf&lt;br /&gt;
/biblepay/biblepay/src/biblepayd -conf=/configs/biblepay6.conf&lt;br /&gt;
/biblepay/biblepay/src/biblepayd -conf=/configs/biblepay7.conf&lt;br /&gt;
/biblepay/biblepay/src/biblepayd -conf=/configs/biblepay8.conf&lt;br /&gt;
/biblepay/biblepay/src/biblepayd -conf=/configs/biblepay9.conf&lt;br /&gt;
/biblepay/biblepay/src/biblepayd -conf=/configs/biblepay10.conf&lt;br /&gt;
&lt;br /&gt;
ctrl-X, Shift-Y &amp;lt;enter&amp;gt;&lt;br /&gt;
chmod 777 startbiblepayd.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' Check if BiblePay is synced '''&lt;br /&gt;
&lt;br /&gt;
 cd /biblepay/biblepay/src&lt;br /&gt;
 biblepay-cli -conf=/configs/biblepay1.conf getblockchaininfo&lt;br /&gt;
&lt;br /&gt;
 This should respond with the synced number of blocks&lt;br /&gt;
&lt;br /&gt;
 biblepay-cli -conf=/configs/biblepay1.conf masternode status&lt;br /&gt;
 &lt;br /&gt;
 This should respond with outpoint info if masternode is running.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.biblepay.org/index.php?title=Building_A_Temple&amp;diff=6934</id>
		<title>Building A Temple</title>
		<link rel="alternate" type="text/html" href="https://wiki.biblepay.org/index.php?title=Building_A_Temple&amp;diff=6934"/>
		<updated>2023-07-08T19:05:30Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A Temple is a collection of 10 Sanctuaries.  The first 12 Temples that we Christen will be named after a Tribe of Israel and will receive a special Seal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When you run a temple you are not only helping the BiblePay network by providing a cluster of Ten Sanctuaries (helping the users sync blocks and conduct instant send transactions), but you also act as a CockroachDB database node within the BiblePay Cockroach Cluster.  Your node is entrusted to hold our active Orphan Sponsorship list, orphan expenses, orphan revenue records, Gospel Articles and Content, Gospel Wiki Content, Images hosted on our web site (Unchained.biblepay.org), our Wells project, the active Proposals and Voting records, Phone call transactions, and other database transactions.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that Temples are rewarded at the same rate as other sanctuaries so the Temple operator is not earning more rewards than the average sanctuary owner, it is more of a community service position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' Step 1 - Build a Single BiblePay Node '''&lt;br /&gt;
&lt;br /&gt;
For clarity, please build your temple as the root user, and build the temple in the folder &amp;quot;/biblepay&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Rent an Unbuntu 20 VMS from your favorite VMS provider with a minimum of 6 cores, 600gb hard drive and 16gb of ram (these requirements ensure that the temple will not slow down the cockroachdb cluster and will&lt;br /&gt;
be able to service the ten sanctuary instances, and most importantly will allow the temple to handle future Video traffic and cache storage for our gospel videos feature and upcoming social media features such as Deliverance  Rooms ) .&lt;br /&gt;
&lt;br /&gt;
Follow these instructions to build biblebay:&lt;br /&gt;
https://github.com/biblepay/biblepay/blob/master/BuildBiblePay.txt&lt;br /&gt;
&lt;br /&gt;
If you built biblepay in the /biblepay directory, you should find your biblepayd dameon here:&lt;br /&gt;
/biblepay/biblepay/src/biblepayd&lt;br /&gt;
If not, you can download the binary from the biblepay web site and copy it here, this way the rest of this guide will match.&lt;br /&gt;
&lt;br /&gt;
''' Step 2 - Set up 10 Sanctuaries to become a Potential Temple '''&lt;br /&gt;
&lt;br /&gt;
To be a temple, you will need to override the biblepayd settings with special values that will allow it to write to custom data folders and read custom configuration settings.&lt;br /&gt;
For easy maintenance, in this guide I put all of your biblepay block data in /data and all of your biblepay configurations in /configs.&lt;br /&gt;
First create configs directories:&lt;br /&gt;
&lt;br /&gt;
 cd /&lt;br /&gt;
 mkdir /configs&lt;br /&gt;
 mkdir /data&lt;br /&gt;
 mkdir /data/biblepay1&lt;br /&gt;
 mkdir /data/biblepay2&lt;br /&gt;
 mkdir /data/biblepay3&lt;br /&gt;
 mkdir /data/biblepay4&lt;br /&gt;
 mkdir /data/biblepay5&lt;br /&gt;
 mkdir /data/biblepay6&lt;br /&gt;
 mkdir /data/biblepay7&lt;br /&gt;
 mkdir /data/biblepay8&lt;br /&gt;
 mkdir /data/biblepay9&lt;br /&gt;
 mkdir /data/biblepay10&lt;br /&gt;
 cd /configs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 nano biblepay1.conf&lt;br /&gt;
 shrinkdebugfile=1&lt;br /&gt;
 datadir=/data/biblepay1&lt;br /&gt;
 masternodeblsprivkey=your_bls_privkey&lt;br /&gt;
 port=40000&lt;br /&gt;
 rpcport=20000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Save the file (ctrl-x, shift-Y, enter)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Copy this biblepay1.conf file 10 times to:&lt;br /&gt;
biblepay1.conf, biblepay2.conf ... biblepay10.conf&lt;br /&gt;
(IE type:&lt;br /&gt;
 cp biblepay1.conf biblepay2.conf&lt;br /&gt;
 cp biblepay1.conf biblepay3.conf&lt;br /&gt;
  ... &lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
Edit each file by using nano, and set the following values:&lt;br /&gt;
&lt;br /&gt;
For biblepay1.conf, ensure the port=40000 and the rpcport=20001&lt;br /&gt;
&lt;br /&gt;
For biblepay2.conf, ensure the port=10002 and the rpcport=20002&lt;br /&gt;
&lt;br /&gt;
... (Continue this pattern for files 3 through 9).&lt;br /&gt;
&lt;br /&gt;
For biblepay10.conf, ensure the port=10010 and the rpcport=20010&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Edit the your_bls_privkey with the privkey of the sanctuary that you set up in &amp;quot;EasySanc&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The general rule for the &amp;quot;port&amp;quot; is your first sanc (biblepay1) must have a port of 40000 (this allows outside nodes to find you), &lt;br /&gt;
but, each successive sanc from sanc2-sanc10 must have a port of 10002-10010 (as other sancs will pose ban you otherwise. )&lt;br /&gt;
&lt;br /&gt;
The rule for &amp;quot;rpcport&amp;quot; is they should be unique, starting with 20001 and working up to 20010 (they must be unique, otherwise the node will not start).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Firewall Changes:&lt;br /&gt;
&lt;br /&gt;
In this section simply expose :&lt;br /&gt;
&lt;br /&gt;
 sudo ufw allow 10002-10010&lt;br /&gt;
 sudo ufw allow 40000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' Start the Nodes and verify each one syncs and acts as a Sanctuary '''&lt;br /&gt;
&lt;br /&gt;
Write a script to launch your nodes so you dont need to manually launch each node in the case of a reboot etc:&lt;br /&gt;
&lt;br /&gt;
cd /configs&lt;br /&gt;
nano startbiblepayd.sh&lt;br /&gt;
&lt;br /&gt;
/biblepay/biblepay/src/biblepayd -conf=/configs/biblepay1.conf&lt;br /&gt;
/biblepay/biblepay/src/biblepayd -conf=/configs/biblepay2.conf&lt;br /&gt;
/biblepay/biblepay/src/biblepayd -conf=/configs/biblepay3.conf&lt;br /&gt;
/biblepay/biblepay/src/biblepayd -conf=/configs/biblepay4.conf&lt;br /&gt;
/biblepay/biblepay/src/biblepayd -conf=/configs/biblepay5.conf&lt;br /&gt;
/biblepay/biblepay/src/biblepayd -conf=/configs/biblepay6.conf&lt;br /&gt;
/biblepay/biblepay/src/biblepayd -conf=/configs/biblepay7.conf&lt;br /&gt;
/biblepay/biblepay/src/biblepayd -conf=/configs/biblepay8.conf&lt;br /&gt;
/biblepay/biblepay/src/biblepayd -conf=/configs/biblepay9.conf&lt;br /&gt;
/biblepay/biblepay/src/biblepayd -conf=/configs/biblepay10.conf&lt;br /&gt;
&lt;br /&gt;
ctrl-X, Shift-Y &amp;lt;enter&amp;gt;&lt;br /&gt;
chmod 777 startbiblepayd.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' Check if BiblePay is synced '''&lt;br /&gt;
&lt;br /&gt;
 cd /biblepay/biblepay/src&lt;br /&gt;
 biblepay-cli -conf=/configs/biblepay1.conf getblockchaininfo&lt;br /&gt;
&lt;br /&gt;
 This should respond with the synced number of blocks&lt;br /&gt;
&lt;br /&gt;
 biblepay-cli -conf=/configs/biblepay1.conf masternode status&lt;br /&gt;
 &lt;br /&gt;
 This should respond with outpoint info if masternode is running.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.biblepay.org/index.php?title=Building_A_Temple&amp;diff=6933</id>
		<title>Building A Temple</title>
		<link rel="alternate" type="text/html" href="https://wiki.biblepay.org/index.php?title=Building_A_Temple&amp;diff=6933"/>
		<updated>2023-07-08T18:52:32Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A Temple is a collection of 10 Sanctuaries.  The first 12 Temples that we Christen will be named after a Tribe of Israel and will receive a special Seal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When you run a temple you are not only helping the BiblePay network by providing a cluster of Ten Sanctuaries (helping the users sync blocks and conduct instant send transactions), but you also act as a CockroachDB database node within the BiblePay Cockroach Cluster.  Your node is entrusted to hold our active Orphan Sponsorship list, orphan expenses, orphan revenue records, Gospel Articles and Content, Gospel Wiki Content, Images hosted on our web site (Unchained.biblepay.org), our Wells project, the active Proposals and Voting records, Phone call transactions, and other database transactions.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that Temples are rewarded at the same rate as other sanctuaries so the Temple operator is not earning more rewards than the average sanctuary owner, it is more of a community service position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' Step 1 - Build a Single BiblePay Node '''&lt;br /&gt;
&lt;br /&gt;
For clarity, please build your temple as the root user, and build the temple in the folder &amp;quot;/biblepay&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Rent an Unbuntu 20 VMS from your favorite VMS provider with a minimum of 6 cores, 600gb hard drive and 16gb of ram (these requirements ensure that the temple will not slow down the cockroachdb cluster and will&lt;br /&gt;
be able to service the ten sanctuary instances, and most importantly will allow the temple to handle future Video traffic and cache storage for our gospel videos feature and upcoming social media features such as Deliverance  Rooms ) .&lt;br /&gt;
&lt;br /&gt;
Follow these instructions to build biblebay:&lt;br /&gt;
https://github.com/biblepay/biblepay/blob/master/BuildBiblePay.txt&lt;br /&gt;
&lt;br /&gt;
If you built biblepay in the /biblepay directory, you should find your biblepayd dameon here:&lt;br /&gt;
/biblepay/biblepay/src/biblepayd&lt;br /&gt;
If not, you can download the binary from the biblepay web site and copy it here, this way the rest of this guide will match.&lt;br /&gt;
&lt;br /&gt;
''' Step 2 - Set up 10 Sanctuaries to become a Potential Temple '''&lt;br /&gt;
&lt;br /&gt;
To be a temple, you will need to override the biblepayd settings with special values that will allow it to write to custom data folders and read custom configuration settings.&lt;br /&gt;
For easy maintenance, in this guide I put all of your biblepay block data in /data and all of your biblepay configurations in /configs.&lt;br /&gt;
First create configs directories:&lt;br /&gt;
&lt;br /&gt;
 cd /&lt;br /&gt;
 mkdir /configs&lt;br /&gt;
 mkdir /data&lt;br /&gt;
 cd /configs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 nano biblepay1.conf&lt;br /&gt;
 shrinkdebugfile=1&lt;br /&gt;
 datadir=/data/biblepay1&lt;br /&gt;
 masternodeblsprivkey=your_bls_privkey&lt;br /&gt;
 port=40000&lt;br /&gt;
 rpcport=20000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Save the file (ctrl-x, shift-Y, enter)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Copy this biblepay1.conf file 10 times to:&lt;br /&gt;
biblepay1.conf, biblepay2.conf ... biblepay10.conf&lt;br /&gt;
(IE type:&lt;br /&gt;
 cp biblepay1.conf biblepay2.conf&lt;br /&gt;
 cp biblepay1.conf biblepay3.conf&lt;br /&gt;
  ... &lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
Edit each file by using nano, and set the following values:&lt;br /&gt;
&lt;br /&gt;
For biblepay1.conf, ensure the port=40000 and the rpcport=20001&lt;br /&gt;
&lt;br /&gt;
For biblepay2.conf, ensure the port=10002 and the rpcport=20002&lt;br /&gt;
&lt;br /&gt;
... (Continue this pattern for files 3 through 9).&lt;br /&gt;
&lt;br /&gt;
For biblepay10.conf, ensure the port=10010 and the rpcport=20010&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Edit the your_bls_privkey with the privkey of the sanctuary that you set up in &amp;quot;EasySanc&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The general rule for the &amp;quot;port&amp;quot; is your first sanc (biblepay1) must have a port of 40000 (this allows outside nodes to find you), &lt;br /&gt;
but, each successive sanc from sanc2-sanc10 must have a port of 10002-10010 (as other sancs will pose ban you otherwise. )&lt;br /&gt;
&lt;br /&gt;
The rule for &amp;quot;rpcport&amp;quot; is they should be unique, starting with 20001 and working up to 20010 (they must be unique, otherwise the node will not start).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Firewall Changes:&lt;br /&gt;
&lt;br /&gt;
In this section simply expose :&lt;br /&gt;
&lt;br /&gt;
 sudo ufw allow 10002-10010&lt;br /&gt;
 sudo ufw allow 40000&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.biblepay.org/index.php?title=Building_A_Temple&amp;diff=6932</id>
		<title>Building A Temple</title>
		<link rel="alternate" type="text/html" href="https://wiki.biblepay.org/index.php?title=Building_A_Temple&amp;diff=6932"/>
		<updated>2023-07-08T18:48:38Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A Temple is a collection of 10 Sanctuaries.  The first 12 Temples that we Christen will be named after a Tribe of Israel and will receive a special Seal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When you run a temple you are not only helping the BiblePay network by providing a cluster of Ten Sanctuaries (helping the users sync blocks and conduct instant send transactions), but you also act as a CockroachDB database node within the BiblePay Cockroach Cluster.  Your node is entrusted to hold our active Orphan Sponsorship list, orphan expenses, orphan revenue records, Gospel Articles and Content, Gospel Wiki Content, Images hosted on our web site (Unchained.biblepay.org), our Wells project, the active Proposals and Voting records, Phone call transactions, and other database transactions.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that Temples are rewarded at the same rate as other sanctuaries so the Temple operator is not earning more rewards than the average sanctuary owner, it is more of a community service position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' Step 1 - Build a Single BiblePay Node '''&lt;br /&gt;
&lt;br /&gt;
For clarity, please build your temple as the root user, and build the temple in the folder &amp;quot;/biblepay&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Rent an Unbuntu 20 VMS from your favorite VMS provider with a minimum of 6 cores, 600gb hard drive and 16gb of ram (these requirements ensure that the temple will not slow down the cockroachdb cluster and will&lt;br /&gt;
be able to service the ten sanctuary instances, and most importantly will allow the temple to handle future Video traffic and cache storage for our gospel videos feature and upcoming social media features such as Deliverance  Rooms ) .&lt;br /&gt;
&lt;br /&gt;
Follow these instructions to build biblebay:&lt;br /&gt;
https://github.com/biblepay/biblepay/blob/master/BuildBiblePay.txt&lt;br /&gt;
&lt;br /&gt;
If you built biblepay in the /biblepay directory, you should find your biblepayd dameon here:&lt;br /&gt;
/biblepay/biblepay/src/biblepayd&lt;br /&gt;
If not, you can download the binary from the biblepay web site and copy it here, this way the rest of this guide will match.&lt;br /&gt;
&lt;br /&gt;
''' Step 2 - Set up 10 Sanctuaries to become a Potential Temple '''&lt;br /&gt;
&lt;br /&gt;
To be a temple, you will need to override the biblepayd settings with special values that will allow it to write to custom data folders and read custom configuration settings.&lt;br /&gt;
For easy maintenance, in this guide I put all of your biblepay block data in /data and all of your biblepay configurations in /configs.&lt;br /&gt;
First create a configs directory:&lt;br /&gt;
cd /&lt;br /&gt;
mkdir /configs&lt;br /&gt;
mkdir /data&lt;br /&gt;
cd /configs&lt;br /&gt;
&lt;br /&gt;
nano biblepay1.conf&lt;br /&gt;
shrinkdebugfile=1&lt;br /&gt;
datadir=/data/biblepay1&lt;br /&gt;
masternodeblsprivkey=your_bls_privkey&lt;br /&gt;
port=40000&lt;br /&gt;
rpcport=20000&lt;br /&gt;
&lt;br /&gt;
Save the file (ctrl-x, shift-Y, enter)&lt;br /&gt;
&lt;br /&gt;
Copy this file 10 times to:&lt;br /&gt;
biblepay1.conf, biblepay2.conf ... biblepay10.conf&lt;br /&gt;
Edit each file and set the following values:&lt;br /&gt;
For biblepay1.conf, ensure the port=40000 and the rpcport=20001&lt;br /&gt;
For biblepay2.conf, ensure the port=10002 and the rpcport=20002&lt;br /&gt;
...&lt;br /&gt;
For biblepay10.conf, ensure the port=10010 and the rpcport=20010&lt;br /&gt;
Edit the your_bls_privkey with the privkey of the sanctuary that you set up in &amp;quot;EasySanc&amp;quot;.&lt;br /&gt;
The general rule for the &amp;quot;port&amp;quot; is your first sanc (biblepay1) must have a port of 40000 (this allows outside nodes to find you), but, each successive sanc from sanc2-sanc10 must have a port of 10002-10010 (as other sancs whitelist this port, ports outside of the 100NN range are POSE banned.  )&lt;br /&gt;
The rule for &amp;quot;rpcport&amp;quot; is they should be unique, starting with 20001 and working up to 20010 (there is no rule for RPCport except that it must be unique, otherwise the node will not start).&lt;br /&gt;
&lt;br /&gt;
Firewall Changes:&lt;br /&gt;
In this section simply expose &lt;br /&gt;
sudo ufw allow 10002-10010&lt;br /&gt;
sudo ufw allow 40000&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.biblepay.org/index.php?title=Building_A_Temple&amp;diff=6931</id>
		<title>Building A Temple</title>
		<link rel="alternate" type="text/html" href="https://wiki.biblepay.org/index.php?title=Building_A_Temple&amp;diff=6931"/>
		<updated>2023-07-08T18:48:09Z</updated>

		<summary type="html">&lt;p&gt;Admin: Created page with &amp;quot;A Temple is a collection of 10 Sanctuaries.  The first 12 Temples that we Christen will be named after a Tribe of Israel and will receive a special Seal.   When you run a temp...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A Temple is a collection of 10 Sanctuaries.  The first 12 Temples that we Christen will be named after a Tribe of Israel and will receive a special Seal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When you run a temple you are not only helping the BiblePay network by providing a cluster of Ten Sanctuaries (helping the users sync blocks and conduct instant send transactions), but you also act as a CockroachDB database node within the BiblePay Cockroach Cluster.  Your node is entrusted to hold our active Orphan Sponsorship list, orphan expenses, orphan revenue records, Gospel Articles and Content, Gospel Wiki Content, Images hosted on our web site (Unchained.biblepay.org), our Wells project, the active Proposals and Voting records, Phone call transactions, and other database transactions.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that Temples are rewarded at the same rate as other sanctuaries so the Temple operator is not earning more rewards than the average sanctuary owner, it is more of a community service position.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' Step 1 - Build a Single BiblePay Node '''&lt;br /&gt;
&lt;br /&gt;
For clarity, please build your temple as the root user, and build the temple in the folder &amp;quot;/biblepay&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Rent an Unbuntu 20 VMS from your favorite VMS provider with a minimum of 6 cores, 600gb hard drive and 16gb of ram (these requirements ensure that the temple will not slow down the cockroachdb cluster and will&lt;br /&gt;
be able to service the ten sanctuary instances, and most importantly will allow the temple to handle future Video traffic and cache storage for our gospel videos feature and upcoming social media features such as Deliverance &lt;br /&gt;
 Rooms).&lt;br /&gt;
&lt;br /&gt;
Follow these instructions to build biblebay:&lt;br /&gt;
https://github.com/biblepay/biblepay/blob/master/BuildBiblePay.txt&lt;br /&gt;
&lt;br /&gt;
If you built biblepay in the /biblepay directory, you should find your biblepayd dameon here:&lt;br /&gt;
/biblepay/biblepay/src/biblepayd&lt;br /&gt;
If not, you can download the binary from the biblepay web site and copy it here, this way the rest of this guide will match.&lt;br /&gt;
&lt;br /&gt;
''' Step 2 - Set up 10 Sanctuaries to become a Potential Temple '''&lt;br /&gt;
&lt;br /&gt;
To be a temple, you will need to override the biblepayd settings with special values that will allow it to write to custom data folders and read custom configuration settings.&lt;br /&gt;
For easy maintenance, in this guide I put all of your biblepay block data in /data and all of your biblepay configurations in /configs.&lt;br /&gt;
First create a configs directory:&lt;br /&gt;
cd /&lt;br /&gt;
mkdir /configs&lt;br /&gt;
mkdir /data&lt;br /&gt;
cd /configs&lt;br /&gt;
&lt;br /&gt;
nano biblepay1.conf&lt;br /&gt;
shrinkdebugfile=1&lt;br /&gt;
datadir=/data/biblepay1&lt;br /&gt;
masternodeblsprivkey=your_bls_privkey&lt;br /&gt;
port=40000&lt;br /&gt;
rpcport=20000&lt;br /&gt;
&lt;br /&gt;
Save the file (ctrl-x, shift-Y, enter)&lt;br /&gt;
&lt;br /&gt;
Copy this file 10 times to:&lt;br /&gt;
biblepay1.conf, biblepay2.conf ... biblepay10.conf&lt;br /&gt;
Edit each file and set the following values:&lt;br /&gt;
For biblepay1.conf, ensure the port=40000 and the rpcport=20001&lt;br /&gt;
For biblepay2.conf, ensure the port=10002 and the rpcport=20002&lt;br /&gt;
...&lt;br /&gt;
For biblepay10.conf, ensure the port=10010 and the rpcport=20010&lt;br /&gt;
Edit the your_bls_privkey with the privkey of the sanctuary that you set up in &amp;quot;EasySanc&amp;quot;.&lt;br /&gt;
The general rule for the &amp;quot;port&amp;quot; is your first sanc (biblepay1) must have a port of 40000 (this allows outside nodes to find you), but, each successive sanc from sanc2-sanc10 must have a port of 10002-10010 (as other sancs whitelist this port, ports outside of the 100NN range are POSE banned.  )&lt;br /&gt;
The rule for &amp;quot;rpcport&amp;quot; is they should be unique, starting with 20001 and working up to 20010 (there is no rule for RPCport except that it must be unique, otherwise the node will not start).&lt;br /&gt;
&lt;br /&gt;
Firewall Changes:&lt;br /&gt;
In this section simply expose &lt;br /&gt;
sudo ufw allow 10002-10010&lt;br /&gt;
sudo ufw allow 40000&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.biblepay.org/index.php?title=Free_Phone_Calls_for_New_Users&amp;diff=6930</id>
		<title>Free Phone Calls for New Users</title>
		<link rel="alternate" type="text/html" href="https://wiki.biblepay.org/index.php?title=Free_Phone_Calls_for_New_Users&amp;diff=6930"/>
		<updated>2023-07-04T15:12:29Z</updated>

		<summary type="html">&lt;p&gt;Admin: Created page with &amp;quot; BiblePay is giving away 50,000 BBP for free phone calls to our new users!  Simply follow these directions:  1. Download the BiblePay Desktop Wallet from here: https://biblepa...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
BiblePay is giving away 50,000 BBP for free phone calls to our new users!&lt;br /&gt;
&lt;br /&gt;
Simply follow these directions:&lt;br /&gt;
&lt;br /&gt;
1. Download the BiblePay Desktop Wallet from here:&lt;br /&gt;
https://biblepay.org/biblepay-win64.exe&lt;br /&gt;
&lt;br /&gt;
2. Install the Wallet&lt;br /&gt;
&lt;br /&gt;
3. Launch the wallet and sync the block chain&lt;br /&gt;
&lt;br /&gt;
4. Sync the wallet (allow the blocks to sync to height 431,000+)&lt;br /&gt;
&lt;br /&gt;
5. Click on the Unchained button from the left menu (this launches the Unchained Application)&lt;br /&gt;
&lt;br /&gt;
6. Click on Softphone (this is our built in BBP softphone that allows you to call anywhere in the world!)&lt;br /&gt;
   Copy your BBP address to the clipboard&lt;br /&gt;
&lt;br /&gt;
7. Email rob@biblepay.org with your address and he will send you your Free BBP so that you can make long distance phone calls for free.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.biblepay.org/index.php?title=Activate_Hardware_Phone&amp;diff=6929</id>
		<title>Activate Hardware Phone</title>
		<link rel="alternate" type="text/html" href="https://wiki.biblepay.org/index.php?title=Activate_Hardware_Phone&amp;diff=6929"/>
		<updated>2023-06-24T18:19:16Z</updated>

		<summary type="html">&lt;p&gt;Admin: Created page with &amp;quot;''' How do I get my new telephone (hardware)? '''  Our plan is to support multiple phone models.  Our first entry level phone can be purchased on Amazon here:  https://www.ama...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''' How do I get my new telephone (hardware)? '''&lt;br /&gt;
&lt;br /&gt;
Our plan is to support multiple phone models.&lt;br /&gt;
&lt;br /&gt;
Our first entry level phone can be purchased on Amazon here:&lt;br /&gt;
&lt;br /&gt;
https://www.amazon.com/Grandstream-Business-Single-account-GXP1610/dp/B01318HLCC/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Once you have the phone, unpack it, plug a cat5 network cable from the phone to your LAN jack and turn it on.&lt;br /&gt;
&lt;br /&gt;
Verify it boots up and obtains an IP address.  It will display its IP address on the screen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' How do I provision the phone for the BBP network? '''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Navigate a web browser from your home PC to the IP address on the phone.&lt;br /&gt;
&lt;br /&gt;
For example, if the IP is 192.168.1.2, then go to this web address:&lt;br /&gt;
&lt;br /&gt;
http://192.168.1.2&lt;br /&gt;
&lt;br /&gt;
Once there, it will ask you the username and password.&lt;br /&gt;
Enter admin for the username&lt;br /&gt;
Enter admin for the password&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To provision the phone, open the unchained application by clicking on Unchained from the BiblePay Core wallet.&lt;br /&gt;
&lt;br /&gt;
This will open the Unchained app.  In that app, click Phone | Hardware Settings.&lt;br /&gt;
&lt;br /&gt;
You can now find the answers to each of the provision questions by filling in the values presented on the screen.&lt;br /&gt;
&lt;br /&gt;
You must have more than 10,000 BBP in your phone account to provision your phone (there is no cost associated with this).&lt;br /&gt;
&lt;br /&gt;
Once you populate the answers into the phone (by filling each of the grid value answers), your phone will move to Registered and display your name.&lt;br /&gt;
&lt;br /&gt;
Now you can make calls.  You can also take your phone with you on vacation, and your phone number will stay with you and you can make calls from any internet jack.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.biblepay.org/index.php?title=BiblePay_Email&amp;diff=6928</id>
		<title>BiblePay Email</title>
		<link rel="alternate" type="text/html" href="https://wiki.biblepay.org/index.php?title=BiblePay_Email&amp;diff=6928"/>
		<updated>2023-06-11T16:47:35Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''' How to Create a BiblePay E-Mail Account '''&lt;br /&gt;
&lt;br /&gt;
From Unchained desktop, navigate to E-Mail | E-Mail Maintenance.&lt;br /&gt;
&lt;br /&gt;
Specify the E-Mail username you would like to use, without the @biblepay.org suffix.&lt;br /&gt;
&lt;br /&gt;
Click Submit.&lt;br /&gt;
&lt;br /&gt;
Note that you must have at least 1000 BBP in your unchained wallet.&lt;br /&gt;
&lt;br /&gt;
Once provisioned, you will immediately see the e-mail client settings that are used to set up the home e-mail client.  Now you can set up your home e-mail client (IE Outlook, Mozilla Thunderbird) or your iPhone etc (See below).&lt;br /&gt;
&lt;br /&gt;
The password for your e-mail account is the private key of your Unchained wallet address (to get the password, type 'dumpprivkey unchained_pub_key' from the command line of the wallet).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' How to Set Up BiblePay E-Mail with Thunderbird '''&lt;br /&gt;
&lt;br /&gt;
From Thunderbird, click on Tools | Account Settings.&lt;br /&gt;
&lt;br /&gt;
Populate the Account Name and the &amp;quot;Your Name&amp;quot; to be your preferred human readable account names.&lt;br /&gt;
&lt;br /&gt;
Populate E-Mail address to be your new UserName + @biblepay.org.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;img src='Https://seven.biblepay.org/img/Thunderbird/Thunder1.png' /&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click Server Settings - Here is where you populate the IMAP settings:&lt;br /&gt;
&lt;br /&gt;
Populate Server Type = IMAP&lt;br /&gt;
&lt;br /&gt;
Server Name = seven.biblepay.org&lt;br /&gt;
&lt;br /&gt;
User Name = Your BBP username @biblepay.org&lt;br /&gt;
&lt;br /&gt;
Port = 993&lt;br /&gt;
&lt;br /&gt;
Security = SSL/TLS&lt;br /&gt;
&lt;br /&gt;
Auth Method = Normal&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;img src='Https://seven.biblepay.org/img/Thunderbird/Thunder2.png' /&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click Outgoing Server - this is where you set the SMTP settings:&lt;br /&gt;
&lt;br /&gt;
Click Add&lt;br /&gt;
&lt;br /&gt;
Server Name = seven.biblepay.org&lt;br /&gt;
&lt;br /&gt;
User Name = Your BBP username @biblepay.org&lt;br /&gt;
&lt;br /&gt;
Port = 465&lt;br /&gt;
&lt;br /&gt;
Security = SSL/TLS&lt;br /&gt;
&lt;br /&gt;
Auth Method = Normal&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;img src='Https://seven.biblepay.org/img/Thunderbird/Thunder3.png' /&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' How to Setup BiblePay E-Mail with Outlook '''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;img src='Https://seven.biblepay.org/img/Thunderbird/Outlook1.png' /&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.biblepay.org/index.php?title=BiblePay_Email&amp;diff=6927</id>
		<title>BiblePay Email</title>
		<link rel="alternate" type="text/html" href="https://wiki.biblepay.org/index.php?title=BiblePay_Email&amp;diff=6927"/>
		<updated>2023-06-11T16:17:43Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''' How to Create a BiblePay E-Mail Account '''&lt;br /&gt;
&lt;br /&gt;
From Unchained desktop, navigate to E-Mail | E-Mail Maintenance.&lt;br /&gt;
&lt;br /&gt;
Specify the E-Mail username you would like to use, without the @biblepay.org suffix.&lt;br /&gt;
&lt;br /&gt;
Click Submit.&lt;br /&gt;
&lt;br /&gt;
Note that you must have at least 1000 BBP in your unchained wallet.&lt;br /&gt;
&lt;br /&gt;
Once provisioned, you will immediately see the e-mail client settings that are used to set up the home e-mail client.  Now you can set up your home e-mail client (IE Outlook, Mozilla Thunderbird) or your iPhone etc (See below).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' How to Set Up BiblePay E-Mail with Thunderbird '''&lt;br /&gt;
&lt;br /&gt;
From Thunderbird, click on Tools | Account Settings.&lt;br /&gt;
&lt;br /&gt;
Populate the Account Name and the &amp;quot;Your Name&amp;quot; to be your preferred human readable account names.&lt;br /&gt;
&lt;br /&gt;
Populate E-Mail address to be your new UserName + @biblepay.org.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;img src='Https://seven.biblepay.org/img/Thunderbird/Thunder1.png' /&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click Server Settings - Here is where you populate the IMAP settings:&lt;br /&gt;
&lt;br /&gt;
Populate Server Type = IMAP&lt;br /&gt;
&lt;br /&gt;
Server Name = seven.biblepay.org&lt;br /&gt;
&lt;br /&gt;
User Name = Your BBP username @biblepay.org&lt;br /&gt;
&lt;br /&gt;
Port = 993&lt;br /&gt;
&lt;br /&gt;
Security = SSL/TLS&lt;br /&gt;
&lt;br /&gt;
Auth Method = Normal&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;img src='Https://seven.biblepay.org/img/Thunderbird/Thunder2.png' /&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click Outgoing Server - this is where you set the SMTP settings:&lt;br /&gt;
&lt;br /&gt;
Click Add&lt;br /&gt;
&lt;br /&gt;
Server Name = seven.biblepay.org&lt;br /&gt;
&lt;br /&gt;
User Name = Your BBP username @biblepay.org&lt;br /&gt;
&lt;br /&gt;
Port = 465&lt;br /&gt;
&lt;br /&gt;
Security = SSL/TLS&lt;br /&gt;
&lt;br /&gt;
Auth Method = Normal&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;img src='Https://seven.biblepay.org/img/Thunderbird/Thunder3.png' /&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' How to Setup BiblePay E-Mail with Outlook '''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;img src='Https://seven.biblepay.org/img/Thunderbird/Outlook1.png' /&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.biblepay.org/index.php?title=BiblePay_Email&amp;diff=6926</id>
		<title>BiblePay Email</title>
		<link rel="alternate" type="text/html" href="https://wiki.biblepay.org/index.php?title=BiblePay_Email&amp;diff=6926"/>
		<updated>2023-06-11T15:39:16Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''' How to Create a BiblePay E-Mail Account '''&lt;br /&gt;
&lt;br /&gt;
From Unchained desktop, navigate to E-Mail | E-Mail Maintenance.&lt;br /&gt;
&lt;br /&gt;
Specify the E-Mail username you would like to use, without the @biblepay.org suffix.&lt;br /&gt;
&lt;br /&gt;
Click Submit.&lt;br /&gt;
&lt;br /&gt;
Note that you must have at least 1000 BBP in your unchained wallet.&lt;br /&gt;
&lt;br /&gt;
Once provisioned, you will immediately see the e-mail client settings that are used to set up the home e-mail client.  Now you can set up your home e-mail client (IE Outlook, Mozilla Thunderbird) or your iPhone etc (See below).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' How to Set Up BiblePay E-Mail with Thunderbird '''&lt;br /&gt;
&lt;br /&gt;
From Thunderbird, click on Tools | Account Settings.&lt;br /&gt;
&lt;br /&gt;
Populate the Account Name and the &amp;quot;Your Name&amp;quot; to be your preferred human readable account names.&lt;br /&gt;
&lt;br /&gt;
Populate E-Mail address to be your new UserName + @biblepay.org.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;img src='Https://seven.biblepay.org/img/Thunderbird/Thunder1.png' /&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click Server Settings - Here is where you populate the IMAP settings:&lt;br /&gt;
&lt;br /&gt;
Populate Server Type = IMAP&lt;br /&gt;
&lt;br /&gt;
Server Name = seven.biblepay.org&lt;br /&gt;
&lt;br /&gt;
User Name = Your BBP username @biblepay.org&lt;br /&gt;
&lt;br /&gt;
Port = 993&lt;br /&gt;
&lt;br /&gt;
Security = SSL/TLS&lt;br /&gt;
&lt;br /&gt;
Auth Method = Normal&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;img src='Https://seven.biblepay.org/img/Thunderbird/Thunder2.png' /&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click Outgoing Server - this is where you set the SMTP settings:&lt;br /&gt;
&lt;br /&gt;
Click Add&lt;br /&gt;
&lt;br /&gt;
Server Name = seven.biblepay.org&lt;br /&gt;
&lt;br /&gt;
User Name = Your BBP username @biblepay.org&lt;br /&gt;
&lt;br /&gt;
Port = 465&lt;br /&gt;
&lt;br /&gt;
Security = SSL/TLS&lt;br /&gt;
&lt;br /&gt;
Auth Method = Normal&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;img src='Https://seven.biblepay.org/img/Thunderbird/Thunder3.png' /&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.biblepay.org/index.php?title=BiblePay_Email&amp;diff=6925</id>
		<title>BiblePay Email</title>
		<link rel="alternate" type="text/html" href="https://wiki.biblepay.org/index.php?title=BiblePay_Email&amp;diff=6925"/>
		<updated>2023-06-11T15:36:59Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''' How to Create a BiblePay E-Mail Account '''&lt;br /&gt;
&lt;br /&gt;
From Unchained desktop, navigate to E-Mail | E-Mail Maintenance.&lt;br /&gt;
&lt;br /&gt;
Specify the E-Mail username you would like to use, without the @biblepay.org suffix.&lt;br /&gt;
&lt;br /&gt;
Click Submit.&lt;br /&gt;
&lt;br /&gt;
Note that you must have at least 1000 BBP in your unchained wallet.&lt;br /&gt;
&lt;br /&gt;
Once provisioned, you will immediately see the e-mail client settings that are used to set up the home e-mail client.  Now you can set up your home e-mail client (IE Outlook, Mozilla Thunderbird) or your iPhone etc (See below).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' How to Set Up BiblePay E-Mail with Thunderbird '''&lt;br /&gt;
&lt;br /&gt;
From Thunderbird, click on Tools | Account Settings.&lt;br /&gt;
&lt;br /&gt;
Populate the Account Name and the &amp;quot;Your Name&amp;quot; to be your preferred human readable account names.&lt;br /&gt;
&lt;br /&gt;
Populate E-Mail address to be your new UserName + @biblepay.org.&lt;br /&gt;
&lt;br /&gt;
Https://seven.biblepay.org/img/Thunderbird/Thunder1.png&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click Server Settings - Here is where you populate the IMAP settings:&lt;br /&gt;
&lt;br /&gt;
Populate Server Type = IMAP&lt;br /&gt;
&lt;br /&gt;
Server Name = seven.biblepay.org&lt;br /&gt;
&lt;br /&gt;
User Name = Your BBP username @biblepay.org&lt;br /&gt;
&lt;br /&gt;
Port = 993&lt;br /&gt;
&lt;br /&gt;
Security = SSL/TLS&lt;br /&gt;
&lt;br /&gt;
Auth Method = Normal&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Https://seven.biblepay.org/img/Thunderbird/Thunder2.png&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click Outgoing Server - this is where you set the SMTP settings:&lt;br /&gt;
&lt;br /&gt;
Click Add&lt;br /&gt;
&lt;br /&gt;
Server Name = seven.biblepay.org&lt;br /&gt;
&lt;br /&gt;
User Name = Your BBP username @biblepay.org&lt;br /&gt;
&lt;br /&gt;
Port = 465&lt;br /&gt;
&lt;br /&gt;
Security = SSL/TLS&lt;br /&gt;
&lt;br /&gt;
Auth Method = Normal&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Https://seven.biblepay.org/img/Thunderbird/Thunder3.png&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.biblepay.org/index.php?title=BiblePay_Email&amp;diff=6924</id>
		<title>BiblePay Email</title>
		<link rel="alternate" type="text/html" href="https://wiki.biblepay.org/index.php?title=BiblePay_Email&amp;diff=6924"/>
		<updated>2023-06-11T15:36:11Z</updated>

		<summary type="html">&lt;p&gt;Admin: Created page with &amp;quot;''' How to Create a BiblePay E-Mail Account '''  From Unchained desktop, navigate to E-Mail | E-Mail Maintenance.  Specify the E-Mail username you would like to use, without t...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''' How to Create a BiblePay E-Mail Account '''&lt;br /&gt;
&lt;br /&gt;
From Unchained desktop, navigate to E-Mail | E-Mail Maintenance.&lt;br /&gt;
&lt;br /&gt;
Specify the E-Mail username you would like to use, without the @biblepay.org suffix.&lt;br /&gt;
&lt;br /&gt;
Click Submit.&lt;br /&gt;
&lt;br /&gt;
Note that you must have at least 1000 BBP in your unchained wallet.&lt;br /&gt;
&lt;br /&gt;
Once provisioned, you will immediately see the e-mail client settings that are used to set up the home e-mail client.  Now you can set up your home e-mail client (IE Outlook, Mozilla Thunderbird) or your iPhone etc (See below).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' How to Set Up BiblePay E-Mail with Thunderbird '''&lt;br /&gt;
&lt;br /&gt;
From Thunderbird, click on Tools | Account Settings.&lt;br /&gt;
Populate the Account Name and the &amp;quot;Your Name&amp;quot; to be your preferred human readable account names.&lt;br /&gt;
Populate E-Mail address to be your new UserName + @biblepay.org.&lt;br /&gt;
&lt;br /&gt;
Https://seven.biblepay.org/img/Thunderbird/Thunder1.png&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click Server Settings - Here is where you populate the IMAP settings:&lt;br /&gt;
&lt;br /&gt;
Populate Server Type = IMAP&lt;br /&gt;
Server Name = seven.biblepay.org&lt;br /&gt;
User Name = Your BBP username @biblepay.org&lt;br /&gt;
Port = 993&lt;br /&gt;
Security = SSL/TLS&lt;br /&gt;
Auth Method = Normal&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Https://seven.biblepay.org/img/Thunderbird/Thunder2.png&lt;br /&gt;
&lt;br /&gt;
Click Outgoing Server - this is where you set the SMTP settings:&lt;br /&gt;
&lt;br /&gt;
Click Add&lt;br /&gt;
Server Name = seven.biblepay.org&lt;br /&gt;
User Name = Your BBP username @biblepay.org&lt;br /&gt;
Port = 465&lt;br /&gt;
Security = SSL/TLS&lt;br /&gt;
Auth Method = Normal&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Https://seven.biblepay.org/img/Thunderbird/Thunder3.png&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.biblepay.org/index.php?title=Red_Sea_User_Guide&amp;diff=6923</id>
		<title>Red Sea User Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.biblepay.org/index.php?title=Red_Sea_User_Guide&amp;diff=6923"/>
		<updated>2023-06-04T17:45:19Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
'''Introduction'''&lt;br /&gt;
&lt;br /&gt;
BiblePay has moved features away from the web and to the Unchained Desktop Application.  The Unchained Desktop App is part of the BiblePay core wallet, however it lives in its own EXE (executable program).  It is connected to the wallet through one core-wallet wallet keypair to Unchained Desktop: The key label 'Unchained'.  This allows Unchained to provide features such as video tipping, NFT purchases, file storage charges, and the BiblePay Phone System.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' How to associate the Core Wallet with Unchained '''&lt;br /&gt;
&lt;br /&gt;
When you launch unchained for the first time, the core wallet will automatically provision the 'Unchained' key for you.  You will need to send funds to that key in order to spend in Unchained.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' How To Launch Unchained '''&lt;br /&gt;
&lt;br /&gt;
Click the Unchained button from the left menu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' BiblePay Phone System '''&lt;br /&gt;
&lt;br /&gt;
We are happy to announce the first Blockchain Phone Service.  With the BiblePay Phone system, you get a real US phone number attached to your BBP keypair.  Our softphone allows you to make and receive phone calls globally from real PSTN phone numbers and to real PSTN phone numbers at an extremely low rate per minute (1.9 cents per minute) for long distance.  You can call any country in the world for this low rate.  In version 1.0, the phone service works as a softphone where you wear your headset.  In version 2.0 (coming soon) you can use a hardware phone as well.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' How do I provision my BiblePay Phone? '''&lt;br /&gt;
&lt;br /&gt;
1. Launch Unchained Desktop&lt;br /&gt;
&lt;br /&gt;
2. Verify your Balance is &amp;gt; 5000 BBP&lt;br /&gt;
&lt;br /&gt;
3. Click on Phone Service&lt;br /&gt;
&lt;br /&gt;
4. Choose a Phone Region and Area Code.&lt;br /&gt;
&lt;br /&gt;
5. BiblePay will provide a real phone number.&lt;br /&gt;
&lt;br /&gt;
6. Make a test call.&lt;br /&gt;
&lt;br /&gt;
7. Your assigned phone number will always be visible from the Phone Service page.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' Online Sancs (Active Hosted Sanctuaries/Techies) vs Offline Sancs (Investors) '''&lt;br /&gt;
&lt;br /&gt;
We have two modes.  Online Sancs are designed for enthusiasts who want to host a sanctuary on a VM and earn the full 100% reward.&lt;br /&gt;
These sanctuaries actively help the network by ensuring nodes are available to supply blocks, they perform Sanctuary Mining, and they take part in running our Cockroach Database and help host the phone system.&lt;br /&gt;
&lt;br /&gt;
Offline Sancs (Investor Sancs) are sanctuaries that are always offline.  They do not participate in servicing the users, but they do help maintain our price by holding a stake in a sanctuary investment.&lt;br /&gt;
&lt;br /&gt;
Both types of sancs require the same collateral:  4,500,001 BBP.&lt;br /&gt;
&lt;br /&gt;
The Online sanc receives a 100% reward while the offline sanc receives a 50% reward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' How to Create a Sanctuary '''&lt;br /&gt;
&lt;br /&gt;
Regardless whether you want an Investor sanc or an active sanc, you can follow these instructions to create a new sanc:&lt;br /&gt;
&lt;br /&gt;
https://wiki.biblepay.org/EasySanc&lt;br /&gt;
&lt;br /&gt;
Once the sanctuary is running, you will receive a full reward if it is hosted.  If it falls into the INVESTOR state you will receive half of the reward.&lt;br /&gt;
Note, investors will need to set a key in their biblepay.conf file:  revivesanctuaries=1.&lt;br /&gt;
This key will cause the biblepay wallet to revive your investor sancs once per day.&lt;br /&gt;
You will need to leave the home controller wallet running so that biblepay can revive your sanctuaries.  Also, your wallet needs to be unlocked so that BBP can send out a revival transaction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thank you for Using BiblePay!&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.biblepay.org/index.php?title=Red_Sea_User_Guide&amp;diff=6922</id>
		<title>Red Sea User Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.biblepay.org/index.php?title=Red_Sea_User_Guide&amp;diff=6922"/>
		<updated>2023-05-20T17:45:16Z</updated>

		<summary type="html">&lt;p&gt;Admin: Created page with &amp;quot; '''Introduction'''  BiblePay has moved features away from the web and to the Unchained Desktop Application.  The Unchained Desktop App is part of the BiblePay core wallet, ho...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
'''Introduction'''&lt;br /&gt;
&lt;br /&gt;
BiblePay has moved features away from the web and to the Unchained Desktop Application.  The Unchained Desktop App is part of the BiblePay core wallet, however it lives in its own EXE (executable program).  It is connected to the wallet through one core-wallet wallet keypair to Unchained Desktop: The key label 'Unchained'.  This allows Unchained to provide features such as video tipping, NFT purchases, file storage charges, and the BiblePay Phone System.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' How to associate the Core Wallet with Unchained '''&lt;br /&gt;
&lt;br /&gt;
When you launch unchained for the first time, the core wallet will automatically provision the 'Unchained' key for you.  You will need to send funds to that key in order to spend in Unchained.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' How To Launch Unchained '''&lt;br /&gt;
&lt;br /&gt;
Click the Unchained button from the left menu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' BiblePay Phone System '''&lt;br /&gt;
&lt;br /&gt;
We are happy to announce the first Blockchain Phone Service.  With the BiblePay Phone system, you get a real US phone number attached to your BBP keypair.  Our softphone allows you to make and receive phone calls globally from real PSTN phone numbers and to real PSTN phone numbers at an extremely low rate per minute (1.9 cents per minute) for long distance.  You can call any country in the world for this low rate.  In version 1.0, the phone service works as a softphone where you wear your headset.  In version 2.0 (coming soon) you can use a hardware phone as well.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' How do I provision my BiblePay Phone? '''&lt;br /&gt;
&lt;br /&gt;
1. Launch Unchained Desktop&lt;br /&gt;
&lt;br /&gt;
2. Verify your Balance is &amp;gt; 5000 BBP&lt;br /&gt;
&lt;br /&gt;
3. Click on Phone Service&lt;br /&gt;
&lt;br /&gt;
4. Choose a Phone Region and Area Code.&lt;br /&gt;
&lt;br /&gt;
5. BiblePay will provide a real phone number.&lt;br /&gt;
&lt;br /&gt;
6. Make a test call.&lt;br /&gt;
&lt;br /&gt;
7. Your assigned phone number will always be visible from the Phone Service page.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' Online Sancs (Active Hosted Sanctuaries/Techies) vs Offline Sancs (Investors) '''&lt;br /&gt;
&lt;br /&gt;
We have two modes.  Online Sancs are designed for enthusiasts who want to host a sanctuary on a VM and earn the full 100% reward.&lt;br /&gt;
These sanctuaries actively help the network by ensuring nodes are available to supply blocks, they perform Sanctuary Mining, and they take part in running our Cockroach Database and help host the phone system.&lt;br /&gt;
&lt;br /&gt;
Offline Sancs (Investor Sancs) are sanctuaries that are always offline.  They do not participate in servicing the users, but they do help maintain our price by holding a stake in a sanctuary investment.&lt;br /&gt;
&lt;br /&gt;
Both types of sancs require the same collateral:  4,500,001 BBP.&lt;br /&gt;
&lt;br /&gt;
The Online sanc receives a 100% reward while the offline sanc receives a 50% reward.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.biblepay.org/index.php?title=Red_Sea_Release&amp;diff=6921</id>
		<title>Red Sea Release</title>
		<link rel="alternate" type="text/html" href="https://wiki.biblepay.org/index.php?title=Red_Sea_Release&amp;diff=6921"/>
		<updated>2023-05-13T13:41:39Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;All Glory to God.&lt;br /&gt;
&lt;br /&gt;
God is responsible for the Architecture of BiblePay, and all Good things come down from our Heavenly Father:  the great I AM (Yahweh).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Red Sea plans for a strong foundation:&lt;br /&gt;
&lt;br /&gt;
- The Core Wallet (C++ BiblePayd and C++/QT Wallet) stays pristine so that we can integrate upstream commits and keep the wallet pure, clean, and secure.&lt;br /&gt;
  * Security means you can always count on the core wallet to provide a secure place (your keys, your balance) for your biblepay.&lt;br /&gt;
  * Security means our web site code will never maniuplate or read your wallet keys (except one key that we designate as your BBP-Unchained Key).&lt;br /&gt;
  * Pristine means that we will not pollute the core wallet with UI pages that will break in the future when upstream commits refactor the wallet.&lt;br /&gt;
&lt;br /&gt;
- Unchained will move to the desktop.&lt;br /&gt;
  * This means that the cool features that we always wanted to put in the wallet (like the prayer room, BBP chat, Deliverance videoconference rooms, Social Media Timeline) will now be possible&lt;br /&gt;
    as they will live in our new Desktop Web Pages.&lt;br /&gt;
  * This opens up the exciting possibility for devs to contribute to make new UI pages without interfering with the c++ core wallet code&lt;br /&gt;
  * This means security will be improved in unchained because signing will occur on the desktop&lt;br /&gt;
  * This opens up the possibility for BBP to offer new collaboration apps (IE competition for Basecamp/Zoho)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- Unchained Web will lose some features:&lt;br /&gt;
  * Turnkey Sancs will be retired in favor of Decentralized Offline Sancs&lt;br /&gt;
    a.  If you fund a new sanc and keep it offline you will earn a 50% reward (this replaces portfolio builder and turnkey sancs)&lt;br /&gt;
    b.  If you fund a sanc and keep it online (along with BMS), you receive a 100% reward&lt;br /&gt;
  * Portfolio Builder will be retired in favor of decentralized Offline Sancs&lt;br /&gt;
&lt;br /&gt;
- RandomX Mining to be retired:&lt;br /&gt;
  * RandomX pool mining is going to be retired in favor of Sanctuary Mining&lt;br /&gt;
  * Sanctuaries mine in a non competetive, deterministic way in the background (consuming low resources)&lt;br /&gt;
  * This increases the sanctuary reward&lt;br /&gt;
  * The sanctuary reward goes to both offline sancs and online sancs so we may reward both types of investors (offline sancs get half)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- Extra Large Sancs (Temple) &lt;br /&gt;
  * If you own 10 or more sancs, your node will automatically run an instance of Cockroach DB (A decentralized database).&lt;br /&gt;
  * This database is used to store our orphan collage, our expenses and our revenue&lt;br /&gt;
  * In this way we fully dencetralize biblepay 100% so that no party is responsible for any back-end database&lt;br /&gt;
  * This database also stores the metadata for bio images, the forum, timeline posts, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- Decentralized Governance Voting improvements&lt;br /&gt;
  * It will be possible to vote on configuration changes (IE permission delegation)&lt;br /&gt;
  * This allows a responsible party to enter a historical accounting record or perform clerical duties&lt;br /&gt;
&lt;br /&gt;
- BiblePay will have a nice API:&lt;br /&gt;
&lt;br /&gt;
  * The core wallet will have a button on the menu that launches Desktop Unchained&lt;br /&gt;
  * Desktop Unchained will contain all of the Extra BBP UI&lt;br /&gt;
  * A back end Biblepay.DLL will be included in our releases which give developers the capability to interface with BBP&lt;br /&gt;
    (IE upload videos, download files, send money, receive money, etc)&lt;br /&gt;
  * Our biblepay DLL will eventually become a DLL on NuGet, opening up BBP to thousands of c# developers (Scheduled for Q4 2023)&lt;br /&gt;
&lt;br /&gt;
- BiblePay moves away from Metamask/ERC-20 Signing Keys:&lt;br /&gt;
&lt;br /&gt;
  * To make Unchained more accessible, we move away from Metamask so that we no longer require the plug-in&lt;br /&gt;
  * Unchained authenticates by using one Core wallet key (the Unchained Key)&lt;br /&gt;
  * You can fund your Unchained key by sending BBP to it&lt;br /&gt;
  * You can spend funds from your Unchained Key by spending it in the Desktop App (Desktop Features will be revealed during the Red Sea Release)&lt;br /&gt;
  * Because of this, all funds should be withdrawn from unchained.biblepay.org (Remove web wallet funds and remove Turnkey Sanctuaries).  You can leave Portfolio Builder balances as those live in the Core Wallet.&lt;br /&gt;
&lt;br /&gt;
- True decentralized bandwidth is coming to the desktop:&lt;br /&gt;
&lt;br /&gt;
  * Our video player pulls files in parallel from STORJ's 4000+ hard drives and does not use DNS.  Since it works in parallel it cannot be ddossed, and it uses IP rather than DNS for the addresses.&lt;br /&gt;
    If the individual Storj miners are up, our videos are up.  We no longer rely on cloudflare for DDOS/CDN.&lt;br /&gt;
  * Our video uploader will also upload in parallel directly to the STORJ network, and cannot be taken down from conventional DDOS.  If StorJ miners are up, we are up.&lt;br /&gt;
  * Our file attachments also work this way&lt;br /&gt;
  * Our decentralized balances work across our sancs, not against one public web host.&lt;br /&gt;
  * Our cockroach decentralized database is up even when some BBP sancs fail.  (Storage density is always 3* or more).&lt;br /&gt;
  * Our web server is truly decentralized.  Every BBP user will run their own server.&lt;br /&gt;
  * Our web pages will be PRIVATE.  Meaning that when you sign a transaction it will be done on your machine and not on the web hosts server!&lt;br /&gt;
  * Now we can offer the ability to write software that competes with Zoho (public collaboration software).  This could be a sustainable source of revenue for BBP in the future.&lt;br /&gt;
    Our software being decentralized will run each instance on the BBP desktop.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.biblepay.org/index.php?title=Red_Sea_Release&amp;diff=6920</id>
		<title>Red Sea Release</title>
		<link rel="alternate" type="text/html" href="https://wiki.biblepay.org/index.php?title=Red_Sea_Release&amp;diff=6920"/>
		<updated>2023-05-13T13:41:10Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;All Glory to God.&lt;br /&gt;
&lt;br /&gt;
God is responsible for the Architecture of BiblePay, and all Good things come down from our Heavenly Father:  the great I AM (Yahweh).&lt;br /&gt;
&lt;br /&gt;
Praise be to Jesus, the Ruach Hakodesh and Yahweh.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Red Sea plans for a strong foundation:&lt;br /&gt;
&lt;br /&gt;
- The Core Wallet (C++ BiblePayd and C++/QT Wallet) stays pristine so that we can integrate upstream commits and keep the wallet pure, clean, and secure.&lt;br /&gt;
  * Security means you can always count on the core wallet to provide a secure place (your keys, your balance) for your biblepay.&lt;br /&gt;
  * Security means our web site code will never maniuplate or read your wallet keys (except one key that we designate as your BBP-Unchained Key).&lt;br /&gt;
  * Pristine means that we will not pollute the core wallet with UI pages that will break in the future when upstream commits refactor the wallet.&lt;br /&gt;
&lt;br /&gt;
- Unchained will move to the desktop.&lt;br /&gt;
  * This means that the cool features that we always wanted to put in the wallet (like the prayer room, BBP chat, Deliverance videoconference rooms, Social Media Timeline) will now be possible&lt;br /&gt;
    as they will live in our new Desktop Web Pages.&lt;br /&gt;
  * This opens up the exciting possibility for devs to contribute to make new UI pages without interfering with the c++ core wallet code&lt;br /&gt;
  * This means security will be improved in unchained because signing will occur on the desktop&lt;br /&gt;
  * This opens up the possibility for BBP to offer new collaboration apps (IE competition for Basecamp/Zoho)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- Unchained Web will lose some features:&lt;br /&gt;
  * Turnkey Sancs will be retired in favor of Decentralized Offline Sancs&lt;br /&gt;
    a.  If you fund a new sanc and keep it offline you will earn a 50% reward (this replaces portfolio builder and turnkey sancs)&lt;br /&gt;
    b.  If you fund a sanc and keep it online (along with BMS), you receive a 100% reward&lt;br /&gt;
  * Portfolio Builder will be retired in favor of decentralized Offline Sancs&lt;br /&gt;
&lt;br /&gt;
- RandomX Mining to be retired:&lt;br /&gt;
  * RandomX pool mining is going to be retired in favor of Sanctuary Mining&lt;br /&gt;
  * Sanctuaries mine in a non competetive, deterministic way in the background (consuming low resources)&lt;br /&gt;
  * This increases the sanctuary reward&lt;br /&gt;
  * The sanctuary reward goes to both offline sancs and online sancs so we may reward both types of investors (offline sancs get half)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- Extra Large Sancs (Temple) &lt;br /&gt;
  * If you own 10 or more sancs, your node will automatically run an instance of Cockroach DB (A decentralized database).&lt;br /&gt;
  * This database is used to store our orphan collage, our expenses and our revenue&lt;br /&gt;
  * In this way we fully dencetralize biblepay 100% so that no party is responsible for any back-end database&lt;br /&gt;
  * This database also stores the metadata for bio images, the forum, timeline posts, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- Decentralized Governance Voting improvements&lt;br /&gt;
  * It will be possible to vote on configuration changes (IE permission delegation)&lt;br /&gt;
  * This allows a responsible party to enter a historical accounting record or perform clerical duties&lt;br /&gt;
&lt;br /&gt;
- BiblePay will have a nice API:&lt;br /&gt;
&lt;br /&gt;
  * The core wallet will have a button on the menu that launches Desktop Unchained&lt;br /&gt;
  * Desktop Unchained will contain all of the Extra BBP UI&lt;br /&gt;
  * A back end Biblepay.DLL will be included in our releases which give developers the capability to interface with BBP&lt;br /&gt;
    (IE upload videos, download files, send money, receive money, etc)&lt;br /&gt;
  * Our biblepay DLL will eventually become a DLL on NuGet, opening up BBP to thousands of c# developers (Scheduled for Q4 2023)&lt;br /&gt;
&lt;br /&gt;
- BiblePay moves away from Metamask/ERC-20 Signing Keys:&lt;br /&gt;
&lt;br /&gt;
  * To make Unchained more accessible, we move away from Metamask so that we no longer require the plug-in&lt;br /&gt;
  * Unchained authenticates by using one Core wallet key (the Unchained Key)&lt;br /&gt;
  * You can fund your Unchained key by sending BBP to it&lt;br /&gt;
  * You can spend funds from your Unchained Key by spending it in the Desktop App (Desktop Features will be revealed during the Red Sea Release)&lt;br /&gt;
  * Because of this, all funds should be withdrawn from unchained.biblepay.org (Remove web wallet funds and remove Turnkey Sanctuaries).  You can leave Portfolio Builder balances as those live in the Core Wallet.&lt;br /&gt;
&lt;br /&gt;
- True decentralized bandwidth is coming to the desktop:&lt;br /&gt;
&lt;br /&gt;
  * Our video player pulls files in parallel from STORJ's 4000+ hard drives and does not use DNS.  Since it works in parallel it cannot be ddossed, and it uses IP rather than DNS for the addresses.&lt;br /&gt;
    If the individual Storj miners are up, our videos are up.  We no longer rely on cloudflare for DDOS/CDN.&lt;br /&gt;
  * Our video uploader will also upload in parallel directly to the STORJ network, and cannot be taken down from conventional DDOS.  If StorJ miners are up, we are up.&lt;br /&gt;
  * Our file attachments also work this way&lt;br /&gt;
  * Our decentralized balances work across our sancs, not against one public web host.&lt;br /&gt;
  * Our cockroach decentralized database is up even when some BBP sancs fail.  (Storage density is always 3* or more).&lt;br /&gt;
  * Our web server is truly decentralized.  Every BBP user will run their own server.&lt;br /&gt;
  * Our web pages will be PRIVATE.  Meaning that when you sign a transaction it will be done on your machine and not on the web hosts server!&lt;br /&gt;
  * Now we can offer the ability to write software that competes with Zoho (public collaboration software).  This could be a sustainable source of revenue for BBP in the future.&lt;br /&gt;
    Our software being decentralized will run each instance on the BBP desktop.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.biblepay.org/index.php?title=Red_Sea_Release&amp;diff=6919</id>
		<title>Red Sea Release</title>
		<link rel="alternate" type="text/html" href="https://wiki.biblepay.org/index.php?title=Red_Sea_Release&amp;diff=6919"/>
		<updated>2023-04-02T21:03:00Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;All Glory to God.&lt;br /&gt;
&lt;br /&gt;
God is responsible for the Architecture of BiblePay, and all Good things come down from our Heavenly Father:  the great I AM (Yahweh).&lt;br /&gt;
&lt;br /&gt;
Praise be to Jesus, the Ruach Hakodesh and Yahweh.&lt;br /&gt;
&lt;br /&gt;
Our goal for the Red Sea Release is to organize BiblePay into it's proper and clear and logical demarcation points so that we can maintain it and build on a strong decentralized foundation.&lt;br /&gt;
&lt;br /&gt;
As you know things have shifted around while we &amp;quot;feel out&amp;quot; what is best, but only truth stands, and that comes from God.&lt;br /&gt;
&lt;br /&gt;
Red Sea plans for a strong foundation:&lt;br /&gt;
&lt;br /&gt;
- The Core Wallet (C++ BiblePayd and C++/QT Wallet) stays pristine so that we can integrate upstream commits and keep the wallet pure, clean, and secure.&lt;br /&gt;
  * Security means you can always count on the core wallet to provide a secure place (your keys, your balance) for your biblepay.&lt;br /&gt;
  * Security means our web site code will never maniuplate or read your wallet keys (except one key that we designate as your BBP-Unchained Key).&lt;br /&gt;
  * Pristine means that we will not pollute the core wallet with UI pages that will break in the future when upstream commits refactor the wallet.&lt;br /&gt;
&lt;br /&gt;
- Unchained will move to the desktop.&lt;br /&gt;
  * This means that the cool features that we always wanted to put in the wallet (like the prayer room, BBP chat, Deliverance videoconference rooms, Social Media Timeline) will now be possible&lt;br /&gt;
    as they will live in our new Desktop Web Pages.&lt;br /&gt;
  * This opens up the exciting possibility for devs to contribute to make new UI pages without interfering with the c++ core wallet code&lt;br /&gt;
  * This means security will be improved in unchained because signing will occur on the desktop&lt;br /&gt;
  * This opens up the possibility for BBP to offer new collaboration apps (IE competition for Basecamp/Zoho)&lt;br /&gt;
&lt;br /&gt;
- Unchained Web will lose some features:&lt;br /&gt;
  * Turnkey Sancs will be retired in favor of Decentralized Offline Sancs&lt;br /&gt;
    a.  If you fund a new sanc and keep it offline you will earn a 50% reward (this replaces portfolio builder and turnkey sancs)&lt;br /&gt;
    b.  If you fund a sanc and keep it online (along with BMS), you receive a 100% reward&lt;br /&gt;
  * Portfolio Builder will be retired in favor of decentralized Offline Sancs&lt;br /&gt;
&lt;br /&gt;
- RandomX Mining to be retired:&lt;br /&gt;
  * RandomX pool mining is going to be retired in favor of Sanctuary Mining&lt;br /&gt;
  * Sanctuaries mine in a non competetive, deterministic way in the background (consuming low resources)&lt;br /&gt;
  * This increases the sanctuary reward&lt;br /&gt;
  * The sanctuary reward goes to both offline sancs and online sancs so we may reward both types of investors (offline sancs get half)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- Extra Large Sancs (Temple) &lt;br /&gt;
  * If you own 10 or more sancs, your node will automatically run an instance of Cockroach DB (A decentralized database).&lt;br /&gt;
  * This database is used to store our orphan collage, our expenses and our revenue&lt;br /&gt;
  * In this way we fully dencetralize biblepay 100% so that no party is responsible for any back-end database&lt;br /&gt;
  * This database also stores the metadata for bio images, the forum, timeline posts, etc.&lt;br /&gt;
&lt;br /&gt;
- Decentralized Governance Voting improvements&lt;br /&gt;
  * It will be possible to vote on configuration changes (IE permission delegation)&lt;br /&gt;
  * This allows a responsible party to enter a historical accounting record or perform clerical duties&lt;br /&gt;
&lt;br /&gt;
- BiblePay will have a nice API:&lt;br /&gt;
&lt;br /&gt;
  * The core wallet will have a button on the menu that launches Desktop Unchained&lt;br /&gt;
  * Desktop Unchained will contain all of the Extra BBP UI&lt;br /&gt;
  * A back end Biblepay.DLL will be included in our releases which give developers the capability to interface with BBP&lt;br /&gt;
    (IE upload videos, download files, send money, receive money, etc)&lt;br /&gt;
  * Our biblepay DLL will eventually become a DLL on NuGet, opening up BBP to thousands of c# developers (Scheduled for Q4 2023)&lt;br /&gt;
&lt;br /&gt;
- BiblePay moves away from Metamask/ERC-20 Signing Keys:&lt;br /&gt;
&lt;br /&gt;
  * To make Unchained more accessible, we move away from Metamask so that we no longer require the plug-in&lt;br /&gt;
  * Unchained authenticates by using one Core wallet key (the Unchained Key)&lt;br /&gt;
  * You can fund your Unchained key by sending BBP to it&lt;br /&gt;
  * You can spend funds from your Unchained Key by spending it in the Desktop App (Desktop Features will be revealed during the Red Sea Release)&lt;br /&gt;
  * Because of this, all funds should be withdrawn from unchained.biblepay.org (Remove web wallet funds and remove Turnkey Sanctuaries).  You can leave Portfolio Builder balances as those live in the Core Wallet.&lt;br /&gt;
&lt;br /&gt;
- True decentralized bandwidth is coming to the desktop:&lt;br /&gt;
&lt;br /&gt;
  * Our video player pulls files in parallel from STORJ's 4000+ hard drives and does not use DNS.  Since it works in parallel it cannot be ddossed, and it uses IP rather than DNS for the addresses.&lt;br /&gt;
    If the individual Storj miners are up, our videos are up.  We no longer rely on cloudflare for DDOS/CDN.&lt;br /&gt;
  * Our video uploader will also upload in parallel directly to the STORJ network, and cannot be taken down from conventional DDOS.  If StorJ miners are up, we are up.&lt;br /&gt;
  * Our file attachments also work this way!&lt;br /&gt;
  * Our decentralized balances work across our sancs, not against one public web host.&lt;br /&gt;
  * Our cockroach decentralized database is up even when some BBP sancs fail.  (Storage density is always 3* or more).&lt;br /&gt;
  * Our web server is truly decentralized.  Every BBP user will run their own server.&lt;br /&gt;
  * Our web pages will be PRIVATE.  Meaning that when you sign a transaction it will be done on your machine and not on the web hosts server!&lt;br /&gt;
  * Now we can offer the ability to write software that competes with Zoho (public collaboration software).  This could be a sustainable source of revenue for BBP in the future.&lt;br /&gt;
    Our software being decentralized will run each instance on the BBP desktop.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.biblepay.org/index.php?title=Red_Sea_Release&amp;diff=6918</id>
		<title>Red Sea Release</title>
		<link rel="alternate" type="text/html" href="https://wiki.biblepay.org/index.php?title=Red_Sea_Release&amp;diff=6918"/>
		<updated>2023-04-02T20:47:14Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;All Glory to God.&lt;br /&gt;
&lt;br /&gt;
God is responsible for the Architecture of BiblePay, and all Good things come down from our Heavenly Father:  the great I AM (Yahweh).&lt;br /&gt;
&lt;br /&gt;
Praise be to Jesus, the Ruach Hakodesh and Yahweh.&lt;br /&gt;
&lt;br /&gt;
Our goal for the Red Sea Release is to organize BiblePay into it's proper and clear and logical demarcation points so that we can maintain it and build on a strong decentralized foundation.&lt;br /&gt;
&lt;br /&gt;
As you know things have shifted around while we &amp;quot;feel out&amp;quot; what is best, but only truth stands, and that comes from God.&lt;br /&gt;
&lt;br /&gt;
Red Sea plans for a strong foundation:&lt;br /&gt;
&lt;br /&gt;
- The Core Wallet (C++ BiblePayd and C++/QT Wallet) stays pristine so that we can integrate upstream commits and keep the wallet pure, clean, and secure.&lt;br /&gt;
  * Security means you can always count on the core wallet to provide a secure place (your keys, your balance) for your biblepay.&lt;br /&gt;
  * Security means our web site code will never maniuplate or read your wallet keys (except one key that we designate as your BBP-Unchained Key).&lt;br /&gt;
  * Pristine means that we will not pollute the core wallet with UI pages that will break in the future when upstream commits refactor the wallet.&lt;br /&gt;
&lt;br /&gt;
- Unchained will move to the desktop.&lt;br /&gt;
  * This means that the cool features that we always wanted to put in the wallet (like the prayer room, BBP chat, Deliverance videoconference rooms, Social Media Timeline) will now be possible&lt;br /&gt;
    as they will live in our new Desktop Web Pages.&lt;br /&gt;
  * This opens up the exciting possibility for devs to contribute to make new UI pages without interfering with the c++ core wallet code&lt;br /&gt;
  * This means security will be improved in unchained because signing will occur on the desktop&lt;br /&gt;
  * This opens up the possibility for BBP to offer new collaboration apps (IE competition for Basecamp/Zoho)&lt;br /&gt;
&lt;br /&gt;
- Unchained Web will lose some features:&lt;br /&gt;
  * Turnkey Sancs will be retired in favor of Decentralized Offline Sancs&lt;br /&gt;
    a.  If you fund a new sanc and keep it offline you will earn a 50% reward (this replaces portfolio builder and turnkey sancs)&lt;br /&gt;
    b.  If you fund a sanc and keep it online (along with BMS), you receive a 100% reward&lt;br /&gt;
  * Portfolio Builder will be retired in favor of decentralized Offline Sancs&lt;br /&gt;
&lt;br /&gt;
- RandomX Mining to be retired:&lt;br /&gt;
  * RandomX pool mining is going to be retired in favor of Sanctuary Mining&lt;br /&gt;
  * Sanctuaries mine in a non competetive, deterministic way in the background (consuming low resources)&lt;br /&gt;
  * This increases the sanctuary reward&lt;br /&gt;
  * The sanctuary reward goes to both offline sancs and online sancs so we may reward both types of investors (offline sancs get half)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- Extra Large Sancs (Temple) &lt;br /&gt;
  * If you own 10 or more sancs, your node will automatically run an instance of Cockroach DB (A decentralized database).&lt;br /&gt;
  * This database is used to store our orphan collage, our expenses and our revenue&lt;br /&gt;
  * In this way we fully dencetralize biblepay 100% so that no party is responsible for any back-end database&lt;br /&gt;
  * This database also stores the metadata for bio images, the forum, timeline posts, etc.&lt;br /&gt;
&lt;br /&gt;
- Decentralized Governance Voting improvements&lt;br /&gt;
  * It will be possible to vote on configuration changes (IE permission delegation)&lt;br /&gt;
  * This allows a responsible party to enter a historical accounting record or perform clerical duties&lt;br /&gt;
&lt;br /&gt;
- BiblePay will have a nice API:&lt;br /&gt;
&lt;br /&gt;
  * The core wallet will have a button on the menu that launches Desktop Unchained&lt;br /&gt;
  * Desktop Unchained will contain all of the Extra BBP UI&lt;br /&gt;
  * A back end Biblepay.DLL will be included in our releases which give developers the capability to interface with BBP&lt;br /&gt;
    (IE upload videos, download files, send money, receive money, etc)&lt;br /&gt;
  * Our biblepay DLL will eventually become a DLL on NuGet, opening up BBP to thousands of c# developers (Scheduled for Q4 2023)&lt;br /&gt;
&lt;br /&gt;
- BiblePay moves away from Metamask/ERC-20 Signing Keys:&lt;br /&gt;
&lt;br /&gt;
  * To make Unchained more accessible, we move away from Metamask so that we no longer require the plug-in&lt;br /&gt;
  * Unchained authenticates by using one Core wallet key (the Unchained Key)&lt;br /&gt;
  * You can fund your Unchained key by sending BBP to it&lt;br /&gt;
  * You can spend funds from your Unchained Key by spending it in the Desktop App (Desktop Features will be revealed during the Red Sea Release)&lt;br /&gt;
  * Because of this, all funds should be withdrawn from unchained.biblepay.org (Remove web wallet funds and remove Turnkey Sanctuaries).  You can leave Portfolio Builder balances as those live in the Core Wallet.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
</feed>