Launch HN: Sparkswap (YC S18) – Buy Bitcoin Instantly over the Lightning Network
I’m Trey, the founder of Sparkswap (https://sparkswap.com). We've built a new desktop app to purchase Bitcoin with USD directly into your wallet using the Lightning Network, instantly. This is not Bitcoin held in your name by an institution - it’s your wallet, and your private keys.
Today, the vast majority of the billions of dollars worth of Bitcoin^1 traded on a daily basis is done on custodial exchanges, meaning users deposit their currencies with the exchange, trade within the system, and then withdraw their new currency balance at a later time. This runs counter to the original goal of Bitcoin, which was to give users full control of their money through a system without central authorities or middlemen. Unfortunately, users historically haven’t had much of a choice, as using custodial exchanges has been the only way to get reliable pricing, use a bank account, and achieve reasonable settlement times for transactions.
Then came the Lightning Network (LN), first introduced in 2016 in this white paper: https://lightning.network/lightning-network-paper.pdf. One of the original goals of the LN was to solve Bitcoin’s scalability problem. It works by creating a second local consensus layer between two parties on top of the main Bitcoin blockchain, only going back to layer 1 for final settlement or dispute resolution, thereby decongesting the main blockchain and enabling faster transaction speeds. At Sparkswap, we’re taking advantage of Lightning’s fast transaction speeds to build an alternative to existing custodial exchanges: for the first time, you can have fast, convenient trading without custodial trust.
I started working on Bitcoin after two years in wealth management technology at BlackRock, where I got to see how the financial system operates at a mechanical level. As an engineer, looking at the antiquated way that money actually moves around the system (you’d be surprised how many FTP uploads and CSVs are involved) and how reliant it is on a small group of institutions that have to trust each other, it was immediately clear to me that we can do much better. Bitcoin offers a way to re-architect our financial system in an internet-native way that removes reliance on those central parties, opening opportunities for more people to access it, and for new service providers to thrive like they have on the internet. But there is still a lot of work to be done to solve fundamental problems like custody - and that's why I started working on Sparkswap.
After almost two years of hard work, we’ve just launched Sparkswap Desktop, our Lightning-powered app for buying Bitcoin. With the app, because every purchase is executed on the LN, it’s both instantaneous and you never have to give up control of your Bitcoin private keys. As the saying goes, not your keys, not your coins^2.
Here's how it works. When you deposit USD via ACH in the open source Sparkswap app (https://github.com/sparkswap/sparkswap-desktop), it is sent to a US-domiciled bank account that Sparkswap (the company) doesn't own or control. Then later when you buy Bitcoin in the app, the Bitcoin payment to you is put in escrow (called a Hash/Time-lock Contract, or HTLC) locked by a cryptographic hash on the Lightning Network. This means that if you can produce the preimage of the hash, you get the Bitcoin, but at this point only Sparkswap knows the preimage. Then the app creates an escrow payment to Sparkswap for the USD price of the Bitcoin locked by the same hash using our payment partner. Since Sparkswap has the preimage, we can then immediately claim the escrowed dollars by sending the preimage to our payment partner. This gives you access to the preimage through our payment partner’s API, whi...
84 comments
[ 4.5 ms ] story [ 162 ms ] threadWould it not be possible for a competitor to undermine this business model by running an exchange (based on the same technology, perhaps the same implementation) where selling is more permissive?
The escrow account is held with a trust company in AnchorUSD's name, but is designed so that only the users they onboard can access the funds. Funds cannot be legally used for any other purpose.
That means the total FDIC insurance on all the money in all accounts is capped at $250K between all the users of your platform. One Bitcoin quoting at $10,288, means that at most money needed to buy 24.3 bitcoins are insured across the entire platform.
Compare this to you depositing money with your brokerage to trade stocks. The account is opened at clearing broker in your name, which means that the SPIC coverage limit is just yours.
1) company's leadership does not understand how FDIC insurance works -- trusts have their own tax ID which are not customer's tax id. Trusts cannot currently be created in real time.
2) company's leadership does not know what they are getting from a "partner" -- some random person who ran a couple of companies and consulted for some financial institutions should not know more about what is and what is not possible than a leadership of a company in a space
3) there's a lack of understanding among the leadership what are the implications of customer account being insured by FDIC.
4) leadership does not understand that ACH credit has a liability attached to it which needs to be managed very carefully ( especially with points 1-3 )
5) In no even should the points 1-4 stand should a company ever trade from its own inventory to satisfy customer's order.
Drop whatever you are currently doing and immediately hire a compliance person from a large commercial bank that does not have any reason to leave his or her position i.e. overpay for one of 100-200 experts that exist in this field so you can at least ensure that you don't blow up in the most spectacular fashion with a potential criminal prosecution.
This is not an Uber or AirBnB. If you mess up you will create potentially criminal problems not just for yourselves but for your customers.
Where is your time gap to get past ACH clawbacks?
As far as I know, this is literally the only way to get Bitcoin on lightning directly with USD.
How are you handling AML/KYC? Is this something that AnchorUSD will front first, and is there a fee that they take for the deposit? Also -- do you have to restrict usage for certain jurisdictions (e.g. NY state residents)?
There are no fees for deposits.
Or doesn't it matter at that point, because you're off the hook?
I think that as this technology (Bitcoin and Lightning generally) matures, we'll get better tools to make it safer for average users (just as we've done on the web).
how do you make that leap exactly? and how do you think Sparkswap is going to be any different than coinbase?
This isn't really new or interesting and has been shut down repeatedly before because most crypto companies can't handle the fraud mitgation, here's a clue, it's not cheap or easy and can't be automated at this small scale. Instant access to the coins has never really been a boon to anyone other than scammers. The loss of private keys is a huge setback to the consumer and to adoption, which is why Coinbase has been one of the most successful applications within the crypto space.
I don't mean to say that this isn't something idea and shouldn't be done, its just not really interesting or useful.
buuuuuuuuttttttt, then you had to go and say this: > a real product that solves a real problem and enhances the biggest proven use case in the cryptocurrency industry: buying Bitcoin.
the biggest proven use case in cryptocurrency is... buying crypto...?
I've been in crypto full time for the last 6.5 years and that statement actually makes me want to quit.
Do you really believe the "coins of today" are going to stand the test of time as hardware gets more powerful in the next decade?
Where do you personally see crypto in 10 years in terms of real world usecases that aren't fraud / money laundering?
Bitcoin sure, because it actively gets less efficient as computers get more efficient. The only thing that'll stop it getting less efficient is a grey-goo like scenario where it consumes all the world's power. Or, I guess, if we run out of leading zeroes.
Bitcoin's mining difficulty automatically adapts both up and down to keep blocks at roughly 10 minutes, whatever the offered resources are. It doesn't monotonically become more difficult.
Nothing about this graph suggests we should expect anything else [1]. The perceived misconception seems more like a technicality :)
[1] https://www.blockchain.com/en/charts/difficulty?timespan=all
Unless this service has invented some new technology in fraud prevention, it's going to eat that risk at a loss to themselves.
There are certainly pros and cons to self-custody - it's not for everybody. Given the value proposition of Bitcoin and the huge amounts of cryptocurrency stolen from exchanges, it's important for many people to hold their own keys. We're like that ourselves: we didn't want to choose between holding our keys and still being able to trade, which is part of why we built Sparkswap.
Can you cite the data for your claim that there is less loss of Bitcoin from holding keys vs an exchange? I'd image the number of Bitcoins lost people people don't have their keys is large.
The list of HN posts that this comment has been applied to is almost as long as the list of successful YC startups.
Really? From your description it sounds like I would have to trust Sparkswap and some other unknown bank with my fiat.
> In just the first half of 2019, almost $500M^3 was stolen from custodial exchanges.
And why would you be immune to this?
> product that solves a real problem
What problem? To buy LN coins instead of Bitcoins?
> Really? From your description it sounds like I would have to trust Sparkswap and some other unknown bank with my fiat.
Fiat transactions have extremely high reversibility often for months after the fact, and law enforcement is actually responsive around fiat theft in a way they haven't been around cryptocurrency theft. As a result, at least so-far, exchange thefts have not centered around the fiat side of the operations, and in the rare cases fiat has been lost it seems to have always, AFAIK, been cases where the exchange self-traded in order to cover up a cryptocurrency loss. But perhaps as the cryptocurrency side gets derisked we'll see more fiat shenanigans.
>> In just the first half of 2019, almost $500M^3 was stolen from custodial exchanges.
> And why would you be immune to this?
They'd be immune because those thefts targeted huge standing balances of highly liquid, irreversible cryptocurrencies, that users left on exchanges for convenience in trade. It sounds like their intent is to eliminate all large standing cryptocurrency balances. I have no idea if they will be successful, but if they are it should be a substantial derisking.
> What problem? To buy LN coins instead of Bitcoins?
There is no such thing as "LN coins", lightning is a bitcoin smart contract that allows effectively instantaneous transfers of Bitcoin between users. It works by telling the bitcoin network that some collection of your coins will be governed by a programmatic contract between you and another user, then you can trade your coins back and forth as fast as you want at no cost, and you only need to go back to the network if there is a dispute between parties (where the network then forces correct handling) or you want to remove the coins from the agreement.
This is conceptually similar to how you enjoy the protection of the law and the courts while virtually never going to court yourself-- except more powerful because taking your dispute to the network is completely automated, radically cheaper than a court, and not so subject to making a wrong decision. :)
(The network part of the name comes in because the lighting contracts allow transitive trade, e.g. if Alice and Mallory have funds subject to lightning contract, and Mallory and Bob have funds subject to lighting contract-- then Alice can pay Bob, transitively via Mallory without posting transactions in public. This is possible because the protocol is constructed so that multiple trades can be made cryptographically atomic-- where either all succeed or all fail.)
Part of the reason that you're being downvoted is because misinformation claiming that lightning issues some kind of additional or alternative cryptocurrency is a dog whistle of some well known cryptocurrency scammers, such as Craig Wright and his staff.
Downvoters may have been assuming that you were employed by one of these scammers, but it's just as possible that you simply picked up some of their terminology in ignorance.
Cheers.
Anyway that's a lot of words to not answer my questions other than guessing their intent to eliminate large cryptocurrency balances (using LN means they do have to hold Bitcoins).
I used the term "LN coins" to signify that LN have fundamentally different properties than Bitcoin, whereas your wall of newspeak suggest LN and Bitcoins are the same. They are not.
LN operates by trading unconfirmed Bitcoin transactions, and holders are expected to challenge fraud not to loose their coins. Yes this mean you have to be always online (or you need someone else to be for you). Also you might not be able to pay someone, because there is no route with sufficient funds. There is something called the "inbound capacity problem"[1] which limits how much you can receive.
In fact LN developers are saying that LN is not ready and should not be used in production, simply because it's not ready. See for example a recent CVE which has been exploited in the wild.[2]
Implying, as you do, that using LN is as good as using Bitcoin is far worse misinformation than you misinterpreting my choice of words as if I said LN is another cryptocurrency. (Also funny how you react to that, as if all cryptocurrencies other than Bitcoin are scams, which is of course not the case).
[0]: https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017...
[1]: https://blockonomi.com/lightning-network-inbound-capacity/
[2]: https://lists.linuxfoundation.org/pipermail/lightning-dev/20...
>Once a predetermined number of coins have entered circulation, the incentive can transition entirely to transaction fees and be completely inflation free.
At any rate, the rest of your commentary is inaccurate. Lightning channels can go offline and be completely fine. I've had one offline for months before I brought my node back online and everything was fine.
The inbound liquidity issues are being resolved through dual-funded channels, which means both parties of a channel coordinate to start a channel off with the liquidity balanced between them instead of completely on one side.
LN is in fact still in beta, and you should expect bugs like any other beta software. That should come as no surprise.
Lightning is however in a state where it is more or less safe to use. The twitter bot I run that relays Blockstream Satellite transmissions has on order of 3,000 tweets -- which means there have been 3,000 payments with Lightning for just this one service.
Keep in mind Lightning in general is more suited to small amounts given the very cheap fees and divisibility down to 0.00000000001 of a bitcoin.
So to sum it all up, your post is pretty inaccurate.
That's a completely different idea than having full blocks where users compete for fees. You can also fund miners via lot's of transactions instead of few transactions with large fees.
> Lightning channels can go offline and be completely fine.
That's only because the other party didn't do anything. It's like saying leaving your door unlocked and open is safe because you did it once and nobody walked in to steal your stuff. You were lucky.
> Lightning is however in a state where it is more or less safe to use.
I did post link to a recent bug where LN is exploited to steal users funds didn't I? This kind of misinformation that "LN is more or less safe" really downplays the existing issues. It is beta software and should be treated as such.
> So to sum it all up, your post is pretty inaccurate.
To sum it all up, I was saying transactions in LN are different than Bitcoin transactions and that LN is only in beta, which you also confirm.
You have a fundamental misunderstanding how ACHs work. There's no such thing as an ACH that is "completed". At +180 days the state is "It is probably going to be fine". At +365 days the state is "It is probably most likely going to be fine" etc.
Source: Done consulting for execs at medium sized banks.
They don't need to classify an ACH as "completed" or "not completed", they only need to place a confidence interval on its completion state, which becomes easier as they process more transfers.
They ignore financial regulations to the level of Uber ignoring taxi regulations. The difference between the taxi commission or whatever its name is in San Fran and US Department of Treasury is that the later relies on people with guns and can block customer's ability to do any financial transactions.
The reason why in the standard custodial scheme ACH transactions are fine ( but still are frowned upon ) is because the appreciating asset can be reclaimed from a custodian via courts.
1.AnchorUSD
2.Their trust company where escrow is held
3.Zap for lightning network wallet
4.Abacus for identity verification
5.and you (sparkswap)
I'd say this is neither direct nor instant (just abacus verification adds crazy friction). And the trust issue is real, I'd personally feel better with one large custodial institution than a number of startups in this chain that I know nothing about (or their security practices).
If you can solve that there is market for sure.
Both Zap and the Sparkswap app are open source, which should reduce some of the trust you have to place in them.
The trust issue with fiat is difficult to get around, with both Sparkswap and any other service that interacts with the traditional financial system. By removing custody of at least the Bitcoin side of the transaction, we think we're taking a step in the right direction.
Overall your feedback is well-taken - there is certainly more we can do to reduce the number of steps and different pieces of software / service providers that users need to interact with to use Sparkswap.
You're correct in other ways as well:
The "lightning" network (heh) still requires slow Bitcoin transactions to initiate and close. And it's between two trusted parties anyway, so this negates the need for a trustless network like Bitcoin.
A far better "lightning network" has existed for many years. It's called a shared SQL database.
The lightning network couldn't be built without having a lower level trustless party. Bitcoin actually lets us bootstrap trust.
More thoughts on bootstrapping trust:
https://www.nemil.com/crypto/why-cryptocontracts-matter.html
I am admittedly a crypto currency novice, so I'm not real familiar with the lightning network and how it works. I am curious how your product differs from the Bitcoin feature on Square Cash app?
I have had a good experience buying Bitcoin with USD from Square. It's fast, there is no fee (although they pad the price a little bit), and I can then immediately send the coins to the wallet of my choosing.
Seems like your product is very similar. Are there any major differences? What are the reasons to use your app and not keep buying from Square?
The downside is that you have to be comfortable being responsible for the keys, which not everyone is.
I'm just starting to get into buying crypto, but for someone like me, I'm ONLY interested in managing my own private keys.
I don't typically buy large amounts of bitcoin at a time, so when I do it is advantageous to reduce the fees as much as possoble.
Excgange fees and/or network transaction fees can take a painful percentage from small transactions, so I will certainly be happy to give Sparkswap a try!
Lightning is a sham.
Shameless plug: I've built a platform that showcases apps that are powered by the Lightning Network.
Most of them are experiments with instant settlements and micropayments, but it should give you a good idea why you should care about Lightning: https://www.lapps.co
And when you say "Connect your bank account..." does that mean this only works in the USA? Would be nice if this was mentioned somewhere.