Разработка ПО для платежных терминалов и сенсорных киосков


- В поисках терминального ПО?
- Желаете меньше отдавать, но больше получать?
- Нужно купить терминал?
Звоните нам!

8-800-700-32-60

info@PayPRO.ru

Номер телефона:

Кирилл Шпилин, Красноярский край

Оглядываясь назад могу утверждать, что ПО сделано для людей, очень удобно как мне, так и конечному потребителю. Сейчас я не представляю свою работу с бесплатным ПО платежной системы (я работал со всеми крупными платежными системами).

За более полутора лет работы на профессиональном ПО PayPRO, ни единой мысли, что я плачу напрасно!

Read more...
Error
  • JLIB_APPLICATION_ERROR_COMPONENT_NOT_LOADING

Cryptoequiring system and Cryptoexchange Platform Product Description

 

In this article, we describe our experience in creating cryptocurrency acquiring system and crypto exchange platforms seen as a product.

Same mechanism is used with cryptocurrency exchange platforms, cryptoprocessing and other payment systems for cryptocurrency work.

 

1. In place of a Foreword. What is a mining fee

Mining fees is a transaction fee that goes to those miners who service the system, create new blocks with operations on the blockchain. It can be seen as a fee for making payments. This fee is taken not by a specific organization, but by any distributed miners. It is more likely that a pool of miners with a distribution of remuneration that is proportional to the hashrate, as single miners are no longer able to create blocks ahead of schedule.

As a rule, when the entire limited amount of coins is "mined", it is the transaction fee that will ensure the operation of cryptocurrency distribution. Transaction fees provide financial incentives to maintain a distributed blockchain system.

Each cryptocurrency has its own blockchain with its own characteristics, including its own transaction fee.

The size of the fee is set at the time the transfer operation is performed. There is a minimum fee, but in this case, the operation will get a low priority. In different systems, this can take up more than one day.

To speed up the transaction, you can set an increased fee for processing it. In this case, the priority of such a transfer will be higher and it will be processed much faster.

 

2. Miner fee rates

Currently, the minimum miner fee (network fee) equals to:

Bitcoin: 1 Satoshi

1 Satoshi = 0.00000001 BTC = 0.000094 USD (as of June 21, 2020)

Ethereum: 1 gwei for 21000 gas minimum

1 gwei = 0.000000001 ETH = 0.00000023 USD USD (as of June 21, 2020)

 

Bitcoin

Bitcoin

Recommended Network Fee (by blockchain.com):

Minimum: 1 Satoshi

Regular: 3 Satoshi

Priority: 19 Satoshi

 

Ethereum

Recommended Network Fee (by blockchain.com):

Minimum price gas: 1 Gwei

Regular price gas: 16 Gwei

Priority price gas: 19 Gwei

*as of June 21, 2020

 

Information on different fees can be easily seen when trying to complete an operation.

It is useful to analyze how the queue for processing the operation is distributed depending on the size of the fee.

Using the example of Bitcoin, at the time of writing on June 21, 2020, the statistical dependence is presented below (it is updated based on operations in the blockchain every 3 hours):

 

 

The fastest operations are possible with a minimum fee of 21-22 Satoshi.

In this case, there is no queue for processing and the operation will fall into the nearest block.

Each new block in the blockchain is created approximately every 5-15 minutes.

Most often people make a transaction either with a minimum fee (1 satoshi) or with a “recommended minimum” (3 satoshi). At the same time, the transaction time for 1 satoshi is the longest, because operations are 4 times longer than in the long mempool.

Next we are going to look at the business model of the cryptoexchange platform and cryptoacquiring system and the impact a different network fee has on different business process options.

 

3. Crypto acquiring and crypto exchange platform business model

There are several schemes of how such systems work, but all of them can be divided into 3 types:

  • 1) With no wallet and no personal account
  • 2) With your own wallet
  • 3) Hybrid
  •  

By and large, hybrid options are a kind of system with their own wallet. In fact, they allow you to carry out operations both using your own wallet but no registration required.

In this case, having your own wallet means not organizing your own cryptocurrency with your own blockchain. A wallet in a payment system is an opportunity for customers to deposit their cryptocurrency to addresses belonging to the system.

In fact, customers place their money on your cryptocurrency wallet and they must trust your payment system (this will be discussed in more detail below).

