How Spark Works

in bitshares •  9 months ago

Today we’d like to share a short overview of how the Spark platform works. This should be a useful reference for money transfer operators who are looking to utilising blockchain technology in their payment settlement. For reference below are some slides from a presentation we did recently in Brussels at IMTC:

Some of the key points are summed up in the slide show however this article will delve deeper into the process of money transfers using Spark and Cryptocurrencies.

Holding a Balance in Spark

In order to send money in Spark, you need to hold a balance with us first. Therefore a money transfer agent would need to be able to send money to Spark in order to fund their account with us. This happens either via a bank transfer, bitcoin deposit or exchanging cash to cryptocurrency directly.

Bank transfers are the traditional way of a money transfer agent funding their account with a platform provider however it only works if Spark has a bank account denominated in their currency usually in the same country. However, Spark does not have bank accounts everywhere so the optimal method for funding your account is via cryptocurrency which is everywhere. Money transfer shops have cash as they receive payments from people or payout payments to people- the problem to solve is getting the cash to Spark in the best way possible assuming Spark does not have a bank account in their country or currency.

1.Make every physical money transfer shop a cash to crypto location.


Above: Diagram of a Malaysian cash (MYR) to crypto MTO in Spark

One of the key problems the money transfer industry has is ‘De-risking’ - the process by which money transfer operators are losing their bank accounts. Providing a platform for MTOs to exchange cash to crypto and visa versa enables them to remove their dependence on banks and also get the cash to Spark without the need for a local bank in that country.

In the above diagram we can see the shop may have a balance of either physical cash or a digital balance already in Spark. With the balance of money they have, lets say cash, individuals can approach the shop to exchange their Bitcoin (or other digital currency) for cash at the shop- the individual gets the cash and the shop gets the Bitcoin. Now that the shop has bitcoin theyve instantly funded their account and Spark was able to collect their payment to fund their account without the need for a bank. The bitcoin can either be sent somewhere else or exchanged for another currency (e.g. HKD/USD/GBP etc) for payout at another Spark location. The same can be true for a shop which may have no cash but a large balance in Spark, this would be relevant for MTOs in receiver side countries that constantly payout cash and accrue a larger digital balance. In this case an individual with cash can go to the shop and exchange that for a cryptocurrency which the shop can provide- ensuring the shop gets its float back quickly without the need for a bank. The fallback to this setup is that Spark can of course wire funds to the shop in USD if they require it to refloat their balance but all normal caveats apply when dealing with the banking system.

This works only if people are willing to visit the MTOs and exchange their cash or crypto with them. Why would anyone want to do this? Because they’ll make money.


In the above case we have noted MTOs are having issues globally with banking, there are also significant costs involved in maintaining a bank account and banking relationship. Additionally often there are issues around timing, in most countries banks open at 9am and close at 4pm and if an MTO needs to use the bank to deposit or withdraw cash outside of those hours their business can effectively grind to a halt. When exchanging cash for crypto the MTO can choose to pay a bit extra to incentivise people to visit their shop. For example a shop which is low on cash, getting new cash to refill their float is very important so they may advertise to the market that they're willing to pay 1% as a bonus for anyone who visits the shop to exchange their cash for crypto. For individuals who are buying crypto with cash they effectively get to buy 1% below market price locking in a 1% profit of which they could then onsell the crypto elsewhere to realise it. So in this case the incentivisation comes from the shop offering a premium to exchange their cash, this premium may be equivalent or less than the costs of them maintaining a bank account anyway except with none of the overheads and a competitive market to reduce this premium over time (if more people want to make a profit maybe next time they buy at only 0.8% below market, or 0.5%). In the beginning of our switch to bitshares, Spark will subsidise this to establish an active market.

Spark also have our token, Zephyr which is a rewards token for transacting on the Spark network. We will also be offering this as a reward for individuals exchanging money at a Spark shop. Zephyr gains value through a % of fee income being used to buyback ZEPH from the market, in the cash of a cash to crypto exchange if Spark charges a fee for this then a % of that will be used for the ZEPH buybacks.

3.Pegged stable cryptocurrencies

Once the shop has a balance in the Spark platform we need to hold that balance denominated in a particular currency. If a shop (receiver side) had Myanmar Kyat (MMK) in cash and was paying that out to customers but receiving HKD as a form of payment (sender side) in their spark account then that opens a FX risk for the shop. If the value of HKD in their Spark account drops relative to the Kyat theyre paying out they lose money. So the shop needs to be able to hold a currency in Spark that is the same of which theyre transacting in, ensuring that theyre not open to FX risk. Utilising pegged cryptocurrencies enables Spark to operate as if it had bank accounts denominated in every currency in the world in every country without physically needing to be there. Through the use of stablecoin, Spark can ensure the MTOs can hold a balance of their native currency opening the Spark system up to the entire world.

