자동 시장 메이커(AMM)의 동작 원리를 KSTA·USDT 시뮬레이션으로 학습하는 도구의 완벽 가이드입니다. 처음 사용하는 분부터 핵심 메커니즘을 깊게 이해하고 싶은 분까지 모두 활용하실 수 있습니다.
AMM 학습장 은 탈중앙화 거래소(DEX)에서 사용되는 자동 시장 메이커(Automated Market Maker) 메커니즘을 안전한 시뮬레이션 환경에서 직접 체험할 수 있는 학습 도구입니다. Uniswap V2 호환 공식을 그대로 구현했으며, KSTA·USDT 가상 풀을 운영하면서 스왑·유동성 공급·차익거래 등 모든 핵심 작동을 익힐 수 있습니다.
본 서비스는 100% 학습용 시뮬레이션입니다. 실제 KSTA가 거래되지 않으며, 지갑·계좌 연결도 없습니다. 모든 데이터는 브라우저 메모리에서만 처리되어 페이지 새로고침 시 초기화됩니다. 투자 자문이 아니며, 시뮬레이션 결과는 실제 시장의 수익을 보장하지 않습니다.
KSTA 학습방 AMM 학습장은 단일 시뮬레이터를 넘어 AMM 마스터를 위한 종합 플랫폼으로 구성되어 있습니다. 목적에 맞는 도구를 골라 학습하세요.
📚 인터랙티브 강의 → 🏊 V2 학습장 → 🎓 퀴즈📐 APY 계산기 → 🔬 풀 비교기 → 🏊 V2 학습장🎯 V3 학습장 → MEV 시뮬 (V2 설정) → 백테스트
경로: /amm/
Uniswap V2 호환 자동 시장 메이커. 스왑·LP·차익거래·봇 트레이드를 직접 체험하는 핵심 도구입니다.
실시간 LBank KSTA 시세와 USD/KRW 환율 연동.
경로: /amm/v3/
Uniswap V3 호환 집중 유동성 학습. 가격 범위 를 직접 설정해서 자본 효율을 V2 대비 5~40배까지 끌어올리는 메커니즘을 체험합니다.
한국어 V3 학습 도구로는 사실상 첫 등장.
경로: /amm/tutorial/
입문자에게 가장 권장합니다. 30~40분 분량의 5챕터 마스터 코스로
각 챕터마다 인터랙티브 데모와 학습 점검 퀴즈가 포함되어 있습니다.
진행 상황은 자동 저장.
경로: /amm/apy/
"내가 LP 하면 얼마 벌까?" 라는 질문에 정량적으로 답하는 도구.
풀 크기·거래량·내 투자금 입력 → 예상 일/월/연 수익 + 가격 변동별 IL + LP vs HODL 1년 후 순효과까지 즉시 계산.
경로: /amm/compare/
같은 거래를 4가지 풀 깊이(미니/소/중/대)에 동시 적용해서
슬리피지가 풀 크기에 따라 어떻게 달라지는지 한눈에 비교합니다. 풀 크기의 위력을 직관적으로 이해하기 위한 도구.
경로: /amm/quiz/
AMM 핵심 개념 20문항 객관식 평가. 각 문항마다 즉시 정답·해설 표시.
최종 점수에 따라 S/A/B/C/D 등급 부여. 강의·자기학습 검증용.
경로: /amm/manual/
모든 기능과 개념을 상세히 설명한 종합 가이드. 약 15~20분 분량.
각 섹션은 독립적이라 필요한 것만 골라 읽어도 됩니다.
AMM (Automated Market Maker, 자동 시장 메이커) 는 매수자와 매도자를 일일이 짝지어주는 호가창(order book) 없이, 풀(pool)에 들어있는 두 토큰의 비율로 가격을 자동 결정하는 거래 방식입니다. Uniswap, PancakeSwap, Curve 등 대부분의 탈중앙화 거래소(DEX)가 이 방식을 사용합니다.
| 항목 | 중앙화 거래소 (CEX) | 탈중앙화 거래소 (AMM) |
|---|---|---|
| 예시 | 업비트, 바이낸스 | Uniswap, KSTA AMM |
| 가격 결정 | 호가창 (매수·매도 호가) | 풀 토큰 비율 공식 |
| 거래 상대 | 다른 사용자 | 유동성 풀 |
| 유동성 공급자 | 마켓메이커 (전문 회사) | 일반 사용자 (LP) |
| 중개자 | 거래소 운영사 | 스마트 컨트랙트 |
| 수수료 수익자 | 거래소 | 유동성 공급자(LP) |
x · y = k풀에 토큰 A의 양이 x, 토큰 B의 양이 y 일 때, 두 값의 곱 k 는 항상 일정하게 유지됩니다.
// AMM 의 가장 기본 불변식 (Constant Product Formula)
x × y = k // k 는 상수
// 예: 풀에 1,000,000 KSTA 와 500 USDT 가 있다면
1,000,000 × 500 = 500,000,000 // k = 5억
누가 토큰 A를 풀에 넣으면 x 가 늘어나고, k 가 유지되도록 y 가 줄어들면서 그 줄어든 양만큼 토큰 B를 받게 됩니다.
풀의 현재 가격(spot price) 은 두 토큰 비율로 단순히 계산됩니다:
// 1 KSTA 의 USDT 가격
가격 = USDT 수량 ÷ KSTA 수량
// 위 예시 풀의 가격
500 ÷ 1,000,000 = 0.0005 // 1 KSTA = $0.0005
풀 가격은 풀 안에 두 토큰이 얼마나 비대칭적으로 있는지로 결정됩니다. 토큰 A가 상대적으로 풍부할수록 가격이 싸고, 부족할수록 비쌉니다. 이 원리가 모든 AMM 동작의 기반입니다.
AMM 학습장 화면은 위에서 아래로 다음 영역으로 구성됩니다:
현재 KSTA 의 외부 시장 가격(LBank 기준) 과 풀 가격의 괴리율(%) 을 표시합니다. 라이브 점이 깜빡이면 실시간 시세 추적이 활성화된 상태입니다.
x · y 곱 (수수료 누적으로 조금씩 증가)풀 가격의 최근 변동을 라인 차트로 표시. 점선은 외부 시장가 기준선입니다.
각 탭마다 입력란 + 미리보기(예상 받음·수수료·슬리피지·가격 영향) + 실행 버튼이 있습니다.
현재 진행 단계에 맞춰 다음에 무엇을 해보면 좋을지 자동으로 안내합니다.
1,000,000 KSTA 입력 → USDT가 485 정도로 자동 채워짐 (시장가 $0.000485 기준)처음 풀을 만들 때 입력한 비율이 시작 가격이 됩니다. 시장가에서 크게 벗어난 비율로 풀을 만들면 즉시 차익거래자(또는 봇)에게 정렬당합니다. 자동 채움 기능을 그대로 사용하는 것이 안전합니다.
풀이 이미 있을 때 LP를 추가하면 풀의 현재 비율 그대로 입금해야 합니다. KSTA 만 입력해도 USDT 가 풀 비율로 자동 계산됩니다.
메인 학습장(V2)에는 총 21개 신기능이 추가되어 있습니다. 처음에는 기본 스왑·LP 만 익히고, 익숙해지면 아래 기능들을 하나씩 활성화해보세요.
위치: ⚙️ 설정 → 🤖 봇 트레이드
봇이 3초마다 풀의 0.5~2% 규모 랜덤 거래를 일으킵니다. 차익거래 기회가 있으면 자동 차익거래도 수행.
속도 조절(1x/5x/10x/50x)로 시간을 압축할 수 있습니다.
학습 효과: 50x 로 가속하면 30분치 시뮬레이션을 1분에 압축. IL이 발생하고 회복되는 동적 흐름을 직관적으로 체험.
위치: ⚙️ 설정 → 💾 진행 저장 / 불러오기
슬롯 3개 제공. 풀 상태·잔고·봇 속도·토글 설정까지 통째로 저장.
특정 시드 상태에서 시작하는 시나리오를 만들거나, 새로고침 전 안전망으로 활용.
위치: 상단바 🎯 아이콘
6가지 미리 준비된 상황을 한 번에 적용:
위치: 내 자산 카드 안 (LP 보유 시 자동 표시)
가장 강력한 학습 도구입니다. LP 진입 시점 대비 그냥 보유했을 때(HODL) 와 LP 한 결과 의 가치를 실시간 비교.
받은 수수료, 임퍼머넌트 로스, 차이를 분해해서 표시합니다.
위치: 액션 카드 아래 (📜 거래 내역 펼치기)
모든 사용자 거래·봇 거래·LP 변경·시나리오 적용을 자동 기록 (최근 100건).
CSV 파일로 내보내서 Excel·Google Sheets 분석 가능 (한국어 헤더 + UTF-8 BOM).
위치: 스왑 탭 미리보기 박스 아래 (자동 표시)
x·y=k 곡선을 SVG 로 시각화. 회색 점선 = 이상적 (슬리피지 0), 보라 곡선 = 실제, 빨간 점 = 현재 입력 위치.
입력값 변경 시 즉시 갱신.
위치: ⚙️ 설정 → 🔧 커스텀 풀 만들기
풀 크기·시작 가격·내 잔고를 자유롭게 설정. 빈 풀로 시작하거나, 이미 깊은 풀 상태로 시작하거나 자유롭게.
교육자가 "이 상태에서 시작" 같은 실습 시나리오를 만들 수 있습니다.
위치: ⚙️ 설정 → 📊 실제 데이터 백테스트
LBank의 실제 KSTA 캔들 데이터(24h/7d/30d/1y)를 빠르게 재생하면서, 같은 기간 LP 했다면 결과가 어땠을지 시뮬.
"지난주 LP 했으면?" 같은 가설을 실제 데이터로 검증.
위치: ⚙️ 설정 → 🛡️ MEV 시뮬
토글 ON 시 풀의 5%↑ 거래에서 봇이 자동으로 샌드위치 공격을 가합니다.
Front-run → 사용자 거래 → Back-run 흐름으로 봇 이익 = 사용자 손실. 실전 DEX의 어두운 면을 안전하게 학습.
위치: ⚙️ 설정 → 🔔 가격 알림
KSTA 가격이 ±5% 이상 변동하면 브라우저 알림 발송. 제한: 탭이 열려있을 때만 작동
(백그라운드 푸시는 별도 인프라 필요).
위치: 상단바 🏆 트로피 아이콘
12가지 성취 잠금해제. 첫 스왑·고래 거래·차익거래자·V3 모험가·MEV 생존자 등.
잠금해제 시 보라 글로우 토스트 + 사운드 chime. 트로피 옆 보라 뱃지에 카운터.
위치: ⚙️ 설정 → 🎨 인터페이스
각 라벨(K값 ⓘ, 총 LP 토큰 ⓘ, 가격 영향 ⓘ 등) 옆 ⓘ 아이콘에 마우스 올리면 짧은 설명 등장. 매뉴얼 안 봐도 즉석에서 개념 학습 가능.
슬리피지는 거래량이 풀 크기에 비해 클수록 가격이 곡선을 따라 더 멀리 이동하는 현상입니다.
x·y=k 공식이 일정해야 하므로, 풀에서 토큰을 많이 빼낼수록 남은 양이 적어지고, 그 적은 양이 더 비싼 가격으로 팔리게 됩니다 (희소성 원리).
// 풀: 1,000,000 KSTA + 500 USDT
// 1 KSTA 만 사면? (작은 거래)
가격 영향 = 거의 0%
받는 USDT = 0.0004999... USDT // 시장가 그대로
// 100,000 KSTA 를 사면? (풀의 10%)
가격 영향 = 약 11%
받는 USDT = 약 45 USDT // 평균 가격이 올라감
LP를 한 후 외부 시장가가 크게 변하면, 그냥 보유했을 때보다 LP 가치가 적어지는 현상입니다.
가격이 처음 LP 했을 때와 같은 수준으로 돌아오면 IL은 0이 됩니다. 그동안 받은 수수료만 순이익이 돼요. 다만 가격이 크게 변동된 상태에서 LP를 인출하면 그 IL은 실제 손실로 확정됩니다.
| 가격 변동 배수 | IL | 의미 |
|---|---|---|
| 1.25배 | 0.6% | 거의 무시 가능 |
| 1.5배 | 2.0% | 수수료로 충분히 만회 가능 |
| 2배 | 5.7% | 주의 필요 |
| 3배 | 13.4% | 큰 손실 |
| 5배 | 25.5% | 매우 큰 손실 |
풀 가격과 외부 시장가가 다르면 누군가 차익거래로 정렬시킵니다. 풀이 비싼 쪽에서 사서 싼 쪽에 팔면 둘 다 가격이 수렴해요. 이게 AMM 이 외부 시장가를 자동으로 따라가는 메커니즘입니다.
외부 시장가 = $0.001 (LBank)
풀 가격 = $0.0008 (낮음)
→ 차익거래자: 풀에서 KSTA 를 싸게 사서 LBank 에 비싸게 팔기
→ 풀의 KSTA 수량 감소 → 풀 가격 상승
→ 두 가격이 ~$0.0009 에서 만남 (수수료 + 슬리피지 고려)
유동성을 공급한 사람이 받는 풀 지분 영수증입니다.
// 첫 LP (풀 생성 시)
LP 토큰 = √(KSTA 수량 × USDT 수량)
= √(1,000,000 × 500)
= √500,000,000
≈ 22,360 // 기하평균
// 추가 LP 시
LP 토큰 = (입금 KSTA / 풀 KSTA) × 기존 총 LP
거래 수수료(0.3%)는 별도로 분배되지 않고 풀 안에 그대로 누적됩니다. LP 보유자가 LP 토큰을 인출(burn) 할 때 자기 지분만큼 더 많은 토큰을 돌려받는 식으로 회수합니다.
그래서 거래량이 많을수록 LP 수익이 커지는 구조이며, K값이 거래마다 조금씩 증가합니다 (이론적으로는 일정해야 하는데 수수료 누적 때문).
다음 순서대로 따라하시면 AMM 의 핵심 메커니즘을 모두 체험하실 수 있습니다.
설정에서 "실시간 LBank 시세 추적" 토글을 켜면, LBank 자체 프론트엔드가 사용하는 내부 API (ccapi.rerrkvifj.com) 에서 KSTA·USDT 현재가를 10초마다 가져와 외부 시장가에 반영합니다.
이 엔드포인트는 CORS 가 허용되어 추가 프록시 없이 직접 호출됩니다. 만약 일부 모바일·네트워크 환경에서 차단되면 자동으로 codetabs 프록시 + LBank 거래창 HTML 파싱으로 폴백합니다.
한국 사용자를 위해 모든 자산 가치를 원화로도 표시합니다. 환율은 유럽중앙은행(ECB) 기반 frankfurter.app 에서 5분마다 자동 갱신됩니다.
| 데이터 | 출처 | 갱신 주기 |
|---|---|---|
| KSTA 시장가 | LBank ccapi (직접) → codetabs 폴백 | 토글 ON 시 10초 |
| USD/KRW 환율 | frankfurter.app (ECB 기준) | 페이지 로드 + 5분마다 |
| 풀 spot 가격 | 내부 계산 (reserveB / reserveA) | 거래마다 즉시 |
| 봇 트레이드 | 내부 시뮬레이션 | 토글 ON 시 3초 |
AMM 은 풀에 토큰이 있어야 거래가 가능합니다. 💧 LP + 탭에서 KSTA 와 USDT를 같이 넣어 풀을 만드세요. 처음 넣은 비율이 곧 시작 가격이 됩니다 (예: 1,000,000 KSTA + 500 USDT → 1 KSTA = $0.0005). 풀이 생기면 그때부터 스왑 버튼이 활성화됩니다.
수수료는 풀 안에 그대로 누적됩니다. 별도로 분배되지 않고, LP 보유자가 LP 토큰을 인출(burn)할 때 자기 지분만큼 더 많은 토큰을 돌려받는 식으로 회수합니다. 그래서 LP 가 거래량이 많을수록 수익이 커지는 구조예요.
풀에 유동성을 공급한 사람이 받는 영수증입니다. "내가 풀의 몇 %를 소유하고 있다"는 증명서 역할을 해요. LP 인출 시 이 토큰을 소각하면 풀에서 자기 지분만큼 KSTA·USDT 를 돌려받습니다. 첫 LP의 발행량은 두 토큰 수량의 기하평균(√(x·y)) 으로 계산됩니다.
풀 가격은 풀 안의 두 토큰 비율(USDT/KSTA)로 정해지고, 시장가는 외부 거래소 가격이에요. 둘이 벌어지면 차익거래자가 들어와서 자동으로 정렬시킵니다. 시뮬레이션에서는 봇 트레이드를 켜면 봇이 그 역할을 합니다.
두 가지 방법이 있어요. (1) 풀 크기 키우기 — 풀이 클수록 같은 거래량의 가격 영향이 작아집니다. (2) 거래를 쪼개기 — 한 번에 큰 거래보다 작은 거래를 여러 번 나누면 평균 체결가가 좋아져요 (단, 가스비가 있는 실전에선 트레이드오프).
이론적으로는 일정합니다 (x × y = k). 하지만 실제로는 거래마다 0.3% 수수료가 풀에 남기 때문에 K값이 거래가 일어날 때마다 조금씩 커져요. 이 누적된 차이가 곧 LP 의 수익이 됩니다.
가격이 처음 LP 했을 때와 같은 수준으로 돌아오면 IL은 0이고 그동안 받은 수수료만 순이익이 됩니다. 그래서 "Impermanent (일시적)" 입니다. 다만 가격이 크게 변동된 상태에서 LP 를 인출하면 그 IL은 실제 손실로 확정돼요. 변동성이 크면서 거래량이 적은 풀에 LP하면 손해 보기 쉽습니다.
3초마다 가상의 봇이 풀에 거래를 발생시켜요. 풀 가격이 외부 시장가에서 0.5% 이상 벗어나면 차익거래 방향으로, 정렬되어 있으면 랜덤 방향으로 거래합니다. 켜두면 LP 를 보유한 동안 수수료가 자연스럽게 쌓이는 걸 관찰할 수 있어요.
아니요. 이 도구는 완전한 시뮬레이션입니다. LBank 에서 실시간 KSTA 가격만 가져와서 외부 시장가의 기준값으로 쓰고, 모든 스왑·LP·잔고는 브라우저 메모리 안에서만 일어나요. 새로고침하면 모두 초기화됩니다 (지갑·계좌 연결 없음).
핵심 공식과 메커니즘은 동일합니다 (Uniswap V2 호환). 단순화한 차이점:
유럽중앙은행(ECB) 기준 환율을 제공하는 frankfurter.app 무료 API에서 5분마다 자동 갱신합니다. 일시적으로 가져오기 실패해도 마지막 환율값을 유지하므로 화면이 깨지지 않습니다. 디폴트값은 1,450 입니다.
현재 버전은 의도적으로 저장 기능을 두지 않았습니다 — 누구나 부담 없이 새로 시작할 수 있는 학습 도구가 목표이기 때문입니다. 향후 업데이트에서 선택적 진행 저장 기능이 추가될 수 있습니다.
x · y = k 공식의 상수. 두 토큰 수량의 곱.USDT 수량 ÷ KSTA 수량 으로 계산.