techtailor / laravel-binance-api
A Laravel Wrapper for the Binance API.
Fund package maintenance!
TechTailor
Liberapay
Installs: 2 414
Dependents: 0
Suggesters: 0
Security: 0
Stars: 13
Watchers: 3
Forks: 14
Open Issues: 3
Requires
- php: ^7.4|^8.0
- illuminate/contracts: ^7.0|^8.0
- illuminate/http: ^7.0|^8.0
- illuminate/support: ^7.0|^8.0
- spatie/laravel-package-tools: ^1.9
Requires (Dev)
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.3
README
This package provides a Laravel Wrapper for the Binance API and allows you to easily communicate with it.
Important Note
This package is in early development stage. It is not advisable to use it in a production app until v1.0
is released. Feel free to open a PR to contribute to this project and help me reach a production ready build.
Installation
You can install the package via composer:
composer require techtailor/laravel-binance-api
You can publish the config file with:
php artisan vendor:publish --tag="binance-api-config"
Open your .env
file and add the following (replace YOUR_API_KEY
and YOUR_SECRET
with the API Key & Secret you received from Binance) -
BINANCE_KEY=YOUR_API_KEY BINANCE_SECRET=YOUR_SECRET
Or
Open the published config file available at config/binance-api.php
and add your API and Secret Keys:
return [ 'auth' => [ 'key' => env('BINANCE_KEY', 'YOUR_API_KEY'), 'secret' => env('BINANCE_SECRET', 'YOUR_SECRET') ], ];
Usage
Using this package is very simple. Just initialize the Api and call one of the available methods:
use TechTailor\BinanceApi\BinanceAPI; $binance = new BinanceAPI(); $time = $binance->getTime();
You can also set an API & Secret for a user by passing it after initalization (useful when you need to isolate api keys for individual users):
$binance = new BinanceApi(); $binance->setApi($apiKey, $secretKey); $accountInfo = $binance->getAccountInfo();
Available Methods
Available Public Methods (Security Type : NONE
) [API Keys Not Required]
- getSystemStatus() // returns system status, expect msg to be "normal".
- getTime() // returns server timestamp.
- getExchangeInfo($symbol) // returns current exchange trading rules and symbol information.
- getOrderBook($symbol) // returns the order book for the symbol.
- getAvgPrice($symbol) // returns the average price for a symbol.
- getTicker($symbol) // returns the 24hr ticker for a symbol (if no symbol provided, returns an array of all symbols).
Available Private Methods (Security Type : USER_DATA
) [API Keys Required]
- getAccountInfo() // returns current account information.
- getAllOrders() // return all current account orders (active, canceled or filled).
- getOpenOrders($symbol) // returns all current account open orders (Careful when accessing without symbol).
- getTrades($symbol) // returns all trades for a symbol.
- getOrderStatus($symbol, $orderId) // returns status of a given order.
- getUserCoinsInfo() // returns information of all coins available to the user.
- getDepositHistory() // returns the user's deposit history.
- getWithdrawHistory() // returns the user's withdraw history.
TODO
List of features or additional functionality we are working on (in no particular order) -
- Improve exception handling.
- Add rate limiting to API Calls.
- Add response for API ban/blacklisting response.
- Improve ReadMe.
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.