Skip to main content

ccxt-php

CCXT cryptocurrency exchange library for PHP developers. Covers both REST API (standard) and WebSocket API (real-time). Helps install CCXT, connect to exchanges, fetch market data, place orders, stream live tickers/orderbooks, handle authentication, and manage errors in PHP 8.1+. Use when working with crypto exchanges in PHP projects, trading bots, or web applications. Supports both sync and async (ReactPHP) usage. Use when this capability is needed.

インストールへ移動

ソース情報

リポジトリ
tomevault-io/tomes
ソースの最終更新活動
2026年7月23日 21:48
検出された SKILL.md の言語
英語
スター
1
フォーク
0

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
ccxt-php
description
CCXT cryptocurrency exchange library for PHP developers. Covers both REST API (standard) and WebSocket API (real-time). Helps install CCXT, connect to exchanges, fetch market data, place orders, stream live tickers/orderbooks, handle authentication, and manage errors in PHP 8.1+. Use when working with crypto exchanges in PHP projects, trading bots, or web applications. Supports both sync and async (ReactPHP) usage. Use when this capability is needed.
metadata
{"author":"ccxt"}
# CCXT for PHP A comprehensive guide to using CCXT in PHP projects for cryptocurrency exchange integration. ## Installation ### Via Composer (REST and WebSocket) ```bash composer require ccxt/ccxt ``` ### Required PHP Extensions - cURL - mbstring (UTF-8) - PCRE - iconv - gmp (for some exchanges) ### Optional for Async/WebSocket - ReactPHP (installed automatically with ccxt) ## Quick Start ### REST API - Synchronous ```php <?php date_default_timezone_set('UTC'); // Required! require_once 'vendor/autoload.php'; $exchange = new \ccxt\binance(); $exchange->load_markets(); $ticker = $exchange->fetch_ticker('BTC/USDT'); print_r($ticker); ``` ### REST API - Asynchronous (ReactPHP) ```php <?php use function React\Async\await; date_default_timezone_set('UTC'); require_once 'vendor/autoload.php'; $exchange = new \ccxt\async\binance(); $ticker = await($exchange->fetch_ticker('BTC/USDT')); print_r($ticker); ``` ### WebSocket API - Real-time Updates ```php <?php use function React\Async\await; use function React\Async\async; date_default_timezone_set('UTC'); require_once 'vendor/autoload.php'; $exchange = new \ccxt\pro\binance(); while (true) { $ticker = await($exchange->watch_ticker('BTC/USDT')); print_r($ticker); // Live updates! } await($exchange->close()); ``` ## REST vs WebSocket | Mode | REST | WebSocket | |------|------|-----------| | **Sync** | `\ccxt\binance()` | (WebSocket requires async) | | **Async** | `\ccxt\async\binance()` | `\ccxt\pro\binance()` | | Feature | REST API | WebSocket API | |---------|----------|---------------| | **Use for** | One-time queries, placing orders | Real-time monitoring, live price feeds | | **Method prefix** | `fetch_*` (fetch_ticker, fetch_order_book) | `watch_*` (watch_ticker, watch_order_book) | | **Speed** | Slower (HTTP request/response) | Faster (persistent connection) | | **Rate limits** | Strict (1-2 req/sec) | More lenient (continuous stream) | | **Best for** | Trading, account management | Price monitoring, arbitrage detection | ## Creating Exchange Instance ### REST API - Synchronous ```php <?php date_default_timezone_set('UTC'); require_once 'vendor/autoload.php'; // Public API (no authentication) $exchange = new \ccxt\binance([ 'enableRateLimit' => true // Recommended! ]); // Private API (with authentication) $exchange = new \ccxt\binance([ 'apiKey' => 'YOUR_API_KEY', 'secret' => 'YOUR_SECRET', 'enableRateLimit' => true ]); ``` ### REST API - Asynchronous ```php <?php use function React\Async\await; $exchange = new \ccxt\async\binance([ 'enableRateLimit' => true ]); $ticker = await($exchange->fetch_ticker('BTC/USDT')); ``` ### WebSocket API ```php <?php use function React\Async\await; // Public WebSocket $exchange = new \ccxt\pro\binance(); // Private WebSocket (with authentication) $exchange = new \ccxt\pro\binance([ 'apiKey' => 'YOUR_API_KEY', 'secret' => 'YOUR_SECRET' ]); // Always close when done await($exchange->close()); ``` ## Common REST Operations ### Loading Markets ```php // Load all available trading pairs $exchange->load_markets(); // Access market information $btc_market = $exchange->market('BTC/USDT'); print_r($btc_market['limits']['amount']['min']); // Minimum order amount ``` ### Fetching Ticker ```php // Single ticker $ticker = $exchange->fetch_ticker('BTC/USDT'); print_r($ticker['last']); // Last price print_r($ticker['bid']); // Best bid print_r($ticker['ask']); // Best ask print_r($ticker['volume']); // 24h volume // Multiple tickers (if supported) $tickers = $exchange->fetch_tickers(['BTC/USDT', 'ETH/USDT']); ``` ### Fetching Order Book ```php // Full orderbook $orderbook = $exchange->fetch_order_book('BTC/USDT'); print_r($orderbook['bids'][0]); // [price, amount] print_r($orderbook['asks'][0]); // [price, amount] // Limited depth $orderbook = $exchange->fetch_order_book('BTC/USDT', 5); // Top 5 levels ``` ### Creating Orders #### Limit Order ```php // Buy limit order $order = $exchange->create_limit_buy_order('BTC/USDT', 0.01, 50000); print_r($order['id']); // Sell limit order $order = $exchange->create_limit_sell_order('BTC/USDT', 0.01, 60000); // Generic limit order $order = $exchange->create_order('BTC/USDT', 'limit', 'buy', 0.01, 50000); ``` #### Market Order ```php // Buy market order $order = $exchange->create_market_buy_order('BTC/USDT', 0.01); // Sell market order $order = $exchange->create_market_sell_order('BTC/USDT', 0.01); // Generic market order $order = $exchange->create_order('BTC/USDT', 'market', 'sell', 0.01); ``` ### Fetching Balance ```php $balance = $exchange->fetch_balance(); print_r($balance['BTC']['free']); // Available balance print_r($balance['BTC']['used']); // Balance in orders print_r($balance['BTC']['total']); // Total balance ``` ### Fetching Orders ```php // Open orders $open_orders = $exchange->fetch_open_orders('BTC/USDT'); // Closed orders $closed_orders = $exchange->fetch_closed_orders('BTC/USDT'); // All orders (open + closed) $all_orders = $exchange->fetch_orders('BTC/USDT'); // Single order by ID $order = $exchange->fetch_order($order_id, 'BTC/USDT'); ``` ### Fetching Trades ```php // Recent public trades $trades = $exchange->fetch_trades('BTC/USDT', null, 10); // Your trades (requires authentication) $my_trades = $exchange->fetch_my_trades('BTC/USDT'); ``` ### Canceling Orders ```php // Cancel single order $exchange->cancel_order($order_id, 'BTC/USDT'); // Cancel all orders for a symbol $exchange->cancel_all_orders('BTC/USDT'); ``` ## WebSocket Operations (Real-time) ### Watching Ticker (Live Price Updates) ```php <?php use function React\Async\await; $exchange = new \ccxt\pro\binance(); while (true) { $ticker = await($exchange->watch_ticker('BTC/USDT')); print_r($ticker['last']); } await($exchange->close()); ``` ### Watching Order Book (Live Depth Updates) ```php <?php use function React\Async\await; $exchange = new \ccxt\pro\binance(); while (true) { $orderbook = await($exchange->watch_order_book('BTC/USDT')); print_r('Best bid: ' . $orderbook['bids'][0][0]); print_r('Best ask: ' . $orderbook['asks'][0][0]); } await($exchange->close()); ``` ### Watching Trades (Live Trade Stream) ```php <?php use function React\Async\await; $exchange = new \ccxt\pro\binance(); while (true) { $trades = await($exchange->watch_trades('BTC/USDT')); foreach ($trades as $trade) { print_r($trade['price'] . ' ' . $trade['amount'] . ' ' . $trade['side']); } } await($exchange->close()); ``` ### Watching Your Orders (Live Order Updates) ```php <?php use function React\Async\await; $exchange = new \ccxt\pro\binance([ 'apiKey' => 'YOUR_API_KEY', 'secret' => 'YOUR_SECRET' ]); while (true) { $orders = await($exchange->watch_orders('BTC/USDT')); foreach ($orders as $order) { print_r($order['id'] . ' ' . $order['status'] . ' ' . $order['filled']); } } await($exchange->close()); ``` ### Watching Balance (Live Balance Updates) ```php <?php use function React\Async\await; $exchange = new \ccxt\pro\binance([ 'apiKey' => 'YOUR_API_KEY', 'secret' => 'YOUR_SECRET' ]); while (true) { $balance = await($exchange->watch_balance()); print_r('BTC: ' . $balance['BTC']['total']); } await($exchange->close()); ``` ## Complete Method Reference ### Market Data Methods #### Tickers & Prices - `fetchTicker(symbol)` - Fetch ticker for one symbol - `fetchTickers([symbols])` - Fetch multiple tickers at once - `fetchBidsAsks([symbols])` - Fetch best bid/ask for multiple symbols - `fetchLastPrices([symbols])` - Fetch last prices - `fetchMarkPrices([symbols])` - Fetch mark prices (derivatives)
GitHubで見る
この SKILL.md は非常に大きいため、SkillsMP では最初のセクションだけを表示しています。 GitHubで見る