포네 결제 페그 시점 정의 (2026-05-27)
개요
포네(FONE)는 화폐성 토큰이다. KRW 환산이 필요한 결제 시, 환율(포네/KRW)을
언제 기준으로 잡을지가 핵심 정책 결정이다. 본 모듈은 그 시점을 명확히
정의하고 셀코어 호환 룰로 거래유형→모드 매핑을 한다.
시점·모드 정의
- 체결시점(spot): 거래 요청·매칭이 일어난 순간 — 그 순간의 포네 단가 기록
- 정산시점(settlement): 최종 결제 확정 (T+1 또는 즉시) — 그 순간의 포네 단가
- peg_mode = "spot": 체결가 페그 — 가격 안정성 ↑, 환율 변동 위험 결제자 부담
- peg_mode = "settlement": 정산가 페그 — 환율 변동 위험 정산자(가맹점) 부담
- peg_mode = "mid": (체결 + 정산)/2 — 양측 분담
거래유형 기본 모드 (셀코어 룰)
정기 → settlement (구독·청구 예측 안정)
즉시 → spot (결제자가 본 가격이 그대로)
에스크로 → mid (양측 보호)
핵심 함수
| 함수 | 역할 |
|---|
포네페그_체결기록(결제ID, 수량, 시각) | PENDING 라인 생성, 체결단가 캡처 |
포네페그_정산기록(결제ID, 시각) | 정산 시각·단가 갱신, SETTLED 전환 |
포네페그_KRW환산(결제ID, 수량, mode) | 모드별 KRW 산출 (settlement 폴백 → 체결가) |
포네페그_모드결정룰(거래유형) | 셀코어 룰 스키마로 거래유형→모드 매핑 |
포네페그_자가검증() | 3 시나리오 × 3 모드 검증 |
핵심 산식
체결단가 = 포네_단가_연도(체결시각.년) = 시즌1_단가_연도(년) / 729
정산단가 = 포네_단가_연도(정산시각.년)
KRW(spot) = 수량 * 체결단가
KRW(settlement) = 수량 * 정산단가 (정산 없으면 체결단가 폴백)
KRW(mid) = 수량 * (체결단가 + 정산단가) / 2
영속
/tmp/포네결제이력.dat
결제ID|체결시각|체결단가|정산시각|정산단가|상태
PAY002|2026-09-15T10:00|34|2027-10-01T10:00|37|SETTLED
셀코어 룰 스키마 (스키마 호환, 인라인 평가)
v0.38 한계로
시즌1포네맘 + 셀코어 동시 import 불가 → 룰 자료구조는
셀코어
룰엔진실행() 호환 맵 형태로 export, 평가는 본 모듈 내장
(
포네페그_룰적용). 상위 호출자가 셀코어 룰엔진을 쓰려면
포네페그_룰묶음() 결과를 그대로 넘기면 된다.
연동
- 크라우니페이(pay.crowny.org:9866) 진입점:
결제 매칭 시
포네페그_체결기록() → 확정 시
포네페그_정산기록() →
청구 산출 시
포네페그_KRW환산() (mode는
포네페그_모드결정룰(거래유형)로 결정)
- 시즌1포네맘: 단가 페그 (
포네_단가_연도) 재사용
관련 파일
/Users/ef/Downloads/CrownyTVM/std/포네페그.한선
/Users/ef/Downloads/CrownyTVM/std/포네페그.han
/tmp/포네결제이력.dat (런타임 생성)
검증 결과 (자가검증 발췌)
시나리오 2: 체결=2026 정산=2027
spot : 34000원 (체결단가 페그)
settlement : 37000원 (정산단가 페그)
mid : 35000원 ((34+37)/2 x 1000)
이력 영속: PAY002 SETTLED 체결=34 정산=37 ✓
잔여 이슈
포네페그_단가_at 은 현재 연도 단위 페그 — 일/시각별 시세 도입 시 교체
- 셀코어 + 시즌1포네맘 동시 import 불가 (v0.38 심볼테이블 한계) — 룰 평가 인라인 우회
- 결제 수량은 이력에 저장하지 않음 (정책 분리) — 상위 시스템에서 추적