generated: '2026-07-19'
method: derived
source: openapi/korbit-openapi.yml
description: 'Entity-relationship graph for the Korbit Open API v2, derived from the response schemas
and id-reference fields of the generated OpenAPI. Korbit''s API is resource-shallow and identifier-linked
rather than $ref-linked: there are no reusable components.schemas, so entities are inferred from each
endpoint group''s response object and joined on the identifier fields they share (symbol, currency,
orderId, address, accountSeq).'
identifiers:
- field: symbol
shape: _, lowercase
example: btc_krw
joins: every market-scoped entity
- field: currency
shape: lowercase ticker
example: btc
joins: Balance, DepositAddress, CoinDeposit, CoinWithdrawal, Currency
- field: orderId
shape: integer, server-assigned
example: 1234
joins: Order, MyTrade
- field: clientOrderId
shape: '[0-9a-zA-Z.:_-]{1,36}, client-supplied'
example: 20141231-155959-abcdef
joins: Order — the idempotency key; see conventions/korbit-conventions.yml
- field: accountSeq
shape: integer, defaults to 1 (main account)
example: 1
joins: scopes every private entity to a sub-account
entities:
- name: Ticker
description: Latest price and 24H volume for a trading pair.
source_operation: getTickers
fields:
- symbol
- open
- high
- low
- close
- prevClose
- priceChange
- priceChangePercent
- volume
- quoteVolume
- bestBidPrice
- bestAskPrice
- lastTradedAt
- name: OrderbookLevel
description: Aggregated bid/ask depth for a trading pair.
source_operation: getOrderbook
fields:
- timestamp
- bids
- asks
- name: Trade
description: A public market trade.
source_operation: getTrades
fields:
- timestamp
- price
- qty
- isBuyerTaker
- tradeId
- name: Candle
description: OHLCV candlestick for a trading pair and interval.
source_operation: getCandles
fields:
- timestamp
- open
- high
- low
- close
- volume
- name: CurrencyPair
description: A tradable market (symbol) and its order constraints.
source_operation: getCurrencyPairs
fields:
- symbol
- status
- name: TickSizePolicy
description: Tick size and orderbook grouping levels for a pair.
source_operation: getTickSizePolicy
fields: []
- name: Order
description: An order placed by the authenticated account.
source_operation: getOrders
fields:
- orderId
- clientOrderId
- symbol
- orderType
- side
- timeInForce
- price
- qty
- amt
- filledQty
- filledAmt
- avgPrice
- createdAt
- lastFilledAt
- triggeredAt
- status
- name: MyTrade
description: A fill against the authenticated account's order.
source_operation: getMyTrades
fields:
- symbol
- tradeId
- orderId
- side
- price
- qty
- amt
- tradedAt
- isTaker
- feeCurrency
- feeQty
- name: Balance
description: Per-currency balance for the authenticated account.
source_operation: getBalance
fields:
- currency
- balance
- available
- tradeInUse
- withdrawalInUse
- avgPrice
- name: DepositAddress
description: A cryptocurrency deposit address.
source_operation: getCoinDepositAddress
fields:
- currency
- network
- address
- secondaryAddress
- name: CoinDeposit
description: A cryptocurrency deposit transaction.
source_operation: getCoinDeposit
fields:
- id
- network
- address
- secondaryAddress
- status
- transactionHash
- currency
- quantity
- createdAt
- name: WithdrawableAddress
description: A registered withdrawal address.
source_operation: getCoinWithdrawableAddresses
fields:
- network
- currency
- address
- secondaryAddress
- name: CoinWithdrawal
description: A cryptocurrency withdrawal request.
source_operation: getCoinWithdrawal
fields:
- id
- quantity
- fee
- currency
- status
- network
- address
- secondaryAddress
- transactionHash
- createdAt
- name: KrwDeposit
description: A KRW deposit record.
source_operation: getKrwRecentDeposits
fields:
- id
- type
- status
- quantity
- createdAt
- name: KrwWithdrawal
description: A KRW withdrawal record.
source_operation: getKrwRecentWithdrawals
fields:
- id
- quantity
- fee
- status
- createdAt
- name: Currency
description: A supported cryptocurrency and its network/withdrawal metadata.
source_operation: getCurrencies
fields:
- name
- fullName
- withdrawalStatus
- depositStatus
- confirmationCount
- withdrawalTxFee
- withdrawalMinAmount
- withdrawalMaxAmountPerRequest
- defaultNetwork
- networkList
- name: TradingFeePolicy
description: Trading fee rates applied to the account.
source_operation: getTradingFeePolicy
fields:
- symbol
- buyFeeCurrency
- sellFeeCurrency
- maxFeeRate
- takerFeeRate
- makerFeeRate
- name: ApiKeyInfo
description: The calling API key's permissions and metadata.
source_operation: getCurrentKeyInfo
fields:
- apiKey
- userUuid
- type
- publicKey
- permissions
- whitelist
- expiration
- status
- label
- allowedAccountSeqs
- createdAt
- name: Notice
description: A Korbit announcement.
source_operation: getNotices
fields:
- title
- createdAt
- updatedAt
- url
- name: MarketAlert
description: Market Warning System status for a trading pair.
source_operation: getMarketAlerts
fields:
- symbol
- alerts
relationships:
- from: Order
to: CurrencyPair
type: belongs_to
via: symbol
note: Every order names the market it trades on.
- from: Order
to: MyTrade
type: has_many
via: orderId
note: An order accrues one or more fills; myTrades rows carry the parent orderId.
- from: MyTrade
to: Order
type: belongs_to
via: orderId
note: A fill belongs to exactly one order.
- from: MyTrade
to: CurrencyPair
type: belongs_to
via: symbol
note: A fill is scoped to one market.
- from: Ticker
to: CurrencyPair
type: belongs_to
via: symbol
note: One ticker per market.
- from: Trade
to: CurrencyPair
type: belongs_to
via: symbol
note: Public trades are per market.
- from: Candle
to: CurrencyPair
type: belongs_to
via: symbol
note: Candles are per market and interval.
- from: OrderbookLevel
to: CurrencyPair
type: belongs_to
via: symbol
note: Depth is per market.
- from: TickSizePolicy
to: CurrencyPair
type: belongs_to
via: symbol
note: Tick size and grouping levels are defined per market.
- from: MarketAlert
to: CurrencyPair
type: belongs_to
via: symbol
note: Alerts are raised per market.
- from: CurrencyPair
to: Currency
type: belongs_to
via: base/quote currency
note: A market pairs a base currency with a quote currency (KRW for all listed pairs).
- from: Balance
to: Currency
type: belongs_to
via: currency
note: One balance row per currency held.
- from: DepositAddress
to: Currency
type: belongs_to
via: currency
note: A deposit address is issued per cryptocurrency.
- from: CoinDeposit
to: Currency
type: belongs_to
via: currency
note: A deposit moves one cryptocurrency.
- from: CoinDeposit
to: DepositAddress
type: belongs_to
via: address
note: A deposit credits a previously issued deposit address.
- from: CoinWithdrawal
to: Currency
type: belongs_to
via: currency
note: A withdrawal moves one cryptocurrency.
- from: CoinWithdrawal
to: WithdrawableAddress
type: belongs_to
via: address
note: A withdrawal must target an address pre-registered for API withdrawals.
- from: WithdrawableAddress
to: Currency
type: belongs_to
via: currency
note: Registered withdrawal addresses are per cryptocurrency.
- from: Balance
to: Order
type: has_many
via: accountSeq
note: Open orders hold balance against the account they were placed on.
- from: ApiKeyInfo
to: Order
type: has_many
via: permission
note: A key's writeOrders/readOrders permissions gate the order surface it can reach.
notes:
- No components.schemas exist in the source documentation, so no $ref graph could be walked; relationships
are derived from shared identifier fields.
- Monetary and quantity fields are transported as strings throughout.
- There is no customer/user entity in the API surface — every private call is implicitly scoped to the
API key's account and optionally a sub-account via accountSeq.
related:
openapi: openapi/korbit-openapi.yml
conventions: conventions/korbit-conventions.yml