# Korea Crypto Exchange Pulse — Upbit Bithumb Coinone Live Volume (`gochujang/korea-exchange-pulse`) Actor

Live ticker volume + 24h price + KRW market depth across Korean exchanges (Upbit, Bithumb, Coinone, Korbit). Spot Korean retail demand surges. PPE $0.001/token.

- **URL**: https://apify.com/gochujang/korea-exchange-pulse.md
- **Developed by:** [Hojun Lee](https://apify.com/gochujang) (community)
- **Categories:** Developer tools, Automation, News
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-usage

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Korea Crypto Exchange Pulse

> Aggregate 24h KRW volume rankings across **Upbit, Bithumb, Coinone, Korbit** + Upbit's official **warning / caution flags** for pump-candidate detection. No API key required.

---

### What It Does

Korea is the most concentrated retail crypto market on earth — alt-coin volume routinely 2-5x global venues. This Actor:

- Combines **24h KRW volume** across all 4 major Korean exchanges
- Returns **Upbit's market-event flags** per token:
  - `warning` — formal warning issued
  - `caution.GLOBAL_PRICE_DIFFERENCES` — big kimchi premium emerging
  - `caution.TRADING_VOLUME_SOARING` — pump candidate
  - `caution.DEPOSIT_AMOUNT_SOARING` — onboarding flow surge
  - `caution.PRICE_FLUCTUATIONS` — high volatility risk
  - `caution.CONCENTRATION_OF_SMALL_ACCOUNTS` — retail-driven pump pattern
- Sortable by total KRW volume / Upbit-only / symbol
- Filter: `warningOnly` returns ONLY tokens with Upbit flags

---

### Why This Matters

The Upbit caution flags are not opinion — they are Upbit's official regulatory tag, raised when any of 5 specific quantitative thresholds are crossed. Historically:

- **GLOBAL_PRICE_DIFFERENCES** flag = Kimchi premium ≥ ~5%, often precedes 10-30% local pump
- **TRADING_VOLUME_SOARING** + **DEPOSIT_AMOUNT_SOARING** combo = classic pump start
- **PRICE_FLUCTUATIONS** = volatility cluster (good for short straddle)

This data is publicly available but takes manual checking on Upbit's site. This Actor turns it into a programmatic feed.

---

### Input

| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `includeUpbit` | boolean | `true` | Include Upbit data |
| `includeBithumb` | boolean | `true` | Include Bithumb data |
| `includeCoinone` | boolean | `true` | Include Coinone data |
| `includeKorbit` | boolean | `true` | Include Korbit data |
| `minTotalVolumeKrw` | integer | `100000000` | Skip tokens with combined volume below this in KRW |
| `sortBy` | string | `total_volume_desc` | `total_volume_desc`, `upbit_volume_desc`, `symbol_asc` |
| `warningOnly` | boolean | `false` | Only return tokens with any Upbit flag raised |
| `limit` | integer | `100` | Max tokens |
| `alertVolumeKrw` | integer | `0` | Telegram alert when any token's 24h volume crosses this |
| `telegramBotToken` | string (secret) | — | Bot token |
| `telegramChatId` | string | — | Chat ID |

#### Example: Pump scanner (Upbit flags only)
```json
{"warningOnly": true, "sortBy": "total_volume_desc", "limit": 50}
````

#### Example: Volume rankings

```json
{"minTotalVolumeKrw": 1000000000, "sortBy": "total_volume_desc", "limit": 100}
```

***

### Output

```json
{
  "symbol": "XRP",
  "korean_name": "리플",
  "english_name": "Ripple",
  "total_volume_24h_krw": 278857312982,
  "upbit": {
    "price": 1809,
    "volume_krw": 178000000000,
    "change_pct": 3.42
  },
  "bithumb": {"price": 1807, "volume_krw": 60000000000, "change_pct": 3.18},
  "coinone": {"price": 1808, "volume_krw": 24000000000, "change_pct": 3.30},
  "korbit": {"price": 1809, "volume_krw": 16857312982, "change_pct": 3.51},
  "exchanges_listed": 4,
  "upbit_warning": false,
  "upbit_caution": {
    "price_fluctuations": false,
    "trading_volume_soaring": false,
    "deposit_amount_soaring": false,
    "global_price_differences": true,
    "concentration_of_small_accounts": false
  },
  "any_upbit_flag": true
}
```

***

### Pricing

- **$0.001 per token returned**

Examples:

- Top 100 by volume: **$0.10**
- Full sweep (~262 KRW pairs): **$0.26**

***

### Use Cases

**Kimchi premium early-warning** — Filter `caution.global_price_differences == true`:

```bash
curl -X POST "https://api.apify.com/v2/acts/gochujang~korea-exchange-pulse/runs?token=YOUR_TOKEN" \
  -d '{"warningOnly": true}'
```

**Pump scanner** — Filter combination of `trading_volume_soaring` + `deposit_amount_soaring`.

***

### Data Sources

- Upbit `/v1/market/all?isDetails=true` + `/v1/ticker` (free, no auth)
- Bithumb `/public/ticker/ALL_KRW`
- Coinone `/public/v2/ticker_new/KRW`
- Korbit `/v1/ticker/detailed/all`

***

### Related Actors

- **[Kimchi Premium Tracker](https://apify.com/gochujang/kimchi-premium-tracker)** — Pair with this Actor for KP detection + actionable premium %.
- **[Smart Money Wallet Tracker](https://apify.com/gochujang/smart-money-tracker)** — See on-chain whale activity that often precedes KR pumps.
- **[Token Unlock Calendar](https://apify.com/gochujang/token-unlock-calendar)** — Cross-reference unlock-related KR pumps.

***

***

### 🎬 Live Sample Run

A real run of this actor with default-ish inputs, executed on 2026-06-10:

| Field | Value |
|---|---|
| Items in dataset | 15 |
| Dataset (JSON) | `https://api.apify.com/v2/datasets/KUIFHe8DmJCp4vdfQ/items?clean=1&format=json` |
| Dataset (CSV) | `https://api.apify.com/v2/datasets/KUIFHe8DmJCp4vdfQ/items?clean=1&format=csv` |
| Run summary (KVS) | `https://api.apify.com/v2/key-value-stores/Pj2U3Fhr6yZn4WuCe/records/SUMMARY` |
| Run details | `https://api.apify.com/v2/actor-runs/7gzQAuUeBoHPamzgO` |

**Try it now**: pop any of the dataset URLs in your browser to see live output, or hit the API endpoints from your code.

> Want to reproduce? Click **Try Actor** on the Apify Store page and use the input defaults shown above.

### Feedback

[Leave a review on Apify Store](https://apify.com/gochujang/korea-exchange-pulse#reviews)

# Actor input Schema

## `includeUpbit` (type: `boolean`):

Include Upbit KRW volume + market signals.

## `includeBithumb` (type: `boolean`):

Include Bithumb KRW volume data.

## `includeCoinone` (type: `boolean`):

Include Coinone KRW volume data.

## `includeKorbit` (type: `boolean`):

Include Korbit KRW volume data.

## `minTotalVolumeKrw` (type: `integer`):

Skip tokens with combined 24h volume below this in KRW. Default 100M KRW filters dust.

## `sortBy` (type: `string`):

Ranking criterion.

## `warningOnly` (type: `boolean`):

Only return tokens flagged by Upbit's warning system (formal warning or any caution flag). Useful for pump/depeg scanner.

## `limit` (type: `integer`):

Max tokens to return.

## `alertVolumeKrw` (type: `integer`):

Alert when any token's combined 24h KRW volume exceeds this. 0 = disabled. Useful for catching new pump candidates.

## `telegramBotToken` (type: `string`):

Telegram bot token for alerts.

## `telegramChatId` (type: `string`):

Chat ID to receive alerts.

## Actor input object example

```json
{
  "includeUpbit": true,
  "includeBithumb": true,
  "includeCoinone": true,
  "includeKorbit": true,
  "minTotalVolumeKrw": 100000000,
  "sortBy": "total_volume_desc",
  "warningOnly": false,
  "limit": 100,
  "alertVolumeKrw": 0,
  "telegramChatId": ""
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

## `summary` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("gochujang/korea-exchange-pulse").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("gochujang/korea-exchange-pulse").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call gochujang/korea-exchange-pulse --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=gochujang/korea-exchange-pulse",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Korea Crypto Exchange Pulse — Upbit Bithumb Coinone Live Volume",
        "description": "Live ticker volume + 24h price + KRW market depth across Korean exchanges (Upbit, Bithumb, Coinone, Korbit). Spot Korean retail demand surges. PPE $0.001/token.",
        "version": "0.1",
        "x-build-id": "hZjcQK1e6zT3C0LIs"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/gochujang~korea-exchange-pulse/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-gochujang-korea-exchange-pulse",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/gochujang~korea-exchange-pulse/runs": {
            "post": {
                "operationId": "runs-sync-gochujang-korea-exchange-pulse",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/gochujang~korea-exchange-pulse/run-sync": {
            "post": {
                "operationId": "run-sync-gochujang-korea-exchange-pulse",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "includeUpbit": {
                        "title": "Include Upbit",
                        "type": "boolean",
                        "description": "Include Upbit KRW volume + market signals.",
                        "default": true
                    },
                    "includeBithumb": {
                        "title": "Include Bithumb",
                        "type": "boolean",
                        "description": "Include Bithumb KRW volume data.",
                        "default": true
                    },
                    "includeCoinone": {
                        "title": "Include Coinone",
                        "type": "boolean",
                        "description": "Include Coinone KRW volume data.",
                        "default": true
                    },
                    "includeKorbit": {
                        "title": "Include Korbit",
                        "type": "boolean",
                        "description": "Include Korbit KRW volume data.",
                        "default": true
                    },
                    "minTotalVolumeKrw": {
                        "title": "Min Total Volume (KRW)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Skip tokens with combined 24h volume below this in KRW. Default 100M KRW filters dust.",
                        "default": 100000000
                    },
                    "sortBy": {
                        "title": "Sort By",
                        "enum": [
                            "total_volume_desc",
                            "upbit_volume_desc",
                            "symbol_asc"
                        ],
                        "type": "string",
                        "description": "Ranking criterion.",
                        "default": "total_volume_desc"
                    },
                    "warningOnly": {
                        "title": "Upbit Warning/Caution Only",
                        "type": "boolean",
                        "description": "Only return tokens flagged by Upbit's warning system (formal warning or any caution flag). Useful for pump/depeg scanner.",
                        "default": false
                    },
                    "limit": {
                        "title": "Max Results",
                        "minimum": 1,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Max tokens to return.",
                        "default": 100
                    },
                    "alertVolumeKrw": {
                        "title": "Telegram Alert: 24h Volume Threshold (KRW)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Alert when any token's combined 24h KRW volume exceeds this. 0 = disabled. Useful for catching new pump candidates.",
                        "default": 0
                    },
                    "telegramBotToken": {
                        "title": "Telegram Bot Token",
                        "type": "string",
                        "description": "Telegram bot token for alerts."
                    },
                    "telegramChatId": {
                        "title": "Telegram Chat ID",
                        "type": "string",
                        "description": "Chat ID to receive alerts.",
                        "default": ""
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
