How to Buy Crypto in 20 seconds with your Bitcoin/Litecoin/etc

BlockTrades has now enabled “fast-confirmations” for all cryptocurrencies, so you can send in bitcoin and get your Steem or other cryptocurrency purchase in about 20 seconds on average. This feature was primarily added to allow merchants to provide their customers with a way to rapidly pay for items in shops and restaurants using point-of-sales systems like BlockPay, but it can also be useful for regular BlockTrades customers who wish to make rapid purchases with Bitcoin, Litecoin, and other cryptocurrencies that don't normally confirm quickly. Many users probably won't take advantage of this capability, since it does require some initial setup and a surety deposit, but it may be of interest for active traders who want to capitalize on rapid price changes.

This purchase method is only available to users who have signed into blocktrades.us, so if you want to purchase STEEM using this method, you must go to https://blocktrades.us . Currently it will not work if you're purchasing Steem via the Steemit purchase dialog. Note that Steem and Steem Power prices are the same for either purchase method, it's just a difference in the user interface.

For anyone who wants to take advantage of the fast confirmation capability, follow the steps below:

Configure your BlockTrades account to enable fast confirmations

  1. Create a user account on http://blocktrades.us if you don't already have one. BlockTrades requires that you use a valid email address as your user account name. The email must be validated by replying to an automated email from BlockTrades. Only registered BlockTrades accounts can use the fast confirmation feature, because we need to be able to connect your input addresses to your BitShares account where your “surety amount” is stored.
  2. If you don't have a BitShares account yet, you will need to create one here: https://bitshares.openledger.info/#
  3. Buy enough TRADE.USDLABOR from blocktrades.us to cover the largest amount of bitcoin you want to be “fast confirmed” and have it sent to your BitShares account. For example, if you want to be able to fast confirm a 1 BTC purchase of Steem, purchase around 600 TRADE.USDLABOR (~1 BTC at current prices).
  4. Link your BitShares account to your BlockTrades.us account by sending a payment of 1 TRADE.USDLABOR from your BitShares account to the “blocktrades” BitShares account with your BlockTrades account name (email address) as the memo. Note: it is very important to put your BlockTrades account name in the memo field, otherwise the system will not know how to link your BitShares and BlockTrades accounts to allow fast confirmations.

Login to BlockTrades to get fast-confirmable payment addresses

After you've configured your account using the above steps, you can login to BlockTrades and request deposit payment addresses that are eligible for fast confirmations. Any payment address you obtain while logged into your BlockTrades account will fast confirm as long as you have a sufficient amount of TRADE.USDLABOR in your BitShares account to act as a surety for your unconfirmed payment. When you send to the payment address, BlockTrades will temporarily remove an equivalent amount of TRADE.USDLABOR and immediately send you the cryptocurrency you've purchased. Once your payment confirms normally on its blockchain, BlockTrades will return the TRADE.USDLABOR it temporarily removed.

Example of fast confirmation limits imposed by surety amount

User John purchases 600 TRADE.USDLABOR and links his BitShares account to his BlockTrades account by paying 1 TRADE.USDLABOR, leaving 599 TRADE.USDLABOR in his account that acts as a surety amount. John can now fast confirm multiple transactions up to a total equivalent value of 599 TRADE.USDLABOR at any given time.

For example, he can send in two 0.5 BTC payments for Steem and immediately receive the Steem for both transactions. If he sends in a third payment of 1 BTC before his first two payments have confirmed, he will have to wait till either the first two payments have confirmed and his surety has been returned (after which his 3rd payment will fast confirm) or until his third payment confirms normally. When he decides he no longer needs fast confirmations, he can use his TRADE.USDLABOR to purchase one or more of his favorite cryptocurrencies from BlockTrades (or trade it for something else on the BitShares decentralized exchange).

OK, that's all it takes to get fast confirms of Bitcoin, etc, on the BlockTrades website, but if you're a web coder that wants to integrate fast confirmations of crypto conversions into your web site, we've got an extra credit section just for you...

Extra Credit for Web Coders Only: Fast-confirmations via the BlockTrades API

As mentioned earlier, currently users have to get their payment addresses from the BlockTrades web site in order for them to be fast-confirmable, but the BlockTrades API (application programming interface) allows for other web-based services to get fast confirmable payment addresses as well. The key is that the request for a payment address must be linked to a logged-in user's account. Here's how to do that via our API:

First, make a POST request to https://blocktrades.us/api/v2/sessions with your BlockTrades username (email address) and password. This will return a session token that is valid until the given "expirationTime" (currently a session token is good for 4 hours). You can cache the session token and reuse it until it expires, or just create a new session for every request if that is easier for your web application.

$ curl -H "Content-Type: application/json" -X POST --data '{"email": "my_email@mycompany.com", "password": "thisisnotmyrealpassword"}' https://blocktrades.us/api/v2/sessions
{
"token": "4310c7e7-dc44-498c-abc6-0d233d8eb55d",
"user": {
"email": "my_email@mycompany.com",
"userId": "bdbef475-0019-439a-95e6-d075d6621078",
"timeZone": "UTC",
"activated": true,
"creationTime": "2016-05-06T11:25:56.939913-04:00",
"lastModifiedTime": "2016-05-06T11:25:56.939913-04:00",
"lastLoginTime": "2016-07-29T17:48:26.473245-04:00"
},
"expirationTime": "2016-07-29T21:48:26.522779-04:00"
}

Then, just include the token you received in the "token" field above as the "sessionToken" in your initiate-trade request:

$ curl -H "Content-Type: application/json" -X POST --data '{"inputCoinType": "btc", "outputCoinType": "steem", "outputAddress": "my_steem_account", "sessionToken": "4310c7e7-dc44-498c-abc6-0d233d8eb55d"}' https://blocktrades.us/api/v2/simple-api/initiate-trade
{
"inputAddress": "18cER8mUensvWcDF29ZbNHMYEYo8XRTPGc",
"inputMemo": null,
"inputCoinType": "btc",
"outputAddress": "my_steem_account",
"outputCoinType": "steem",
"refundAddress": null
}

Right now the result of the initiate-trade request is the same as when you don't specify a sessionToken, but if you give an invalid token you'll get a 400 error "Bad Request: Invalid or expired session token xxxxxx".

Full documentation on the BlockTrades API is available here: https://blocktrades.us/api/v2/explorer/

The two calls required to get fast-confirmable addresses are documented here:
https://blocktrades.us/api/v2/explorer/#!/sessions/createNewSession
https://blocktrades.us/api/v2/explorer/#!/initiate-trade/create

H2
H3
H4
3 columns
2 columns
1 column
40 Comments