Both of these models have their pros and cons.

 

3.1. Crypto acquiring system without a wallet

This is the most simple cryptocurrency payment system in set up and use.

We add a unique address to the system for a particular transaction and offer the client to make a deposit. The system should regularly check the balance and the number of confirmations for all established addresses. If the system has detected a deposit, it means that it was our client who made a deposit (since the created wallet is unique and only the client knew about it).

 The wallet can be replenished several times, in practice when using systems with no wallet and registration, a unique wallet is usually created for each client operation.

 

A model without a wallet can exist as an independent product, or it can be the first step in developing a more functional crypto-acquiring system with a wallet. This causes no difficulties and this stage is often used as an MVP (minimum viable product) and as a pilot project to assess the prospects for further investments in product development.

This payment mode can be easily added to the existing form of acquiring system. All a customer needs to do is to create a new payment method - cryptocurrency (along with cards, e-wallets, paychecks, etc.). For merchants, no new technical requirements are reqiured (the requirements can vary depending on a country).

Key Features:

  1. - A unique address is generated for the client, where all the transfers go
  2. - The transaction can take some time which brings exchange rate risks
  3.  

You can reduce exchange rate risks by:

  1. - Reducing the number of necessary confirmations that the transfer is received
  2. - Send funds for withdrawal to fiat at the time of receipt of a client transfer, fixing the rate (if there is a fixed fee for withdrawal to fiat you can withdraw a whole sum or make several withdrawals once an hour or once a day)

 

Pros:

+ easy to implement

+ easy payment process

