# Get open market arbitrages

`GET https://api.cryptohopper.com/v1/hopper/{id}/arbitrage/market`

Part of [Arbitrage](https://www.cryptohopper.com/api-documentation/api-reference/arbitrage.md) in the Cryptohopper API reference.

Returns the market (three-trade) arbitrages of an arbitrage bot that are still running (not completed, cancelled or failed).

OAuth scope: `read`

## Headers

| Name | Type | Required | Description |
|---|---|---|---|
| `access-token` | string | yes | The OAuth access token of the user. |

## Path parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `id` | string | yes | Hopper ID of an arbitrage bot. |

## Example request

```bash
curl "https://api.cryptohopper.com/v1/hopper/HOPPER_ID/arbitrage/market" \
  -H "access-token: YOUR_ACCESS_TOKEN"
```

## Response

Example response (illustrative values):

```json
{
    "data": [
        {
            "id": "5209001",
            "exchange": "binance",
            "trade_1_pair": "ETHUSDT",
            "trade_1_base_currency": "USDT",
            "trade_1_currency": "ETH",
            "trade_1_started": "1",
            "trade_1_order_id": "55130001",
            "trade_1_trade_id": "0",
            "trade_1_order_type": "buy",
            "trade_1_amount": "0.05",
            "trade_1_amount_filled": "0",
            "trade_1_rate": "2500.12",
            "trade_1_cost": "125.006",
            "trade_1_fee": "0",
            "trade_2_pair": "ETHBTC",
            "trade_2_base_currency": "BTC",
            "trade_2_currency": "ETH",
            "trade_2_started": "0",
            "trade_2_order_id": "0",
            "trade_2_trade_id": "0",
            "trade_2_order_type": "sell",
            "trade_2_amount": "0.05",
            "trade_2_amount_filled": "0",
            "trade_2_rate": "0.0385",
            "trade_2_cost": "0.001925",
            "trade_2_fee": "0",
            "trade_3_pair": "BTCUSDT",
            "trade_3_base_currency": "USDT",
            "trade_3_currency": "BTC",
            "trade_3_started": "0",
            "trade_3_order_id": "0",
            "trade_3_trade_id": "0",
            "trade_3_order_type": "sell",
            "trade_3_amount": "0.001925",
            "trade_3_amount_filled": "0",
            "trade_3_rate": "65200",
            "trade_3_cost": "125.51",
            "trade_3_fee": "0",
            "found_date": "2026-09-25 10:00:00",
            "completed_date": null,
            "order_trigger": "market-arbitrage",
            "order_sequence": "chronological",
            "order_sequence_step": "1",
            "arbitrage_values": {
                "exchange": "binance",
                "trade_1_base_currency": "USDT",
                "trade_1_currency": "ETH",
                "trade_1_order_type": "buy",
                "trade_1_pair": "ETHUSDT",
                "trade_1_rate": 2500.12,
                "trade_2_base_currency": "BTC",
                "trade_2_currency": "ETH",
                "trade_2_order_type": "sell",
                "trade_2_pair": "ETHBTC",
                "trade_2_rate": 0.0385,
                "trade_3_base_currency": "USDT",
                "trade_3_currency": "BTC",
                "trade_3_order_type": "sell",
                "trade_3_pair": "BTCUSDT",
                "trade_3_rate": 65200,
                "percentage": 0.4
            },
            "market_order": "0",
            "result_message": null,
            "profit": null,
            "completed": "0",
            "cancelled": "0",
            "failed": "0",
            "reversed": "0"
        }
    ]
}
```

Status codes: 200. Errors return JSON with `status`, `error` and `message`, plus a numeric `code` when the error comes from the API itself rather than the gateway.