‘Stablecoins’ or ‘pegged cryptocurrencies’ are blockchain based cryptocurrencies that maintain a value equivalent to that of the currency they are pegged against. For example 1 BitUSD (a stablecoin) maintains a value of very close to $1 USD. The great thing about Blockchains are that they are permissionless, anyone can use, create and transact with cryptocurrencies wherever you are in the world without anyone's permission and this also means that one can create stablecoins for every national currency in the world very easily. Spark uses Bitshares to create and trade stablecoins for all currencies in the world and given the above example, Spark would hold a balance for the MTO denominated in BitMMK.

Stablecoins created on Bitshares can be ‘collateralised’ meaning that the value backing the coin is denominated in another cryptocurrency ensuring the money backing the value of the coin is transparent to everyone and not owned or controlled by any one entity. If you back the value with money sitting in a bank, there is a lot of trust in: the bank, the company who owns the account, the accounting / auditing of the money all of which can fail or be subject to closure / problems at some stage so backing the value with a cryptocurrency on the blockchain removes the counterparty risk of needing to trust if someone is good for the money or not.

Stablecoins are a great innovation and growing in prevalence, Spark is choosing the longest running highest volume Decentralised Exchange and Blockchain- Bitshares, given it is the only platform fulfilling the requirements of remittance companies- no other similar options come close to the featureset (Ripple, Stellar, MKR, etc).

Transacting with Spark

Transacting with Spark is very easy, in fact MTOs would not notice any difference when comparing the transaction workflow of Spark vs their existing systems. Spark connects MTOs together to ensure smooth payments between them with settlement occuring in cryptocurrency.


Transacting is as simple as:

  • Login to your Spark account at
  • Fund your account via the Deposit page.
  • Visit the ‘Send Money’ page and input the relevant money transfer information
  • Confirm all information is correct and click ‘Confirm’. Payment is complete

The exchange between currencies happens in the Spark platform ensuring the the direct exchange of currencies at the best rate. Settlement occurs instantly with both parties able to transact in their native currency.

We Want Your Business

The more MTOs which sign up to the Spark platform the more options for payments that become available on the network. Often, money transfer aggregators and platform providers need to do a custom integration with another network in order to add that payment option to their system. For example if there is some mobile money network in a country, a platform operator from outside that country would need to sign contracts with and integrate the API of the mobile money provider into their system. This is not scalable at all and requires a lot of investment which is precisely why the money transfer infrastructure of the world is so fragmented and exists on ‘payment islands’ with everyone either having their own system or using someone else's.

Spark goes about things differently. For an MTO looking to join the Spark network, they will often already have their own mechanisms for either receiving money from customers or paying out money to customers. Signing up to the new Spark, MTOs will soon be able to input these mechanisms upon sign up for other MTOs in the Spark network to be able to route transactions to these various payout methods. So essentially MTOs bring their own payout method and we will send transactions for them to payout without any need for Spark to directly integrate these various payout mechanisms.


Spark is a platform for licensed money transfer operators whereby Spark provides an exchange service for converting national currencies to cryptocurrency and visa versa. These currencies can be deposited and withdrawn in a number of ways however Spark is not a remittance platform provider- MTOs must still adhere to the requirements of their local regulations in their specific jurisdiction as they are the licensee. Spark provides many of the tools MTOs need to manage their payments and exchanges making it easy for reporting to regulators and is always looking for added features and benefits that reduce the cost and complexity of compliance management for money transfer businesses.


Spark makes it easy for money transfer companies to send and receive payments between each other without the need for a bank. We utilising cryptocurrencies to make those payments ensuring payments are done quicker, cheaper and more securely without the counterparty risk of having money in a bank. Spark makes it possible to buy and sell exotic currencies around the world and also incentivises MTOs to sign up and join the Spark network. As always we are keen to hear your feedback and comments please feel free to reach out to us on our social media links below!

Spark Team

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

To listen to the audio version of this article click on the play image.

Brought to you by @tts. If you find it useful please consider upvoting this reply.

Will you guys be accepting BitGold or Quints in the future? Not sure what the international laws around that are, but that could be an interesting feature!


Once Spark DEX is up and running other currencies can also be added to the DEX.

Coins mentioned in post:

CoinPrice (USD)📉 24h📈 7d

Interesting proposal.

But the confusing part is that Spark already exists on the Bitshares blockchain, so perhaps you should talk to them at some point?

Otherwise you just create confusion in the marketplace by continuing to try to rebrand yourself from bitspark to spark. Good luck.