+ highest reliability and safety (no need to store other people's funds for a long time)

+ no additional technical actions are required from the merchant

Cons:

- the payment is not instant and can take long for some cryptocurrencies and a low network fee

- high exchange rate risks due to the low payment rate

- high payment for network fee, as you need to cash in every received payment (there may be options)

- inability to use funds on client wallet accounts

 

3.2. Crypto-acquiring system with a wallet

This option involves registration and preliminary replenishment. Funds are stored on the wallet in the transferred cryptocurrency.

If the service has an internal wallet, then the operation takes very little time, since the balance of the internal wallet is a virtual account, just a number. It can be instantly reduced without real movement of funds between wallets. This is the most profitable and quick option as internal transfers are not charged, the transaction can be made within seconds.

 

The wallet  solves the problem of exchange rate risks once and for all. If necessary, you can withdraw the client's cryptocurrency to fiat and fix the exchange rate without any delay, because client funds are already into the system. If there is not enough money in the wallet, then the client needs to replenish the wallet taking the exchange rate risks himself.

Guarantee and reliability

Processing, payment systems, electronic wallets and other systems that store funds have one important problem - liquidity. This problem exists in banks but bank liquidity is regulated by law. Other fintech projects are also trying to introduce regulations, but the problem is still urgent.

The root of the problem is that a large amount of funds is excluded from operating cash flow and are  accumulate on customer accounts. There is a great temptation to use these funds for various purposes: from investment to personal. Our experience in the payment sector has shown that liquidity problems can lead to fintech projects shutdowns (including even strictly regulated banks). In most cases, customers do not receive their funds back, as they were spent a long time ago (and before the crises there were no withdrawals).

In this regard, there are two modes of operation of the wallet.

3.2.1. Fully Virtual Accounts

When using virtual balances on accounts, there is no real cryptocurrency movement. Everything passes only in the form of a virtual change in the state of the balance of accounts of different currencies. Such operations take place instantly inside processing without the participation of the blockchain.

When a client replenishes their wallet, they see the address tied to the client’s account. The address is reusable and it can be replenished an unlimited number of times. In this case, you can create new addresses if the client adheres to the rule "one operation - one address".

All addresses belong to the company and are tied to the client forever, therefore a client can use all of them.

However, in the model with fully virtual accounts the addresses are used only to define the replenishment. Cryptocurrency is stored on the account for a short time and funds are transferred within a day to a company address, where all fixed assets are stored.

It is convenient to collect funds from all customer wallets once a day. In this case, we pay a single fee for the operation of collecting balances from many wallets in the system. For your safety, you can use not one but several wallets.

In this model, the client sees that there is 1 BTC on the account, but in reality there are no funds on this wallet, because they were transferred to the permanent address of the company.

Pros of a common wallet system:

+ instant payment from the wallet

+ complete absence of exchange rate risks

+ no additional technical actions are required from the merchant

+ the ability to use funds from client wallet accounts

+ stimulates to create an account and use other services of the company

+ facilitates further use

+ client binding

Advantages of the virtual model:

+ saving money when creating a single group collection operation from all addresses to a single one

+ the ability to use funds for investment

Cons of common wallet systems:

- higher implementation complexity

- a more complex process of first payment due to required registration (although it can be made relatively simple)

- lower reliability due to the possibility of losing control over customer funds

Cons of the virtual model:

- the risk of losing customer funds

- low transparency of the system for an external user

- low ratings in an independent audit

 

3.2.2. Real Wallets

To confirm reliability and guarantee that a system is not a soap bubble crypto-wallets need to undergo an independent audit. To do this, you should keep clients' money not on virtual addresses, but on real ones. In this case, the funds are constantly stored where the client transferred them. When paying or withdrawing from the wallet the funds should be transferred to another address and so the real balance is reduced.

This option is a guarantee that the addresses of the system store the funds of all customers. This means that the owners of the system cannot withdraw money from the system. It eliminates the hidden situation that large amounts of funds displayed on virtual customer accounts can be fake.

With money in real wallets, we demonstrate the highest liquidity and security more than any bank with state regulated reserve standards. 100% liquidity is not required for operating activities and is only an open demonstration of the system reliability.

Since the funds are actually stored at our internal addresses, the transaction inside the system using the blockchain becomes completely transparent. In this case, when a customer purchases, we transfer cryptocurrency from the customer’s real address (within our wallet) to the system address of the company. So we get a combination of instant transactions and maintaining a real balance at customer addresses.

Using a real wallets model, you will have to pay a fee for real operations inside the blockchains of different currency wallets. In this case, perfect transaction transparency is achieved while maintaining the maximum speed of the operation (we cannot wait for confirmations from the blockchain, because the operations are performed between the addresses belonging to one user).

Pros of a common wallet system:

+ instant payment from wallet

+ no exchange rate risks

+ no additional technical actions are required from the merchant

+ the ability to use funds on client wallet accounts

+ stimulates to create an account and use other services of the company

+ facilitates further use

+ we bind the client to ourselves

Advantages of the virtual model:

+ high ratings in independent audits

+ high transparency of the system for an external user

+ the ability to use funds for investment

+ you can moderate spending on fees

Cons of common wallet systems:

- higher implementation complexity

- a more complex process of first payment due to a required registration (can be made relatively simple)

- lower reliability due to the possibility of losing control over customer funds

- transaction takes more time, the client may refuse to pay at all

Cons of the virtual model:

- danger of wasting customer funds

Ways to offset the disadvantages:

+ reduce the fee by performing synchronous transfer operations from address to address, making them not instant, but in the form of group times per hour / day

+ offer payment with registration optionally, saving the option of quick payment without registration

+ when paying without registering a client, you can register automatically and send account information

+ offer a bonus for payment with registration

What pros we need to intense:

+ passing an independent audit as a guarantee

+ part of the metrics can be published openly to confirm high reliability

+ tell more about the security of our system and how it works

+ talk about instant payment speed

+ an easy way to receive cryptocurrency, while receiving a conservative fiat for merchants

 

It is possible to make several tariffs for working with virtual wallets and with true addresses.

Those who value the highest level of transparency and liquidity guarantees will use true addresses with real funds in wallets.

Those who are less concerned about maximum security can use a cheaper option with virtual addresses.

Such option can be called an “investment rate”, which officially allows you to use part of the funds from wallets for your investments.

One of the main disadvantages - additional features will somewhat complicate the perception of the system. However, presenting them as two different rates solves this problem - this becomes an entity   from everyday life, understandable and familiar to everyone.

This can become the USP, which is not yet on the market. This is also part of the openness and transparency that everyone, including customers and investors, love but without disclosing operating indicators.

 

4. Product metrics

The need for a particular metric depends on the goal.

If we believe that the goal is profit (and not gaining market share at any cost), then the list of metrics presented below will be useful.

It is advisable to break down the metrics in accordance with the stages of product launch.

 

 

1. 1.       Market entry phase

 
Metric, indicator value Change per day% Change per week % Change per month % Change per month % a year ago
Registered Customers        
Active customers (first payment)        
Registration without activity        
Active customers (multiple payments)        
Ставшие активными клиенты (первая оплата)        
Client CTR: Registration -> Use        
Registered Merchants        
Merchants that became active (first cryptocurrency intake)        
Registration of merchants without activity        
Active merchants (multiple cryptocurrency intake)        
Merchants CTR: Registration -> Use        
Service use without registration        
Service use with registration        
No registration share        
Registration share        

 

 

2. Active growth phase

 
Metric, indicator value Change per day% Change per week % Change per month % Change per month % a year ago
Number of operations        
Operations value USD        
Operations value in cryptocurrency        
Registered client ROI        
Active client ROI        
Registered merchant ROI        
Active merchant ROI        
Average number of visits        
Average per cent of profile fill-in        
Average per cent of report views        

 

 

3. Sales promotion phase

 
Metric, indicator value Change per day% Change per week % Change per month % Change per month % a year ago
Revenue per customer        
Profit per client        
Average transaction number (per Client)        
Average revenue per one merchant        
Average profit per one merchant        
Merchant transaction number per day        
Customer Returns, Repeatability        
Average payment        
Average cryptocurrency replenishment rate        
Maximum transaction number per hour        
Gross profit of crypto acquiring services        
Total capitalization        
Current assets        
Current assets to total capitalization share        
Current assets daily turnover        
The amount of unused funds on customer accounts        
Frozen funds average term        
Cryptocurrency rate (to study correlation)        

 

 

Additional SEO Metrics

 
Metric, indicator value Change per day% Change per week % Change per month % Change per month % a year ago
Citation of themed pages        
themed pages traffic        
Number of reviews        
Positive reviews        
Negative reviews        
Positive reviews share        
Negative reviews share        

Technical support flow

 

       

Metrics working tool is necessary for getting samples of indicators by customers with the ability to sort and filter them make cuts by sex, age, countries / regions, make graphs, charts and reports.

It is necessary to decide which of the metrics can be made public.

The purpose of public metrics is to demonstrate the reliability of funds storage and company long-term goals. If we publish a turnover of 100 million dollars, and there will be 10 bitcoins on internal wallets, the company will get no trust. Therefore, it is important to show reliability, but not disclosing profitability and performance indicators.

Technical metrics:

 

Technical metrics should be determined by a Project Manager.

There are many- from availability of servers and services / microservices, to the size of blockchains.

5. Technical architecture:

When we are going to keep other people's money, one of the first problems and risks is the issue of security and the withdrawal of this money. This is extremely important!

Technically, the security issue must be ensured by the correct modern architecture.

For such projects, a cloud architecture such as Amazon Web Services is an ideal option.

AWS advantages:

- Excellent scalability: autoscaling, load balancer, common dimensionless drives and much, much more

- highest security: Parameter Store, developed system of rights, policies and roles, creation of infrastructure as a code, divided deploy

- the ability to use on premises services located in your own data centers (or office)

- Developed CDN for fast static output around the world

- High Availability (HA): through the use of duplication on servers in different data centers, managed services including databases, container clusters (including Kubernetes)

Right architecture when working with cryptocurrency wallets is extremely important.

Basic measures to be implemented:

- it is extremely important to separate product, test and development  code deployment

- no programmer should know the product passwords

- while being tested the code should automatically be transferred to the product infrastructure with its own set of credentials in the Parameter Store

- of course, there should not be any passwords in the code, and even more so in the version control system (git)

- the system should not store secrets in environment variables, but use the Parameter Store with automatic rotation of secrets

- no one should have access to the servers via SSH (if updates are necessary, create new servers and delete old ones)

- all code must be revised to prevent attempts to remove "secrets"

- regular internal and external security audits

- monitoring access to resources with a notification

- the use of modern methods of proactive blocking of attacks, including Honeypot, etc.

 

Conclusion

Behind the scenes of this article is market research, the formation of functional requirements, promotion issues and a roadmap.

All these issues vary from project to project, and therefore require a case study.

Choose us If you want to create your own cryptocurrency acquiring system or cryptocurrency exchange platform - you can fully rely on our experience in this field.