Glossary · 용어

용어사전

Zenith(manifast-platform)와 문서 작업에서 나오는 시세·차트·인프라 용어를 모읍니다. 전문 용어가 새로 나오면 에이전트가 요청 없이도 여기에 추가합니다.

구분 · 함정·결정은 주요확인사항, 버그는 버그 리포트, 사양 외 기능은 부가기능. 이 페이지는 말의 뜻만 모은다.

용어 (16/16)

g16002026-08-12잔고 · 주문

예치

deposit · Exchange 잔고

코인을 거래소(온체인 프로그램) 쪽 잔고로 옮기는 것. 지금 Zenith 화면에는 사용자가 누르는 ‘예치’ 버튼이 없다.

이 프로젝트에서

입출금(Deposit/Withdraw/Wrap) UI는 숨김. 주문 시 백엔드가 필요하면 같은 지갑 승인 안에 deposit + place를 붙일 수 있다(placeOrderWithRequiredDepositIxs). 지갑 연결과 예치는 다르다 — 연결은 서명 권한, 예치는 자금 위치. 일반 사용자에게는 ‘지갑에 잔고 두고 주문하면 된다’고 설명하는 편이 맞다.

위치

BalanceOpsModal(숨김) · placeOrder.ts

g15002026-08-12시세 · UI

티커

ticker · useMarketTicker

헤더·주문창에 쓰는 실시간 시세 한 줄 — mid, 24h 변동, 스프레드, L2 호가.

이 프로젝트에서

차트용 가격 SSE와 분리되어 있다. 차트는 presence=0 스트림, 티커는 집계 포함 price/stream. 24h%는 티커가 candles를 치지 않고 volume24h의 price24hAgo + mid로 계산한다.

위치

apps/web/src/hooks/useMarketTicker.ts

g14002026-08-12실시간

SSE

EventSource · Server-Sent Events

서버→브라우저 단방향 실시간 스트림. WebSocket이 아니다.

이 프로젝트에서

Network 탭 Type이 eventsource인 stream URL이 이에 해당. 가격·체결·Online·미체결 등이 각각 EventSource 연결을 연다.

위치

services/realtime · apps/web hooks

g13002026-08-12시세

mid

Mark · 중간가

호가 기준 대표 가격(마크). 차트 봉·티커 Mark에 쓰인다.

이 프로젝트에서

ingest가 Manifest 호가에서 뽑아 Redis로 올리고, realtime SSE로 전달. 차트는 mid로 현재 봉 OHLC를 갱신한다.

g12002026-08-12시세 · 호가

스프레드

spread

최우선 매수(best bid)와 최우선 매도(best ask) 가격 차이.

이 프로젝트에서

UI에는 절대값과 mid 대비 %로 표시. L2가 없으면 tick 단위로 근사한다.

g11002026-08-12호가

L2 호가

order book · 호가창 · bids/asks

가격 단계별 매수·매도 잔량 목록(레벨 2).

이 프로젝트에서

티커 SSE book 이벤트의 bids/asks 배열. 호가창·스프레드 계산에 사용.

g10002026-08-12실시간 · 집계

presence

presence=0 · Online · 시청자 수

접속·차트 시청 인원 집계. presence=0이면 그 연결은 집계에 넣지 않는다.

이 프로젝트에서

차트 price/stream은 presence=0(이중 집계 방지). 헤더 Online은 /presence/stream. 탭당 Online SSE는 보통 1개.

위치

MarketCandleChart · useOnlineCount

g09002026-08-12차트

OHLC

캔들 · candle bar

시가·고가·저가·종가(Open/High/Low/Close) 봉.

이 프로젝트에서

Mongo candle_bars가 정본. 해상도(resolution)별 버킷. 클라이언트는 페이지(limit)로 받아 슬라이딩 윈도우로 유지.

g08002026-08-12차트

resolution

1m · 1h · 타임프레임

캔들 봉 길이(1분·1시간 등).

이 프로젝트에서

차트 기본은 1m×60. 24h 변동 lookback은 서버가 1h 봉으로 price24hAgo를 계산해 volume24h에 실어 준다(클라이언트 1h candles 호출 없음).

g07002026-08-12차트

before / after

loadOlder · loadNewer · 페이지네이션

캔들 API의 과거·미래 방향 페이지 커서.

이 프로젝트에서

before=과거(왼쪽 스크롤), after=최신 쪽 복귀. 초기 진입의 before=는 setData auto-fit으로 loadOlder가 오발한 것일 수 있어 suppress한다. 사용자가 스크롤할 때만 정상.

위치

GET /api/markets/candles

g06002026-08-12시세

price24hAgo

24h Change · change24hPct

약 24시간 전 기준가. mid와 조합해 변동률(%)을 만든다.

이 프로젝트에서

trade-api volume24h 응답 필드. 웹은 computeChange24hPct(price24hAgo, mid). 별도 /candles?resolution=1h를 쓰지 않는다.

위치

GET /api/markets/volume24h

g05002026-08-12체결

테이프

tape · fills stream · 체결

최근 체결 목록(Trades).

이 프로젝트에서

fills/stream SSE + 초기 REST fills. 클라이언트 테이프는 상한(예: 100행).

위치

useMarketTape

g04002026-08-12프론트 · DX

Strict Mode

React Strict Mode

React/Next 개발 모드에서 effect를 mount→cleanup→remount 해 부수효과를 두 번 돌린다.

이 프로젝트에서

Network에 동일 API·SSE가 잠깐 두 번 보일 수 있다. 프로덕션 빌드에서는 한 번. candles는 공유 캐시(globalThis)로 중복 HTTP를 흡수한다.

g03002026-08-12인프라

replica

Railway replica · 수평 확장

같은 서비스 코드의 인스턴스 개수를 늘리는 것.

이 프로젝트에서

realtime·trade-api·web은 replica OK. ingest는 마켓당 Solana 구독이 늘어나므로 복제 금지(또는 샤딩). load-test는 원샷 스크립트.

위치

/architecture

g02002026-08-12인프라 · DNS

커스텀 도메인 · HTTPS

CNAME · Let's Encrypt · VALIDATING_OWNERSHIP

Railway에 붙인 도메인. DNS 전파 후 SSL이 자동 발급된다.

이 프로젝트에서

CNAME이 먼저 맞고 HTTP는 되어도, 인증서가 VALIDATING_OWNERSHIP이면 HTTPS는 아직 실패할 수 있다. TXT(_railway-verify)까지 공개 DNS에 보이면 발급이 진행된다.

g01002026-08-12아키텍처

ingest / realtime / trade-api

서비스 3단

체인 구독·중계·REST를 나눈 Zenith 백엔드 역할.

이 프로젝트에서

ingest=Solana/Manifest 구독·캔들 기록. realtime=Redis→SSE. trade-api=주문·잔고·캔들 REST·volume24h. web은 UI만.

위치

/architecture