Glossary · 용어

용어사전

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

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

용어 (24/24)

g24002026-08-17인프라

@zenith/shared

shared · packages/shared

Zenith 앱·서비스가 같이 쓰는 마켓 목록·채널·시간 유틸 패키지. npm 이름은 `@zenith/shared`다.

이 프로젝트에서

예전 이름은 `@manifast/shared`. 스코프는 `@zenith/…` — `zenith/shared`처럼 @ 없이 쓸 수 없다. 폴더 경로는 그대로 `packages/shared`.

위치

packages/shared · LISTED_MARKETS · time.ts

g23002026-08-15인프라 · 온체인

프로그램 ID

program ID · programId

솔라나에서 ‘이 계좌는 어느 거래소 프로그램 소유인가’를 가리키는 주소. 탐색기·Manifest UI는 이걸로 마켓을 찾는다.

이 프로젝트에서

Zenith Core는 HQY4XUKnn… 이다. Manifest MNFSTqt… 와 다르다. 탐색기·Manifest UI는 프로그램 ID로 마켓을 찾는다.

위치

zenith-program PROGRAM_IDS.md · @zenith/zenith-sdk · checkpoints c5400

g22002026-08-17인프라 · 주문

zenith-sdk

Zenith SDK · @zenith/zenith-sdk · manifest-sdk

Zenith 앱이 쓰는 주문·취소 SDK. `@zenith/zenith-sdk`는 Zenith Core/Wrapper 프로그램 ID가 기본값이다.

이 프로젝트에서

dist bake로 Manifest 클라이언트 ID를 HQY4XUKnn… / CxbMmW7SWZ… 로 치환한다. Manifest MNFSTqt… 로 보내지 않는다. 온체인 프로그램은 GPL 포크.

위치

packages/zenith-sdk · zenith-program · /schedule m5l3

g21002026-08-15시세 · 상장

SPEPE/USDT

SPEPE · spepe-usdt

Zenith에 올린 스팟 페어. SPEPE를 USDT로 사고판다. 온체인 Manifest 마켓 주소가 따로 있다.

이 프로젝트에서

base mint GkdbD4Kj…5JTM, quote는 솔라나 USDT(Es9v…wNYB), 마켓 HGQCcuUE…s3bY. 화면 목록은 MOCK_MARKETS, 서버·ingest는 LISTED_MARKETS. 입출금 모달은 아직 wSOL/USDC만 — USDT는 주문 시 자동 예치.

위치

packages/shared/src/markets.ts · mockMarkets.ts

g20002026-08-14지갑

Blowfish

블로피시 · Phantom 보안

Phantom이 쓰는 보안 서비스. 트랜잭션을 미리 살펴 피싱·이상한 주문을 경고하거나 막는다.

이 프로젝트에서

아이폰에서 본 Request blocked / This dApp could be malicious 는 Phantom이 Blowfish 결과를 띄운 것이다. Zenith 서버 에러가 아니다. 호가와 먼 지정가에서 잘 뜨고, 매수가·비슷한 수량이면 통과한 적이 있다.

위치

Phantom 인앱 서명 화면 · checkpoints c4700

g19002026-08-14주문

즉시 체결

fill · taker fill · 교차

지정가가 이미 나와 있는 반대편 호가와 만나 호가창에 남기지 않고 바로 거래되는 것.

이 프로젝트에서

매수 지정가는 ‘이 가격까지 사겠다’라서 그보다 싼 매도가 있으면 그 가격으로 체결된다. Zenith 토스트는 이때 ‘체결되었습니다’, 호가에 남으면 ‘제출했습니다’.

위치

resolvePlaceOutcome · TradeToasts orderFilled

g18002026-08-14차트

볼륨

volume · 거래량 · 히스토그램

그 봉(시간 칸) 동안 실제로 체결된 수량. 차트 하단 막대가 이 값이다. 헤더 24h Volume($)과는 다르다.

이 프로젝트에서

Zenith는 base 토큰 수량을 candle_bars.volume에 합산. 양봉(종가≥시가) 초록, 음봉 빨강. mid만 움직인 칸은 체결이 없으면 막대가 없다.

위치

MarketCandleChart HistogramSeries · candle_bars.volume

g17002026-08-14웹 · SEO

noindex

robots.txt · X-Robots-Tag · 색인 차단

검색엔진이 페이지를 결과에 넣지 말라는 지시. robots.txt는 크롤 자체를 줄이고, noindex/X-Robots-Tag는 ‘결과에 올리지 마’다.

이 프로젝트에서

Zenith Railway `dev`(dev.zenith-dex.xyz)는 셋 다 켠다. production만 색인 허용. 이미 구글에 잡힌 URL은 Search Console에서 삭제를 요청해야 빨리 빠진다.

위치

manifast-platform: robots.ts · middleware · layout metadata.robots

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-17시세

mid

Mark · 중간가

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

이 프로젝트에서

ingest가 Manifest 호가에서 뽑아 Redis·SSE로 올린다. 체결이 있는 봉에서는 mid가 close만 바꾸고 high/low는 체결만 반영한다. mid만 있는 칸은 평탄 봉.

위치

packages/shared applyMidToBar · ingest upsertAllResolutions

g12002026-08-12시세 · 호가

스프레드

spread

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

이 프로젝트에서

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

g11002026-08-14호가

L2 호가

order book · 호가창 · bids/asks

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

이 프로젝트에서

티커 SSE book 이벤트의 bids/asks. ingest가 각 최대 50단(BOOK_LEVELS_MAX). 호가창은 띠를 중앙에 두고 매도·매수 칸이 따로 스크롤한다.

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