- Easy use digital currency exchange SDK, include
Binance
,OKX
,Huobi
,Gate
,Coinbase
etc - If you don’t have what you want, please let me know, and I will fulfill your wish 😄
- Pull requests are welcome.
- 中文文档
- PHP >= 7.2
- Composer
$ composer require "stingbo/easyexchange" -vvv
- You are very familiar with the API documentation of the access platform in the project
- If it is greater than or equal to more than three parameters, use an array to pass in, otherwise use a parameter with the same name to pass in
- The interface name is not necessarily consistent with the corresponding platform. I have unified the interfaces of multiple platforms, but the parameters need to be passed in the corresponding name of the platform
- Binance's timestamp parameter is built-in, no additional input is required
- Huobi’s AccessKeyId, SignatureMethod, SignatureVersion, and Timestamp are already built-in, no additional input is required
platform | support |
---|---|
Binance | ✔️ |
Huobi | ✔️ |
OKX | ✔️ |
Gate | ✔️ |
Coinbase | ✔️ |
🚀 Quick Start
<?php
use EasyExchange\Factory;
$config = [
'binance' => [
'response_type' => 'array',
//'base_uri' => 'https://api.binance.com',
'base_uri' => 'https://testnet.binance.vision', // testnet
'app_key' => 'your app key',
'secret' => 'your secret',
'proxy' => [
'http' => 'socks5h://127.0.0.1:1080', // Use this proxy with "http"
'https' => 'socks5h://127.0.0.1:1080', // Use this proxy with "https"
'no' => ['.mit.edu', 'foo.com'], // Don't use a proxy with these
],
'websocket' => [
'base_uri' => 'ws://stream.binance.com:9443',
'listen_ip' => '127.0.0.1', // listen ip
'listen_port' => 2207, // listen port
'heartbeat_time' => 20, // Heartbeat detection time, seconds
'timer_time' => 3, // Scheduled task time,seconds
'max_size' => 100, // Data retention,1~1000,Data is stored by channel name
'data_time' => 1, // Time interval for getting data,seconds
'debug' => true,
],
'log' => [
'level' => 'debug',
'file' => '/tmp/exchange.log',
],
// ...
],
];
$app = Factory::binance($config['binance']);
$app->basic->ping();
1. Basic Information
// Test Connectivity
$app->basic->ping();
// Check Server Time
$app->basic->systemTime();
// Exchange Information
$app->basic->exchangeInfo();
// System Status
$app->basic->systemStatus();
2. Account Information
// Get BNB Burn Status
$app->user->getBnbBurnStatus();
// Toggle BNB Burn On Spot Trade And Margin Interest
$params = []; // For specific values, see the corresponding api document, the same below
$app->user->bnbBurn($params);
3. Market Data
// Order Book
$symbol = 'ETHBTC';
$app->market->depth($symbol);
// Recent Trades List
$app->market->trades($symbol, 10);
// Old Trade Lookup
$app->market->historicalTrades($symbol, 10);
// Compressed/Aggregate Trades List
$app->market->aggTrades($symbol);
// Kline/Candlestick Data
$params = [
'symbol' => 'ETHBTC',
'interval' => 'DAY',
'startTime' => 'timestamp',
'endTime' => 'timestamp',
'limit' => 10,
];
$app->market->kline($params);
// Current Average Price
$app->market->avgPrice($symbol);
// 24hr Ticker Price Change Statistics
$app->market->hr24($symbol);
// Symbol Price Ticker
$app->market->price($symbol);
// Symbol Order Book Ticker
$app->market->bookTicker($symbol);
4. Wallet
// All Coins' Information
$app->market->getAll();
// Daily Account Snapshot
$params = []; // For specific values, see the corresponding api document, the same below
$app->market->accountSnapshot($params);
// Disable Fast Withdraw Switch
$app->market->disableFastWithdrawSwitch();
// Enable Fast Withdraw Switch
$app->market->enableFastWithdrawSwitch();
// Withdraw[SAPI]-Submit a withdraw request
$app->market->withdrawApply($params);
// Withdraw[WAPI]-Submit a withdraw request
$app->market->withdraw($params);
// Deposit History(supporting network)
$app->market->capitalDepositHistory($params);
// Deposit History
$app->market->depositHistory($params);
// Withdraw History(supporting network)
$app->market->capitalWithdrawHistory($params);
// Withdraw History
$app->market->withdrawHistory($params);
// Deposit Address (supporting network)
$app->market->capitalDepositAddress($params);
// Deposit Address
$app->market->depositAddress($params);
// Account Status
$app->market->accountStatus();
// Account API Trading Status
$app->market->apiTradingStatus();
// DustLog-Fetch small amounts of assets exchanged BNB records
$app->market->userAssetDribbletLog();
// DustLog(SAPI)
$app->market->assetDribblet();
// Dust Transfer-Convert dust assets to BNB.
//It is written on the Binance document:ARRAY,the asset being converted. For example:asset = BTC&asset = USDT
$asset = [];
$app->market->assetDust($asset);
// Asset Dividend Record
$app->market->assetDividend($params);
// Asset Detail
$app->market->assetDetail();
// Trade Fee
$app->market->tradeFee();
// Trade Fee(SAPI)
$app->market->assetTradeFee();
// User Universal Transfer
$app->market->transfer($params);
// Query User Universal Transfer History
$app->market->transferHistory($params);
5. Spot Trade
// Test New Order
$params = [
'symbol' => 'LTCUSDT',
'side' => 'SELL', //BUY or SELL
'type' => 'LIMIT',
'timeInForce' => 'GTC',
'quantity' => 0.1,
'price' => 180,
'recvWindow' => 10000,
];
$app->spot->orderTest($params);
// New Order
$params = [
'symbol' => 'LTCUSDT',
'side' => 'SELL', //BUY or SELL
'type' => 'LIMIT',
'timeInForce' => 'GTC',
'quantity' => 0.1,
'price' => 180,
'recvWindow' => 10000,
];
$app->spot->order($params);
// Cancel Order
$params = [
'symbol' => 'LTCUSDT',
'orderId' => 3946,
'recvWindow' => 10000,
];
$app->spot->cancelOrder($params);
// Cancel all Open Orders on a Symbol
$app->spot->cancelOrders('ETHBTC');
// Query Order
$params = []; // For specific values, see the corresponding api document, the same below
$app->spot->get($params);
// Current Open Orders
$app->spot->openOrders('ETHBTC');
// All Orders-Get all account orders; active, canceled, or filled.
$app->spot->allOrders($params);
// New OCO
$app->spot->oco($params);
// Cancel OCO
$app->spot->cancelOcoOrder($params);
// Query OCO
$app->spot->getOcoOrder($params);
// Query all OCO
$app->spot->allOrderList($params);
// Query Open OCO
$app->spot->openOrderList($params);
// Account Trade List
$app->spot->myTrades($params);
6. Cross Margin Account Transfer
// Cross Margin Account Transfer
$app->margin->transfer($params);
// Margin Account Borrow
$app->margin->loan($params);
// Margin Account Repay
$app->margin->repay($params);
// Query Margin Asset
$asset = 'BNB';
$app->margin->asset($asset);
// Query Cross Margin Pair
$symbol = 'LTCUSDT';
$app->margin->pair($symbol);
// Get All Margin Assets
$app->margin->allAssets();
// Get All Cross Margin Pairs
$app->margin->allPairs();
// Query Margin PriceIndex
$app->margin->priceIndex($symbol);
// Margin Account New Order
$app->margin->order($params);
// Margin Account Cancel Order
$app->margin->cancelOrder($params);
// Margin Account Cancel all Open Orders on a Symbol
$app->margin->cancelOrders($params);
// Get Cross Margin Transfer History
$app->margin->transferHistory($params);
// Query Loan Record
$app->margin->loanHistory($params);
// Query Repay Record
$app->margin->repayHistory($params);
// Get Interest History
$app->margin->interestHistory($params);
// Get Force Liquidation Record
$app->margin->forceLiquidationRec($params);
// Query Cross Margin Account Details
$app->margin->account();
// Query Margin Account's Order
$app->margin->get($params);
// Query Margin Account's Open Orders
$app->margin->openOrders($params);
// Query Margin Account's All Orders
$app->margin->allOrders($params);
// Query Margin Account's Trade List
$app->margin->myTrades($params);
// Query Max Borrow
$app->margin->maxBorrowable($params);
// Query Max Transfer-Out Amount
$app->margin->maxTransferable($params);
// Create Isolated Margin Account
$app->margin->create($params);
// Isolated Margin Account Transfer
$app->margin->isolatedTransfer($params);
// Get Isolated Margin Transfer History
$app->margin->isolatedTransferHistory($params);
// Query Isolated Margin Account Info
$symbols = 'BTCUSDT,BNBUSDT,ADAUSDT';
$app->margin->isolatedAccount($symbols);
// Query Isolated Margin Symbol
$app->margin->isolatedPair($symbol);
// Get All Isolated Margin Symbol
$app->margin->isolatedAllPairs();
// Query Margin Interest Rate History
$app->margin->interestRateHistory($params);
7. Futures
// New Future Account Transfer
$app->future->transfer($params);
// Get Future Account Transaction History List
$app->future->transferHistory($params);
// Borrow For Cross-Collateral
$app->future->borrow($params);
// Cross-Collateral Borrow History
$app->future->borrowHistory($params);
// Repay For Cross-Collateral
$app->future->repay($params);
// Cross-Collateral Repayment History
$app->future->repayHistory($params);
// Cross-Collateral Wallet - v1 & v2,default v1,the same below
$version = 'v1';
$app->future->wallet($version);
// Cross-Collateral Information - v1 & v2,default v1,the same below
$app->future->configs($params, $version);
// Calculate Rate After Adjust Cross-Collateral LTV - v1 & v2
$app->future->calcAdjustLevel($params, $version);
// Get Max Amount for Adjust Cross-Collateral LTV - v1 & v2
$app->future->calcMaxAdjustAmount($params, $version);
// Adjust Cross-Collateral LTV - v1 & v2
$app->future->adjustCollateral($params, $version);
// Adjust Cross-Collateral LTV History
$app->future->adjustCollateralHistory($params);
// Cross-Collateral Liquidation History
$app->future->liquidationHistory($params);
// Check Collateral Repay Limit-Check the maximum and minimum limit when repay with collateral
$app->future->collateralRepayLimit($params);
// Get Collateral Repay Quote
$app->future->getCollateralRepay($params);
// Repay with Collateral-Repay with collateral. Get quote before repay with collateral is mandatory, the quote will be valid within 25 seconds
$quoteId = '8a03da95f0ad4fdc8067e3b6cde72423';
$app->future->collateralRepay($quoteId);
// Collateral Repayment Result
$app->future->collateralRepayResult($quoteId);
// Cross-Collateral Interest History
$app->future->interestHistory($params);
8. Mining
// Acquiring Algorithm
$app->pool->algoList();
// Acquiring CoinName
$app->pool->coinList();
// Request for Detail Miner List
$app->pool->workerDetail($params);
// Request for Miner List
$app->pool->workerList($params);
// Earnings List
$app->pool->paymentList($params);
// Extra Bonus List
$app->pool->paymentOther($params);
// Hashrate Resale Detail List
$app->pool->hashTransferConfigDetails($params);
// Hashrate Resale List
$app->pool->hashTransferConfigDetailsList($params);
// Hashrate Resale Detail
$app->pool->hashTransferProfitDetails($params);
// Hashrate Resale Request
$app->pool->hashTransferConfig($params);
// Cancel hashrate resale configuration
$app->pool->hashTransferConfigCancel($params);
// Statistic List
$app->pool->userStatus($params);
// Account List
$app->pool->userList($params);
🚀 Quick Start
<?php
use EasyExchange\Factory;
$config = [
'huobi' => [
'response_type' => 'array',
'base_uri' => 'https://api.huobi.pro',
'app_key' => 'your app key',
'secret' => 'your secret',
'proxy' => [
'http' => 'socks5h://127.0.0.1:1080', // Use this proxy with "http"
'https' => 'socks5h://127.0.0.1:1080', // Use this proxy with "https"
'no' => ['.mit.edu', 'foo.com'], // Don't use a proxy with these
],
'websocket' => [
'base_uri' => [
[
'url' => 'ws://api.huobi.pro/ws',
'type' => 'public',
],
[
'url' => 'ws://api.huobi.pro/ws/v2',
'type' => 'private',
]
],
'listen_ip' => '127.0.0.1', // listen ip
'listen_port' => 2207, // listen port
'heartbeat_time' => 20, // Heartbeat detection time, seconds
'timer_time' => 3, // Scheduled task time,seconds
'max_size' => 100, // Data retention,1~1000,Data is stored by channel name
'data_time' => 1, // Time interval for getting data,seconds
'debug' => true,
],
'log' => [
'level' => 'debug',
'file' => '/tmp/exchange.log',
],
// ...
],
];
$app = Factory::houbi($config['houbi']);
$app->basic->systemStatus();
1. Basic Information
// Get system status
$app->basic->systemStatus();
// Get Market Status
$app->basic->marketStatus();
// Get all Supported Trading Symbol
$app->basic->exchangeInfo();
// Get all Supported Currencies
$app->basic->currencys();
// APIv2 - Currency & Chains
$app->basic->currencies();
// Get Current Timestamp
$app->basic->systemTime();
2. Account Information
// Get all Accounts of the Current User
$app->user->accounts();
// Get Account Balance of a Specific Account
$account_id = 360218;
$app->user->balance($account_id);
// Get Asset Valuation
$params = []; // For specific values, see the corresponding api document, the same below
$app->user->assetValuation($params);
// Asset Transfer
$app->user->transfer($params);
// Get Account History
$app->user->history($params);
// Get Account Ledger
$app->user->ledger($params);
// Transfer Fund Between Spot Account and Future Contract Account
$app->user->futuresTransfer($params);
// Get Point Balance
$app->user->point($subUid = '');
// Point Transfer
$app->user->pointTransfer($params);
3. Market Data
// Get Klines(Candles)
$params = [
'symbol' => 'btcusdt',
'period' => '5min',
];
$app->market->kline($params);
// Get Latest Aggregated Ticker
$app->market->aggTrades($symbol);
// Get Latest Tickers for All Pairs
$app->market->tickers();
// Get Market Depth
$app->market->depth($params);
// Get the Last Trade
$app->market->trades($symbol);
// Get the Most Recent Trades
$app->market->historicalTrades($symbol);
// Get the Last 24h Market Summary
$app->market->hr24($symbol);
// Get real time NAV
$app->market->etp($symbol);
4. Wallet
// Query Deposit Address
$currency = 'btc';
$app->wallet->depositAddress($currency);
// Query Withdraw Quota
$app->wallet->withdrawQuota($currency);
// Query withdraw address
$params = [
'currency' => 'xrp',
];
$app->wallet->withdrawAddress($params);
// Create a Withdraw Request
$app->wallet->withdraw($params);
// Cancel a Withdraw Request
$app->wallet->cancelWithdraw($params);
// Search for Existed Withdraws and Deposits
$app->wallet->depositHistory($params);
5. Trading
// Place a New Order
$params = [
'account-id' => 360000,
'symbol' => 'btcusdt',
'type' => 'buy-limit',
'amount' => 0.001,
'price' => 10000,
];
$app->trade->order($params);
// Place a Batch of Orders
$app->trade->batchOrders($params);
// Submit Cancel for an Order
$app->trade->cancelOrder('204533841408061');
// Submit Cancel for an Order (based on client order ID)
$client_order_id = 'a0001';
$app->trade->cancelClientOrder($client_order_id);
// Get All Open Orders
$params = [
'account-id' => 360000,
'symbol' => 'btcusdt',
// 'side' => 'both',
];
$app->trade->openOrders($params);
// Submit Cancel for Multiple Orders by Criteria
$app->trade->batchCancelOpenOrders($params);
// Submit Cancel for Multiple Orders by IDs
$order_ids = ['5983466', '5722939', '5721027'];
$app->trade->batchCancel($order_ids);
// Dead man’s switch
$timeout = 10;
$app->trade->cancelAllAfter($timeout);
// Get the Order Detail of an Order
$order_id = '59378';
$app->trade->get($order_id);
// Get the Order Detail of an Order (based on client order ID)
$order_client_id = 'a0001';
$app->trade->getClientOrder($order_client_id);
// Get the Match Result of an Order
$app->trade->matchResult($order_id);
// Search Past Orders
$app->trade->getOrders($params);
// Search Historical Orders within 48 Hours
$app->trade->hr48History($params);
// Search Match Results
$app->trade->matchResults($params);
// Get Current Fee Rate Applied to The User
$symbols = 'btcusdt,ethusdt,ltcusdt';
$app->trade->transactFeeRate($symbols);
6. Margin Loan(Cross/Isolated)
// Repay Margin Loan(Cross/Isolated )
$app->margin->repayment($params);
// Transfer Asset from Spot Trading Account to Isolated Margin Account(Isolated).
$app->margin->transferIn($params);
// Transfer Asset from Isolated Margin Account to Spot Trading Account(Isolated).
$app->margin->transferOut($params);
// Get Loan Interest Rate and Quota(Isolated).
$app->margin->loanInfo($params);
// Request a Margin Loan(Isolated).
$app->margin->orders($params);
// Repay Margin Loan(Isolated).
$app->margin->repay($order_id, $amount);
// Search Past Margin Orders(Isolated).
$app->margin->loanOrders($params);
// Get the Balance of the Margin Loan Account(Isolated).
$app->margin->balance($symbol = '', $sub_uid = '');
// Transfer Asset from Spot Trading Account to Cross Margin Account(Cross).
$app->margin->crossTransferIn($currency, $amount);
// Transfer Asset from Cross Margin Account to Spot Trading Account(Cross).
$app->margin->crossTransferOut($currency, $amount);
// Get Loan Interest Rate and Quota(Cross).
$app->margin->crossLoanInfo();
// Request a Margin Loan(Cross).
$app->margin->crossOrders($currency, $amount);
// Repay Margin Loan(Cross).
$app->margin->crossRepay($order_id, $amount);
// Search Past Margin Orders(Cross).
$app->margin->crossLoanOrders($params);
// Get the Balance of the Margin Loan Account(Cross).
$app->margin->crossBalance($sub_uid = '');
// Repayment Record Reference(Cross).
$app->margin->getRepayment($params);
7. Conditional Order
// Place a conditional order
$app->algo->order($params);
// Cancel conditional orders (before triggering).
$app->algo->cancelOrder($clientOrderIds);
// Query open conditional orders (before triggering).
$app->algo->openOrders($params);
// Query conditional order history.
$app->algo->orderHistory($params);
// Query a specific conditional order.
$app->algo->specific($clientOrderId);
8. Margin Loan(C2C)
// Place a lending/borrowing offer
$app->c2c->order($params);
// Cancel a lending/borrowing offer.
$offerId = 14411;
$app->c2c->cancelOrder($offerId);
// Cancel all lending/borrowing offers.
$app->c2c->cancelAll($params);
// Query lending/borrow offers.
$app->c2c->getOrders($params);
// Query a lending/borrowing offer.
$app->c2c->get($offerId);
// Query lending/borrowing transactions.
$app->c2c->transactions($params);
// Repay a borrowing offer.
$app->c2c->repayment($params);
// Query C2C repayments.
$app->c2c->getRepayment($params);
// Transfer asset.
$app->c2c->transfer($params);
// Query C2C account balance.
$app->c2c->balance($accountId, $currency = '');
🚀 Quick Start
<?php
use EasyExchange\Factory;
$config = [
'okex' => [
'response_type' => 'array',
'base_uri' => 'https://www.okex.com',
'app_key' => 'your app key',
'secret' => 'your secret',
'passphrase' => 'your passphrase',
'x-simulated-trading' => 1,
'proxy' => [
'http' => 'socks5h://127.0.0.1:1080', // Use this proxy with "http"
'https' => 'socks5h://127.0.0.1:1080', // Use this proxy with "https"
'no' => ['.mit.edu', 'foo.com'], // Don't use a proxy with these
],
'websocket' => [
'base_uri' => [
[
'url' => 'ws://ws.okex.com:8443/ws/v5/public',
'type' => 'public',
],
[
'url' => 'ws://ws.okex.com:8443/ws/v5/private',
'type' => 'private',
]
],
'listen_ip' => '127.0.0.1', // listen ip
'listen_port' => 2207, // listen port
'heartbeat_time' => 20, // Heartbeat detection time, seconds
'timer_time' => 3, // Scheduled task time,seconds
'max_size' => 100, // Data retention,1~1000,Data is stored by channel name
'data_time' => 1, // Time interval for getting data,seconds
'debug' => true,
],
'log' => [
'level' => 'debug',
'file' => '/tmp/exchange.log',
],
],
];
$app = Factory::okex($config['okex']);
1. Basic Information
$params = [
'instType' => 'SPOT',
];
// Get Instruments
$app->basic->exchangeInfo($params);
// Get Delivery/Exercise History
$app->basic->deliveryExerciseHistory($params);
// Get Open Interest
$app->basic->openInterest($params);
// Get Funding Rate
$app->basic->fundingRate($instId);
// Get Funding Rate History
$app->basic->fundingRateHistory($params);
// Get Limit Price
$app->basic->priceLimit($instId);
// Get Option Market Data
$app->basic->optSummary($uly, $expTime = '');
// Get Estimated Delivery/Excercise Price
$app->basic->estimatedPrice($instId);
// Get Discount Rate And Interest-Free Quota
$app->basic->discountRateInterestFreeQuota($ccy = '');
// Get System Time
$app->basic->systemTime();
// Get Liquidation Orders
$app->basic->liquidationOrders($params);
// Get Mark Price
$app->basic->markPrice($params);
2. Account Information
// Get Balance
$app->user->balance($ccy = '');
// Get Positions
$app->user->positions($params);
// Get Bills Details (last 7 days)
$app->user->bills($params);
// Get Bills Details (last 3 months)
$app->user->billsArchive($params);
// Get Account Configuration
$app->user->config();
// Set Position mode
$app->user->setPositionMode($posMode);
// Set Leverage
$app->user->setLeverage($params);
// Get maximum buy/sell amount or open amount
$app->user->maxSize($params);
// Get Maximum Available Tradable Amount
$app->user->maxAvailSize($params);
// Increase/Decrease margin
$app->user->marginBalance($params);
// Get Leverage
$app->user->leverageInfo($instId, $mgnMode);
// Get the maximum loan of instrument
$app->user->maxLoan($params);
// Get Fee Rates
$app->user->tradeFee($params);
// Get interest-accrued
$app->user->interestAccrued($params);
// Set Greeks (PA/BS)
$app->user->setGreeks($greeksType);
// Get Maximum Withdrawals
$app->user->maxWithdrawal($ccy = '');
3. Market Data
// Get Tickers - Retrieve the latest price snapshot, best bid/ask price, and trading volume in the last 24 hours
$app->market->tickers($instType, $uly = '');
// Get Ticker
$app->market->ticker($instId);
// Get Index Tickers
$app->market->indexTickers($quoteCcy = '', $instId = '');
// Get Order Book
$instId = 'BTC-USD-SWAP';
$sz = 1;
$app->market->depth($instId, $sz);
// Get Candlesticks
$app->market->kline($params);
// Get Candlesticks History(top currencies only)
$app->market->klineHistory($params);
// Get Index Candlesticks
$app->market->indexKline($params);
// Get Mark Price Candlesticks
$app->market->markPriceKline($params);
// Get Trades
$app->market->trades($instId, $limit = 100);
// Get exchange rate - This interface provides the average exchange rate data for 2 weeks
$app->market->exchangeRate();
// Get index components - Get the index component information data on the market
$index = 'BTC-USDT';
$response = $app->market->indexComponents($index);
4. Funding
// Get Deposit Address
$app->wallet->depositAddress($ccy);
// Get Balance.
$app->wallet->balance($ccy = '');
// Funds Transfer.
$app->wallet->transfer($params);
// Withdrawal.
$app->wallet->withdrawal($params);
// Get Deposit History.
$app->wallet->depositHistory($params = []);
// Get Withdrawal History.
$app->wallet->withdrawalHistory($params = []);
// Get Currencies.
$app->wallet->currencies();
// PiggyBank Purchase/Redemption.
$app->wallet->purchaseRedempt($params);
// Asset Bills Details.
$app->wallet->bills($params);
5. Trade
$params = [
'instId' => 'BTC-USD-190927-5000-C',
'tdMode' => 'cash',
'side' => 'buy',
'ordType' => 'limit', // limit
'sz' => '0.0001', // Quantity to buy or sell
'px' => '1000', // Order price. Only applicable to limit order
];
// Place Order
$app->trade->order($params);
// Place Multiple Orders.
$app->trade->batchOrders($params);
// Cancel Order.
$app->trade->cancelOrder($params);
// Cancel Multiple Orders.
$app->trade->cancelBatchOrders($params);
// Amend Order - Amend an incomplete order.
$app->trade->amendOrder($params);
// Amend Multiple Orders.
$app->trade->amendBatchOrders($params);
// Close Positions.
$app->trade->closePosition($params);
$params = [
'instId' => 'BTC-USD-190927-5000-C',
'ordId' => '2510789768709120',
];
// Get Order Details
$app->trade->get($params);
// Get Order List.
$app->trade->openOrders($params);
// Get Order History (last 7 days).
$app->trade->orderHistory($params);
// Get Order History (last 3 months).
$app->trade->orderHistoryArchive($params);
// Get Transaction Details.
$app->trade->fills($params);
6. Conditional Order(Algo Order)
// Place Algo Order
$app->algo->order($params);
// Cancel Algo Order.
$app->algo->cancelOrder($params);
// Get Algo Order List.
$app->algo->openOrders($params);
// Get Algo Order History.
$app->algo->orderHistory($params);
7. Trading data
// Get support coin - Retrieve the currencies supported by the trading data endpoints.
$response = $app->trading->supportCoin();
// Get taker volume - Retrieve the taker volume for both buyers and sellers.
$params = [
'ccy' => 'BTC',
'instType' => 'SPOT',
];
$response = $app->trading->takerVolume($params);
// Get margin lending ratio - Retrieve the ratio of cumulative amount between currency margin quote currency and base currency.
$params = [
'ccy' => 'BTC',
];
$response = $app->trading->loadRatio($params);
// Get long/short ratio - Retrieve the ratio of users with net long vs net short positions for futures and perpetual swaps.
$params = [
'ccy' => 'BTC',
];
$response = $app->trading->contractLongShortAccountRatio($params);
// Get contracts open interest and volume - Retrieve the open interest and trading volume for futures and perpetual swaps.
$params = [
'ccy' => 'BTC',
];
$response = $app->trading->contractOpenInterestVolume($params);
// Get options open interest and volume - Retrieve the open interest and trading volume for options.
$response = $app->trading->optionOpenInterestVolume($params);
// Get put/call ratio - Retrieve the open interest ration and trading volume ratio of calls vs puts.
$ccy = 'BTC';
$response = $app->trading->optionOpenInterestVolumeRatio($ccy);
// Get open interest and volume (expiry) - Retrieve the open interest and trading volume of calls and puts for each upcoming expiration.
$response = $app->trading->optionOpenInterestVolumeExpiry($ccy);
// Get open interest and volume (strike) - Retrieve the taker volume for both buyers and sellers of calls and puts.
$exptime = '20220122';
$response = $app->trading->optionOpenInterestVolumeStrike($ccy, $exptime);
// Get taker flow - This shows the relative buy/sell volume for calls and puts. It shows whether traders are bullish or bearish on price and volatility.
$response = $app->trading->optionTakerBlockVolume($ccy);
🚀 Quick Start
<?php
use EasyExchange\Factory;
$config = [
'gate' => [
'response_type' => 'array',
'base_uri' => 'https://api.gateio.ws',
'app_key' => 'your app key',
'secret' => 'your secret',
'proxy' => [
'http' => 'socks5h://127.0.0.1:1080', // Use this proxy with "http"
'https' => 'socks5h://127.0.0.1:1080', // Use this proxy with "https"
'no' => ['.mit.edu', 'foo.com'], // Don't use a proxy with these
],
'websocket' => [
'base_uri' => 'ws://api.gateio.ws',
'listen_ip' => '127.0.0.1', // listen ip
'listen_port' => 2207, // listen port
'heartbeat_time' => 20, // Heartbeat detection time, seconds
'timer_time' => 3, // Scheduled task time,seconds
'max_size' => 100, // Data retention,1~1000,Data is stored by channel name
'data_time' => 1, // Time interval for getting data,seconds
'debug' => true,
],
'log' => [
'level' => 'debug',
'file' => '/tmp/exchange.log',
],
],
];
$app = Factory::gate($config['gate']);
1. Wallet
// Generate currency deposit address.
$currency = 'USDT';
$app->wallet->depositAddress($currency);
// Retrieve withdrawal records.
$params = [];
$app->wallet->withdrawHistory($params);
// Retrieve deposit records.
$app->wallet->depositHistory($params);
// Transfer between trading accounts.
$app->wallet->transfer($params);
// Transfer between main and sub accounts.
$app->wallet->subAccountTransfer($params);
// Transfer records between main and sub accounts.
$app->wallet->subAccountTransferHistory($params);
// Retrieve withdrawal status.
$app->wallet->withdrawStatus($currency);
// Retrieve sub account balances.
$app->wallet->subAccountBalance($sub_uid = '');
// Retrieve personal trading fee.
$app->wallet->fee();
2. Spot Trade
// List all currencies' detail.
$app->spot->currencies();
// Get detail of one particular currency.
$currency = 'GT';
$app->spot->currency($currency);
// List all currency pairs supported.
$app->spot->currencyPairs();
// Get detail of one single order.
$currency_pair = 'ETH_USDT';
$app->spot->currencyPair($currency_pair);
// Retrieve ticker information.
$app->spot->tickers($currency_pair);
// Retrieve order book.
$params = [
'currency_pair' => 'ETH_USDT',
];
$app->spot->depth($params);
// Retrieve market trades.
$app->spot->trades($params);
// Market candlesticks.
$app->spot->kline($params);
// List spot accounts.
$app->spot->accounts($currency);
// Create an order.
$params = [
'currency_pair' => 'ETH_USDT',
'side' => 'buy',
'amount' => '0.1',
'price' => '10',
];
$app->spot->order($params);
// Create a batch of orders.
$app->spot->batchOrders($params);
// List all open orders.
$app->spot->openOrders($page = '', $limit = '');
// List orders.
$app->spot->orders($params);
// Cancel all open orders in specified currency pair.
$app->spot->cancelOrders($params);
// Cancel a batch of orders with an ID list.
$app->spot->cancelBatchOrders($params);
// Get a single order
$app->spot->get($order_id, $currency_pair);
// Cancel a single order.
$app->spot->cancelOrder($order_id, $currency_pair);
// List personal trading history.
$app->spot->myTrades($params);
// Create a price-triggered order.
$app->spot->priceOrder($params);
// Retrieve running auto order list.
$app->spot->priceOrders($params);
// Cancel all open orders.
$app->spot->cancelPriceOrders($market = '', $account = '');
// Get a single order.
$app->spot->getPriceOrder($order_id);
// Cancel a single order.
$app->spot->cancelPriceOrder($order_id);
3. Margin
// List all supported currency pairs supported in margin trading.
$app->margin->currencyPairs();
// Query one single margin currency pair.
$app->margin->currencyPair($currency_pair);
// Order book of lending loans.
$app->margin->depth($currency);
// Margin account list.
$app->margin->accounts($currency_pair = '');
// List margin account balance change history.
$app->margin->accountHistory($params);
// Funding account list.
$app->margin->fundingAccounts($currency = '');
// Lend or borrow.
$app->margin->loan($params);
// List all loans.
$app->margin->loanHistory($params);
// Merge multiple lending loans.
$app->margin->mergeLoan($currency, $ids);
// Retrieve one single loan detail.
$app->margin->get($loan_id, $side);
// Modify a loan.
$app->margin->modifyLoan($loan_id, $params);
// Cancel lending loan.
$app->margin->cancelLoan($loan_id, $currency);
// Repay a loan.
$app->margin->repayment($loan_id, $params);
// List loan repayment records.
$app->margin->getRepayment($loan_id);
// List repayment records of specified loan.
$app->margin->loanRecords($params);
// Get one single loan record.
$app->margin->loanRecord($loan_id, $loan_record_id);
// Modify a loan record.
$app->margin->modifyLoanRecord($loan_record_id, $params);
// Update user's auto repayment setting.
$app->margin->autoRepay($status);
// Retrieve user auto repayment setting.
$app->margin->getAutoRepayStatus();
4. Future
// List all futures contracts.
$app->future->contracts($settle);
// Get a single contract.
$app->future->contract($settle, $contract);
// Futures order book.
$app->future->depth($settle, $params);
// Futures trading history.
$app->future->trades($settle, $params);
// Get futures candlesticks.
$app->future->kline($settle, $params);
// List futures tickers.
$app->future->tickers($settle, $contract);
// Funding rate history.
$app->future->fundingRateHistory($settle, $params);
// Futures insurance balance history.
$app->future->insuranceHistory($settle, $limit = '');
// Futures stats.
$app->future->contractStats($settle, $params);
// Retrieve liquidation history.
$app->future->liquidationOrders($settle, $params = []);
// Query futures account.
$app->future->accounts($settle);
// Query account book.
$app->future->accountHistory($settle, $params = []);
// List all positions of a user.
$app->future->positions($settle);
// Get single position.
$app->future->position($settle, $contract);
// Update position margin.
$app->future->modifyPositionMargin($settle, $contract, $change);
// Update position leverage.
$app->future->modifyPositionLeverage($settle, $contract, $leverage);
// Update position risk limit.
$app->future->modifyPositionRiskLimit($settle, $contract, $risk_limit);
// Enable or disable dual mode.
$app->future->setDualMode($settle, $dual_mode);
// Retrieve position detail in dual mode.
$app->future->dualCompPosition($settle, $contract);
// Update position margin in dual mode.
$app->future->modifyDualCompPositionMargin($settle, $contract, $change);
// Update position leverage in dual mode.
$app->future->modifyDualCompPositionLeverage($settle, $contract, $leverage);
// Update position risk limit in dual mode.
$app->future->modifyDualCompPositionRiskLimit($settle, $contract, $risk_limit);
// Create a futures order.
$app->future->order($settle, $params);
// List futures orders.
$app->future->orders($settle, $params);
// Cancel all open orders matched.
$app->future->cancelOrders($settle, $params);
// Cancel a single order.
$app->future->cancelOrder($settle, $order_id);
// Get a single order.
$app->future->get($settle, $order_id);
// List personal trading history.
$app->future->myTrades($settle, $params);
// List position close history.
$app->future->positionClose($settle, $params);
// List liquidation history.
$app->future->forceLiquidationRec($settle, $params);
// Create a price-triggered order.
$app->future->priceOrder($settle, $params);
// List all auto orders.
$app->future->priceOrders($settle, $params);
// Cancel all open orders.
$app->future->cancelPriceOrders($settle, $contract);
// Get a single order.
$app->future->getPriceOrder($settle, $order_id);
// Cancel a single order.
$app->future->cancelPriceOrder($settle, $order_id);
5. Delivery
// List all futures contracts.
$app->delivery->contracts($settle);
// Get a single contract.
$app->delivery->contract($settle, $contract);
// Futures order book.
$app->delivery->depth($settle, $params);
// Futures trading history.
$app->delivery->trades($settle, $params);
// Get futures candlesticks.
$app->delivery->kline($settle, $params);
// List futures tickers.
$app->delivery->tickers($settle, $contract);
// Futures insurance balance history.
$app->delivery->insuranceHistory($settle, $limit = '');
// Query futures account.
$app->delivery->accounts($settle);
// Query account book.
$app->delivery->accountHistory($settle, $params = []);
// List all positions of a user.
$app->delivery->positions($settle);
// Get single position.
$app->delivery->position($settle, $contract);
// Update position margin.
$app->delivery->modifyPositionMargin($settle, $contract, $change);
// Update position leverage.
$app->delivery->modifyPositionLeverage($settle, $contract, $leverage);
// Update position risk limit.
$app->delivery->modifyPositionRiskLimit($settle, $contract, $risk_limit);
// Create a futures order.
$app->delivery->order($settle, $params);
// List futures orders.
$app->delivery->orders($settle, $params);
// Cancel all open orders matched.
$app->delivery->cancelOrders($settle, $params);
// Cancel a single order.
$app->delivery->cancelOrder($settle, $order_id);
// Get a single order.
$app->delivery->get($settle, $order_id);
// List personal trading history.
$app->delivery->myTrades($settle, $params);
// List position close history.
$app->delivery->positionClose($settle, $params);
// List liquidation history.
$app->delivery->forceLiquidationRec($settle, $params);
// List settlement history.
$app->delivery->settlements($settle, $params = []);
// Create a price-triggered order.
$app->delivery->priceOrder($settle, $params);
// List all auto orders.
$app->delivery->priceOrders($settle, $params);
// Cancel all open orders.
$app->delivery->cancelPriceOrders($settle, $contract);
// Get a single order.
$app->delivery->getPriceOrder($settle, $order_id);
// Cancel a single order.
$app->delivery->cancelPriceOrder($settle, $order_id);
🚀 Quick Start
<?php
use EasyExchange\Factory;
$config = [
'coinbase' => [
'response_type' => 'array',
'base_uri' => 'https://api.pro.coinbase.com',
'app_key' => 'your app key',
'secret' => 'your secret',
'passphrase' => 'your passphrase',
'proxy' => [
'http' => 'socks5h://127.0.0.1:1080', // Use this proxy with "http"
'https' => 'socks5h://127.0.0.1:1080', // Use this proxy with "https"
'no' => ['.mit.edu', 'foo.com'], // Don't use a proxy with these
],
'websocket' => [
'base_uri' => 'ws://ws-feed.pro.coinbase.com',
'listen_ip' => '127.0.0.1', // listen ip
'listen_port' => 2207, // listen port
'heartbeat_time' => 20, // Heartbeat detection time, seconds
'timer_time' => 3, // Scheduled task time,seconds
'max_size' => 100, // Data retention,1~1000,Data is stored by channel name
'data_time' => 1, // Time interval for getting data,seconds
'debug' => true,
],
'log' => [
'level' => 'debug',
'file' => '/tmp/exchange.log',
],
],
];
$app = Factory::coinbase($config['coinbase']);
1. Account Information
// List Accounts - Get a list of trading accounts from the profile of the API key.
$app->user->accounts();
// Get an Account - Information for a single account.
$app->user->account($account_id);
// Get Account History - List account activity of the API key's profile.
$app->user->history($account_id, $params = []);
// Get Holds - List holds of an account that belong to the same profile as the API key.
$app->user->holds($account_id, $params = []);
// List Accounts - Get a list of your coinbase accounts.
$app->user->coinbaseAccounts();
// fees - Get Current Fees.
$app->user->fees();
// List Profiles.
$app->user->profiles();
// Get a Profile.
$app->user->profile($profile_id);
// Create profile transfer - Transfer funds from API key's profile to another user owned profile.
$app->user->transfer($params);
2. Market Data
// Get Products - Get a list of available currency pairs for trading.
$app->market->products();
// Get Single Product - Get market data for a specific currency pair.
$product_id = 'BTC-USD';
$app->market->product($product_id);
// Get Product Order Book - Get a list of open orders for a product. The amount of detail shown can be customized with the level parameter.
$level = 2;
$app->market->depth($product_id, $level);
// Get Product Ticker - Snapshot information about the last trade (tick), best bid/ask and 24h volume.
$app->market->tickers($product_id);
// Get Trades - List the latest trades for a product.
$params = [ 'before' => 10, 'limit' => 5];
$app->market->trades($product_id, $params);
// Get Historic Rates - Historic rates for a product. Rates are returned in grouped buckets based on requested granularity.
$app->market->kline($product_id);
// Get 24hr Stats - Get 24 hr stats for the product. volume is in base currency units. open, high, low are in quote currency units.
$app->market->hr24($product_id);
// Get currencies - List known currencies.
$app->market->currencies();
// Get a currency - List the currency for specified id.
$id = 'BTC';
$app->market->currency($id);
// Get the API server time.
$app->market->time();
3. Wallet
// Get Current Exchange Limits.
$app->wallet->exchangeLimits();
// List Deposits Or List Withdrawals.
$app->wallet->transferHistory($params);
// Single Deposit Or Single Withdrawal.
$app->wallet->getTransfer($transfer_id);
// List Payment Methods.
$app->wallet->paymentMethods();
// Payment method - Deposit funds from a payment method.
$app->wallet->depositPaymentMethod($params);
// Payment method - Withdraw funds to a payment method.
$app->wallet->withdrawalPaymentMethod($params);
// Coinbase - Deposit funds from a coinbase account.
$app->wallet->depositCoinbaseAccount($params);
// Coinbase - Withdraw funds to a coinbase account.
$app->wallet->withdrawalCoinbaseAccount($params);
// List Accounts - Get a list of your coinbase accounts.
$app->wallet->listAccounts();
// Generate a Crypto Deposit Address.
$app->wallet->generateDepositAddress($account_id);
// Withdraws funds to a crypto address.
$app->wallet->withdrawalCrypto($params);
// Fee Estimate - Gets the network fee estimate when sending to the given address.
$app->wallet->feeEstimate($currency, $crypto_address);
// Create Conversion - eg:Convert $10,000.00 to 10,000.00 USDC.
$app->wallet->conversion($params);
4. Trade
// Place a New Order.
$params = [
'size' => '0.01',
'price' => '0.100',
'side' => 'buy',
'product_id' => 'BTC-USD',
];
$app->trade->order($params);
// Cancel an Order.
$app->trade->cancelOrder($id = '', $client_oid = '', $product_id = '');
// Cancel all.
$app->trade->cancelOrders($product_id = '');
// List Orders.
$app->trade->orders($params);
// Get an Order.
$app->trade->get($id = '', $client_oid = '');
// List Fills - Get a list of recent fills of the API key's profile.
$app->trade->fills($params);
5. Margin
// Get margin profile information.
$app->margin->profileInformation($product_id);
// Get buying power or selling power.
$app->margin->buyingPower($product_id);
// Get withdrawal power.
$app->margin->withdrawalPower($currency);
// Get all withdrawal powers.
$app->margin->withdrawalPowers();
// Get exit plan.
$app->margin->exitPlan();
// List liquidation history.
$app->margin->liquidationHistory($after = '');
// Get position refresh amounts.
$app->margin->positionRefreshAmounts();
// Get margin status - Returns whether margin is currently enabled.
$app->margin->status();
Coin | Address |
---|---|
DOGE | D5QXoFYTAzs756SnP4gqiEePtrb5oQZRrW |
XRP | rEb8TK3gBgk5auZkwc6sHnwrGVJH8DuaLh // TAG:310515423 |
BTC | 163guqWS4hcpPcfzaEUa1NypH3PLdEJ9TE |
ETH | 0xab6b060592bce331a1bb4e649016173274a99cb0 |
contact us | detail |
---|---|
QQ Group | 871358160 |
lianbo.wan@gmail.com | |
sting_bo@163.com |