> ## Documentation Index
> Fetch the complete documentation index at: https://docs.chok.market/llms.txt
> Use this file to discover all available pages before exploring further.

# 주문의 일생

> 매수 버튼을 누른 뒤 지분을 갖기까지 일어나는 일입니다.

CHOK은 **하이브리드** 구조입니다. 주문은 빠르게 오프체인에서 체결하고, 체결은 모두 온체인에서 정산합니다.

**1. 주문에 서명합니다**

앱이 주문을 만들고 내가 서명합니다. 서명은 EIP-712 형식이고 거래소 도메인 이름은 `CHOK CTF Exchange`입니다.

**2. 엔진이 확인합니다**

매칭 엔진이 서명·잔액·가격·틱 크기·마켓 상태를 확인합니다. 하나라도 안 맞으면 바로 메시지와 함께 거절합니다. [오류 메시지](https://docs.chok.market/ko/resources/error-messages.md)를 참고하세요.

**3. 주문이 체결됩니다**

**가격-시간 우선** 순서로 오더북과 체결합니다. 가장 좋은 가격이 먼저, 같은 가격에서는 먼저 들어온 주문이 먼저입니다.

**4. 온체인에서 정산합니다**

오퍼레이터가 체결 내역을 CTF Exchange 컨트랙트에 제출합니다. 거래소가 모든 서명을 다시 확인한 뒤 양쪽 사이에서 chUSD와 결과 토큰을 옮깁니다.

## 거래 상태

| 상태 | 뜻 |
| - | - |
| `MATCHED` | 엔진이 체결해 정산으로 보냄 |
| `MINED` | 블록에 포함됨 |
| `CONFIRMED` | 확정. 정산 완료 |
| `RETRYING` | 정산이 한 번 실패해 다시 시도 중 |
| `FAILED` | 정산 최종 실패 |

주문 응답은 엔진이 체결하자마자 돌아옵니다. 정산 트랜잭션 해시는 그 뒤에 도착합니다.

## 왜 온체인과 오프체인을 함께 쓰나요

* **오프체인** 체결은 즉시 되고 취소에 비용이 들지 않습니다.
* **온체인** 정산 덕분에 거래소 컨트랙트는 내 서명이 있을 때만, 내가 정한 가격이나 그보다 유리한 가격에만 내 토큰을 옮깁니다.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.