Blockfolio SDK for PHP - Unofficial
, (*1)
The Blockfolio SDK for PHP is an interface for interacting with the Blockfolio endpoints., (*2)
Example
[https://harlanzw.com/export-blockfolio], (*3)
Features
- Majority of Blockfolio endpoints mapped out
- Built on Guzzle, middleware for handling the required headers
- Full behat automated testing to ensure endpoints are working as expected
- Docker workspace for easy development
Getting Started
-
Find Your Magic - You will need to use Packet Capture Android App and scan Blockfolio outgoing requests. The
request looks like this
GET /rest/system_status?platform=android_rn HTTP/1.1
magic: edtopjhgn2345piuty89whqejfiobh89-2q453
build-number: 225
version: 1.1.10.225
Host: api-v0.blockfolio.com
Connection: Keep-Alive
Accept-Encoding: gzip
User-Agent: okhttp/3.6.0
-
Get your API Key – This can be found within the app under Settings -> Token
-
Minimum requirements – To run the SDK, your system will need to meet the minimum requirements, including having PHP >= 7.1.
-
Install the SDK – Using Composer run
composer require loonpwn/blockfolio-php
-
Using the SDK – Follow the examples below or look at the functions available
Endpoints
The base URL is https://api-v0.blockfolio.com/rest/
., (*4)
-
version
- Gets the API version
-
system_status
- Gets the API's system status
-
coinlist_v6
- Gets a list of all coins available
-
currency
- Gets a list of currencies available
-
get_all_positions
- Gets a list of all your positions
-
get_positions_v2/{ticker}
- Gets all of your positions for a ticker
-
get_combined_position/{ticker}
- Similar to the above
-
marketdetails_v2/{exchange}/{ticker}
- See what an exchange is trading a ticker for. Binance used by default
-
candlestick/{exchange}/{ticker}
- Get all data points for a ticker on an exchange. Binance used by default
-
orderbook/{exchange}/{ticker}
- Get the order book for a ticker on an exchange. Binance used by default
Quick Examples
Create the client
The ideal setup is to create an environment variable. Alternatively you can pass in the options the api key., (*5)
BLOCKFOLIO_API_KEY=<key>
BLOCKFOLIO_MAGIC=<magic>
<?php
// Require the Composer autoloader.
require 'vendor/autoload.php';
use Blockfolio\API;
// Instantiate a blockfolio api instance
$api = new API([
'BLOCKFOLIO_MAGIC' => '<magic', // if not declared as an environment variabl
'BLOCKFOLIO_API_KEY' => '<key>', // if not declared as an environment variable
'fiat_currency' => 'USD', // optional
'locale' => 'en-US', // optional
'use_alias' => true, // optional
]);
Get all positions
<?php
$response = $api->get_all_positions();
// display all positions
var_dump($response->positionList);