According to their official website, Sparkswap is the first cryptocurrency exchange built on the Lightning Network. Now, you can trade Bitcoin for other cryptocurrencies in seconds without depositing assets with a third party.
This is the first exchange of this sort – a non-custodial, non-hackable, instant, decentralized, trustless exchange. Trey Griffith, founder of Sparkswap, has raised $3.5 million from investors including Initialized Capital, Pantera Capital, and Foundation Capital to develop the software.
Sparkswap is a new way to trade cryptocurrency without giving up control of your assets and exposing them to theft and loss. But unlike other non-custodial exchanges, Sparkswap lets you trade across blockchains (including Bitcoin) and trades settle in a few seconds — comparable with centralized and custodial cryptocurrency exchanges.
The exchange is currently in beta testing on the Bitcoin mainnet.
How does Sparkswap work
Sparkswap team give a concise explanation of their exchange:
- A market maker first downloads and runs Sparkswap’s software
- The maker then deposits litecoin or bitcoin into their respective wallets and connects to an order-book system managed by Sparkswap
- The maker broadcasts their order to Sparkswap
- Sparkswap connects the maker’s order to a market taker who wants to fill that order
- Both traders execute their trades using Atomic Swaps
At the moment, the cryptocurrency exchange only supports BTC-LTC trading pairs, with the company also planning to enable the addition of assets like ZCash and Ethereum [ETH].
“We can support any payment channel network that looks like the Lightning Network,” company CEO told The Block.
It is important to know that if you install and run Sparkswap, you need to be aware that the device you will be using to run Sparkswap will containt your private keys and could be a potential hacker’s target.
Machines that run Sparkswap should likely be single purposed, and locked down in nearly every way, including what personnel have access to them.
Large Storage Requirements
Due to current constraints with their Payment Channel Network implementations, every blockchain that you use on Sparkswap requires running a full node, which means running a full Bitcoin node and a Full Litecoin node, which is what leads to the large storage requirements for running Sparkswap.
Installing and running
Full guide on how to install and run Sparkswap can be found here, on their official website. Here is a shortened version of it:
Sparkswap has created a script to download and configure Sparkswap:
Run the script with:
You’ll be prompted for additional information including what network you want to run the Broker on (RegTest or MainNet).
By default, the script will use the pre-built Sparkswap Docker images that can be found on the Sparkswap Docker Hub.
To build the Docker images from source, you can use the
To do so, you’ll need to do one of the following:
- Run the command
Building takes much longer (10-15 minutes), and will prompt you for additional information during the build. To avoid these additional prompts, you can provide the following command line options:
If you’d rather not use the script, you can also follow the Manual Installation guide.
How to trade on Sparkswap
The underlying trading concept of Sparkswap is demonstrated in the video below, which outlines a BTC/LTC trade between two users:
Registering with Sparkswap
While you’re waiting for your Engines to sync with their respective blockchains, you should register with Sparkswap. To do this, run:
You will get the following response:
Click on the link provided and follow the steps on the registration web interface to complete your registration. In order to prevent abuse, in some cases registration approval may be delayed, but we will work diligently to try to give you access to Sparkswap as soon as possible.
Since Sparkswap is a non-custodial service, you can deposit funds into your wallet prior to registration completing, but you will not be able to commit funds or submit trades to the Sparkswap Relayer.
Once your Engines are sync’ed (downloaded the whole BTC and LTC blockchains), you should fund a wallet by sending funds to a deposit address generated by your Sparkswap daemon.
Before deposited funds are available for trading they must be committed to the Sparkswap Relayer. They are still in your control, but until you release them, they can be used only for trading on Sparkswap. This is conceptually similar to moving funds into your “exchange account” on a custodial exchange.
Placing your first order
to place a limit order to buy 0.01 BTC at a price of 100 LTC per BTC.
There is a corresponding
sell command as well.
to place a market order to buy 0.01 BTC.
Note that your order will not complete if there is not enough depth in the market to complete the order right away.
Just like with many other crypto products or services, Sparkswap is cumbersome and user-inconvenient. It will probably have only a small set of tech-savvy users until they make improvements on the user-friendliness front.
The idea is brilliant and current implementation works as advertised but it is a far cry from a complete solution ready for mainstream adoption and usage. Nevertheless, it is a step in the right direction.