{"id":27618014,"url":"https://github.com/bisonai/pykorbit","last_synced_at":"2025-04-23T04:59:07.869Z","repository":{"id":41396860,"uuid":"491754659","full_name":"Bisonai/pykorbit","owner":"Bisonai","description":"Python wrapper for Korbit's REST/WS API","archived":false,"fork":false,"pushed_at":"2022-07-01T10:47:22.000Z","size":102,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-23T04:59:02.906Z","etag":null,"topics":["cex","cryptocurrency","korbit","orderbook","ticker","trading","wallet"],"latest_commit_sha":null,"homepage":"https://apidocs.korbit.co.kr","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Bisonai.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-05-13T04:21:24.000Z","updated_at":"2024-12-02T08:19:26.000Z","dependencies_parsed_at":"2022-09-08T17:00:59.337Z","dependency_job_id":null,"html_url":"https://github.com/Bisonai/pykorbit","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bisonai%2Fpykorbit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bisonai%2Fpykorbit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bisonai%2Fpykorbit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bisonai%2Fpykorbit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Bisonai","download_url":"https://codeload.github.com/Bisonai/pykorbit/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250372922,"owners_count":21419722,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cex","cryptocurrency","korbit","orderbook","ticker","trading","wallet"],"created_at":"2025-04-23T04:59:07.305Z","updated_at":"2025-04-23T04:59:07.862Z","avatar_url":"https://github.com/Bisonai.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PyKorbit\n\nPython wrapper for Korbit's REST/WS API\n\n## Installation\n\n```shell\npip install .\n```\n\n## Requirements\n\nTo get access to private APIs, you have to define `korbit_client_id` and `korbit_client_secret` environment variables in `.env` file.\n\nYou can find template in `.env.example` file.\n\n```shell\ncp .env.example .env\n```\n\n## Documentation\n\n### Exceptions\n\n* `pykorbit.KorbitMessageNotAccepted`\n* `pykorbit.KorbitWebsocketMessageReceiveFailed`\n* `pykorbit.KorbitUnexpectedResponse`\n\n\n### Methods\n\n* [`pykorbit.KorbitAuthentication`](https://github.com/Bisonai/pykorbit#pykorbitkorbitauthenticationapi)\n* [`pykorbit.KorbitWalletApi`](https://github.com/Bisonai/pykorbit#pykorbitkorbitwalletapi)\n* [`pykorbit.KorbitRestApi`](https://github.com/Bisonai/pykorbit#pykorbitkorbitrestapi)\n* [`pykorbit.KorbitWebsocketApi`](https://github.com/Bisonai/pykorbit#pykorbitkorbitwebsocketapi)\n\n### `pykorbit.KorbitAuthenticationApi`\n\n### Issue access token\n\nhttps://apidocs.korbit.co.kr/#direct-authentication\n\n```python\npykorbit.KorbitAuthenticationApi.issue_access_token(client_id: str, client_secret: str) -\u003e Dict[str, str]\n```\n\n#### Response\n\n```json\n{\n  \"token_type\":\"Bearer\",\n  \"access_token\":\"1t1LgTslDrGznxPxhYz7RldsNVIbnEK\",\n  \"expires_in\":3600,\n  \"scope\": \"VIEW,TRADE\",\n  \"refresh_token\":\"vn5xoOf4PzckgnqjQSL9Sb3KxWJvYtm\"\n}\n```\n\n### Renew access token\n\nhttps://apidocs.korbit.co.kr/#refreshing-access-token\n\n```python\npykorbit.KorbitAuthenticationApi.renew_access_token(self, client_id: str, client_secret: str, refresh_token: str) -\u003e Dict[str, str]\n```\n\n#### Response\n\n```json\n{\n  \"token_type\":\"Bearer\",\n  \"access_token\":\"IuqEWTK09eCLThRCZZSALA0oXC8EI7s\",\n  \"expires_in\":3600,\n  \"scope\": \"VIEW,TRADE\",\n  \"refresh_token\":\"vn5xoOf4Pzckgn4jQSL9Sb3KxWJvYtm\"\n}\n```\n\n\n### `pykorbit.KorbitWalletApi`\n\nhttps://apidocs.korbit.co.kr/#private-wallet\n\n### View transfers\n\nhttps://apidocs.korbit.co.kr/#view-transfers\n\n```python\npykorbit.KorbitWalletApi.view_transfers(access_token: str, currency: Optional[str] = None, type: Optional[str] = None, offset: int = 0, limit: int = 40,) -\u003e List[Dict]\n```\n\n#### Response\n\n```json\n[\n  {\n    \"id\": \"270\",\n    \"type\": \"deposit\",\n    \"currency\": \"btc\",\n    \"amount\": \"0.81140000\",\n    \"completed_at\": 11750020020,\n    \"updated_at\": 11550050080,\n    \"created_at\": 11550020020,\n    \"status\": \"filled\",\n    \"details\": {\n      \"transaction_id\": \"2d84855aa9c...\",\n      \"address\": \"1F1zAaz5x1HUXrCNLbtMDqcw6o5GNx4xqX\"\n  },\n    ...\n]\n```\n\n### Query status of deposit and withdrawal\n\nhttps://apidocs.korbit.co.kr/#query-status-of-deposit-and-withdrawal\n\n```python\npykorbit.KorbitWalletApi.query_status_of_deposit_and_withdrawal(access_token: str, currency: str, request_id: Optional[int] = None,) -\u003e List[Dict]\n```\n\n#### Response\n\n```json\n[\n  {\n    \"timestamp\": 1392620446000,\n    \"id\": \"5180\",\n    \"type\": \"coin-in\",\n    \"amount\": { \"currency\": \"btc\", \"value\": \"0.01\"},\n    \"in\": \"1anjg6B2XbpjHx8LFw8mXHATH54vrxs2F\",\n    \"completedAt\": 1392620446100\n  }\n]\n```\n\n### User balances\n\nhttps://apidocs.korbit.co.kr/#user-balances\n\n```python\npykorbit.KorbitWalletApi.user_balances(access_token: str) -\u003e Dict[str, Any]\n```\n\n#### Response\n\n```json\n{\n  \"krw\" : {\n      \"available\" : \"123000\",\n      \"trade_in_use\" : \"13000\",\n      \"withdrawal_in_use\" : \"0\"\n  },\n  \"btc\" : {\n      \"available\" : \"1.50200000\",\n      \"trade_in_use\" : \"0.42000000\",\n      \"withdrawal_in_use\" : \"0.50280000\",\n      \"avg_price\": \"7115500\",\n      \"avg_price_updated_at\": 1528944850000\n  },\n  ...\n}\n```\n\n### Transfer account info\n\nhttps://apidocs.korbit.co.kr/#transfer-account-info\n\n```python\npykorbit.KorbitWalletApi.transfer_account_info(access_token: str) -\u003e Dict[str, Any]\n```\n\n#### Response\n\n```json\n{\n  \"deposit\": {\n    \"btc\": {\n      \"address\" :\"3J98t1WpEZ73CNmQviecrnyiWrnqRhWNLy\"\n    },\n    \"etc\": {\n      \"address\" :\"0x123f681646d4a755815f9cb19e1acc8565a0c2aa\"\n    },\n    ...\n  },\n  \"withdrawal\": {\n    ...\n  }\n}\n```\n\n###  Trading volume and fees\n\nhttps://apidocs.korbit.co.kr/#trading-volume-and-fees\n\n```python\npykorbit.KorbitWalletApi.trading_volume_and_fees(access_token: str, pair: List[str] = []) -\u003e Dict[str, Any]\n```\n\n#### Response\n\n```json\n{\n  \"eth_krw\": {\n    \"volume\" : \"0\",\n    \"maker_fee\" : \"0.00100000\",\n    \"taker_fee\" : \"0.00200000\"\n  },\n  ...\n  \"etc_krw\": {\n    \"volume\" : \"6570000\",\n    \"maker_fee\" : \"0.00100000\",\n    \"taker_fee\" : \"0.00200000\"\n  },\n  \"total_volume\" : \"24140000\",\n  \"timestamp\" : 1386418990000\n}\n```\n\n### `pykorbit.KorbitRestApi`\n\n### Ticker\n\nhttps://apidocs.korbit.co.kr/#ticker\n\n```python\npykorbit.KorbitRestApi.ticker(currency_pair: str) -\u003e Dict[str, Any]\n```\n\n#### Response\n\n```json\n{\n  \"timestamp\": 1389678052000,\n  \"last\": \"569000\"\n}\n```\n\n### Detailed ticker\n\nhttps://apidocs.korbit.co.kr/#detailed-ticker\n\n```python\npykorbit.KorbitRestApi.detailed_ticker(currency_pair: str) -\u003e Dict[str, Any]\n```\n\n#### Response\n\n```json\n{\n  \"timestamp\": 1558590089274,\n  \"last\": \"9198500\",\n  \"open\": \"9500000\",\n  \"bid\": \"9192500\",\n  \"ask\": \"9198000\",\n  \"low\": \"9171500\",\n  \"high\": \"9599000\",\n  \"volume\": \"1539.18571988\",\n  \"change\": \"-301500\",\n  \"changePercent\": \"-3.17\"\n}\n```\n\n### Orderbook\n\nhttps://apidocs.korbit.co.kr/#orderbook\n\n```python\npykorbit.KorbitRestApi.orderbook(currency_pair: str) -\u003e Dict[str, Any]\n```\n\n#### Response\n\n```json\n{\n  \"timestamp\" : 1386135077000,\n  \"bids\" : [[\"1100000\", \"0.0103918\", \"1\"], [\"1000000\", \"0.01000000\", \"1\"], ... ],\n  \"asks\" : [[\"569000\", \"0.50000000\", \"1\"], [\"568500\", \"2.00000000\", \"1\"], ... ]\n}\n```\n\n### List of filled orders\n\nhttps://apidocs.korbit.co.kr/#list-of-filled-orders\n\n```python\npykorbit.KorbitRestApi.list_of_filled_orders(currency_pair: str, time: str = \"hour\") -\u003e List[Dict]\n```\n\n#### Response\n\n```json\n[\n  {\n    \"timestamp\": 1389678052000,\n    \"tid\": \"22546\",\n    \"price\": \"569000\",\n    \"amount\": \"0.01000000\",\n    \"type\": \"buy\"\n  },\n  {\n   \"timestamp\": 1389678017000,\n   \"tid\": \"22545\",\n   \"price\": \"580000\",\n   \"amount\": \"0.01000000\",\n   \"type\": \"sell\"\n }\n  ...\n]\n```\n\n### Constants (deprecated)\n\nhttps://apidocs.korbit.co.kr/#constants-deprecated\n\n```python\npykorbit.KorbitRestApi.constants() -\u003e Dict\n```\n\n### Currency pairs\n\n```python\npykorbit.KorbitRestApi.currency_pairs() -\u003e List[str]\n```\n\nGet all currency pairs that can be traded.\n\n### `pykorbit.KorbitWebsocketApi`\n\nAbstract class for subcribing to Korbit's channels.\n\n```python\npykorbit.KorbitWebsocketApi.__init__(self, logging_level: Optional[str] = None)\n```\n\n### Connect and subscribe ticker\n\n```python\nasync pykorbit.KorbitWebsocketApi.connect_and_subscribe_ticker(self, pairs: List[str]) -\u003e None\n```\n\n### Connect and subscribe orderbook\n\n```python\nasync pykorbit.KorbitWebsocketApi.connect_and_subscribe_orderbook(self, pairs: List[str]) -\u003e None\n```\n\n### Connect and subscribe transaction\n\n```python\nasync pykorbit.KorbitWebsocketApi.connect_and_subscribe_transaction(self, pairs: List[str]) -\u003e None\n```\n\n### Connect and subscribe\n\n```python\nasync pykorbit.KorbitWebsocketApi.connect_and_subscribe(self, channels: List[str]) -\u003e None\n```\n\n### Subscribe\n\n```python\nasync pykorbit.KorbitWebsocketApi.subscribe(self, channels: List[str]) -\u003e None\n```\n\n### Unsubscribe\n\n```python\nasync pykorbit.KorbitWebsocketApi.unsubscribe(self, channels: List[str]) -\u003e None\n```\n\n### Receive loop\n\n```python\nasync pykorbit.KorbitWebsocketApi.receive_loop(self) -\u003e None\n```\n\n### Worker\n\n```python\nasync pykorbit.KorbitWebsocketApi.worker(msg: str) -\u003e None\n```\n\nAbstract static method.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbisonai%2Fpykorbit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbisonai%2Fpykorbit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbisonai%2Fpykorbit/lists"}