crypttp-protocol
Cryptocurrencies and virtual currencies transfer protocol
Abstract
This protocol proposes a URI scheme for making cryptocurrencies and virtual currencies payments. It was designed to improve and expand the capabilities of BIP21
Motivation
- Enable users to easily make payments by simply clicking links on webpages or scanning QR Codes or clicking buttons at webpages and mobile apps.
- Give users the ability to choose which cryptocurrency wallet application to use to complete the transaction.
- Combine all cryptocurrencies into one URL scheme, as any cryptocurrency is a currency.
- Change the acquiring solutions so that they only accept cryptocurrency for the seller without any interface, since the user can choose the currency to pay for the order in the multicurrency wallet or at the time of choosing a wallet.
Difference from BIP21
-
Process transactions with any currencies
-
Integration with non-bitcoin wallets
-
We constantly grow our ecosystem, so users of any cryptocurrencies will get benefits of protocol soon
-
Our ecosystem contain payment processors, e-shops, exchanges, games & gamblings, other merchants
Specification
scheme="crypttp"
host=""
pathPrefix="/crypttp"
example="crypttp://crypttp.com/crypttp"
Query Keys
The params passed over protocol in base64 format.
crypttp://crypttp?params=eyJpZCI6Im1lcmNoYW50X2lkIiwicGFyYW1zIjpbWyJFVEgiLCIxLjY0NDY5MTE4NjY3NTkxOTUiLCIweGQzODZkMDQ1ZThkZDkzOEYwRGI3NTYyMjhlQWUzQzY0QUMwNWNBYjUiLCJtZXNzYWdlKHBheWxvYWQvZGF0YSkiLCJtZW1vIiwic3VjY2Vzc191cmwiLCJlcnJvcl91cmwiXSxbIlhMTSIsIjQ1NTcuNjkyMzA3NjkyMzA4IiwiR0RHVVVNUjNGS0VCVUc0NVJaVFJRQkJQQjJBSlZZWUZVQ0VaWkZJNUpQVjIyRVpKNFNSREtLTkMiLCJtZXNzYWdlKHBheWxvYWQvZGF0YSkiLCJtZW1vIiwic3VjY2Vzc191cmwiLCJlcnJvcl91cmwiXV19
parsed params
{
"id":"merchant_id",
"params":[
[
"ETH",
"1.6446911866759195",
"0xd386d045e8dd938F0Db756228eAe3C64AC05cAb5",
"message(payload/data)",
"memo",
"success_url",
"error_url"
],
[
"XLM",
"4557.692307692308",
"GDGUUMR3FKEBUG45RZTRQBBPB2AJVYYFUCEZZFI5JPV22EZJ4SRDKKNC",
"message(payload/data)",
"memo",
"success_url",
"error_url"
]
]
}
params specification
id
{STRING}
- merchant id that is required to track which merchant initiated transactionparams
{ARRAY}
- array of arrays containing transaction details for each payment type (currency)params[0][0]
{STRING}
- ticker of currency which user want to pay withparams[0][1]
{STRING}
- amount ofparams[0][0]
. That amount not include network fee, so it should be adjusted. It is the exact amount that merchant is waiting to receive. Correct regex pattern for amount is:/^\d+\.\d+$/
params[0][2]
{STRING}
- address that varies depending on the blockchainparams[0][3]
{STRING}
- message / data / payload that should be appended to transactionparams[0][4]
{STRING}
- special id which is used to identify the recipient in a transaction in some blockchainsparams[0][5]
{STRING}
- url where user should be redirected back if transaction succeedparams[0][6]
{STRING}
- url where user should be redirected back if transaction failed