CoinRithm 써 보기 — AI 에이전트 페이퍼 트레이딩과 공개 수익률 순위표

가입해서 받은 키 하나로 CoinRithm 을 읽기 전용으로 훑고, 같은 것을 weltiq 에서도 재 봤습니다. 그리고 둘이 정반대로 답한 질문 하나 — 에이전트 수익률 순위표를 공개해야 하는가.

8편. CoinRithm — weltiq 와 같은 말을 하는 회사가 수익률 순위표를 걸었습니다

이번 편은 이 연재에서 처음으로 웹 서비스입니다. 설치할 것이 없습니다. 그리고 이 물건이 파는 문장은 "AI 트레이딩 에이전트를 위한 페이퍼 샌드박스" — 제가 기고하는 weltiq 가 파는 문장과 거의 같습니다. 같은 말을 하는 두 곳이 정반대로 답한 질문이 하나 있습니다. CoinRithm 은 에이전트들의 수익률 순위표를 공개하고, weltiq 는 사업 문서에 수익률 리더보드 금지를 못 박아 뒀습니다. 어느 쪽이 옳은지 제가 판정하지 않습니다 — 양쪽 근거를 실제 숫자로 세워 놓고 판단은 독자께 넘깁니다.

이 글의 완료 조건: 독자는 가입해서 받은 키 하나로 계좌·기록·견적을 읽고, 예측시장 열두 곳의 보정 성적을 받아 보고, 마지막으로 순위표를 걸 때 얻는 것과 잃는 것을 자기 숫자로 판단하면 성공입니다.

하는 일 AI 에이전트에게 가짜 돈 5만 mUSD 를 쥐여 주고 실제 시세 위에서 돌립니다. 현물·선물·예측시장 세 군데에 주문을 낼 수 있고, 성적이 공개 순위표에 올라갑니다
맞는 사람 예측시장을 여러 거래소에 걸쳐 보고 싶은 사람 · 에이전트를 만들어 남들과 나란히 놓고 싶은 사람 · API 계약을 읽고 쓰는 게 편한 사람
안 맞는 사람 전략에 손실 한도를 강제로 걸어 두고 싶은 사람 · 거래소별 수수료를 갈아 끼우며 비용을 따지고 싶은 사람 · 한국 주식을 다루고 싶은 사람(없습니다)
이 글의 결과물 키 하나로 읽어 낸 계좌·기록·견적, 예측시장 다섯 거래소의 보정 성적표, 그리고 양쪽을 같은 자로 잰 비교표 다섯 장
준비물·비용 가입 무료(가격 페이지가 아예 없습니다) · 모델 스튜디오를 쓰면 저쪽이 붙여 줍니다 · 키 발급에만 로그인 필요 · weltiq 5절 비교를 해 볼 때만
시간·난도 설치 0초. 순위표·예측시장 집계는 로그인 없이 즉시. 난도 하(읽기) / 중(API)
weltiq 와의 관계 정면으로 같은 일을 합니다. 5절은 "연결하는 법"이 아니라 용도별 선택표와 비교표입니다
검증 환경·날짜 2026-09-22 02:15~02:40 KST · API 계약 v1.7.0 · 호스티드 MCP 서버 0.7.12
제휴 고지 필자는 weltiq 로부터 이 연재의 원고료를 받습니다. 도구 평가는 필자가 직접 돌린 결과만 씁니다

CoinRithm 쪽에는 읽기만 했습니다. 계정은 있지만 저쪽 페이퍼 계좌에 주문을 내지 않았고, 에이전트를 만들지 않았고, 순위표에 참가 등록하지 않았습니다. 저쪽 안내가 "Start read-only" 라고 적어 둔 것을 그대로 지킨 것이기도 하고, 남의 서비스에 쓰기를 하는 건 리뷰어가 할 일이 아니라고 봐서이기도 합니다. 그래서 "저쪽에서 주문을 내 보면 어떻더라"는 이 글에 없습니다. 못 쟀습니다. 여기 나오는 종목·에이전트 이름은 기능 확인용 예시일 뿐 어떤 매매 의견도 아니고, 순위표 숫자는 그 서비스의 출력이라 제가 보증하지 않습니다. 원문 응답과 못 잰 것 목록은 검증 기록에 있습니다.


1. 이게 뭔가요

CoinRithm 은 AI 에이전트에게 가짜 돈을 쥐여 주고 실제 시세 위에서 돌려 보는 웹 서비스입니다. 에이전트는 1분마다 한 번 돌고, 주문 전에 반드시 견적을 받고, 모든 결정이 기록으로 남습니다. 붙이는 방법은 둘 — 스튜디오에서 준비된 캐릭터를 골라 배포하거나(무료 호스팅 모델이 붙습니다), 자기 에이전트를 MCP 나 ChatGPT Action 으로 연결하거나. 뒤쪽이 이 연재가 다루는 방식입니다.

항목 값 확인 방법
주소 coinrithm.com · API api.coinrithm.com
법인 Bees-x Limited · England and Wales · 등록번호 13308136 사이트 푸터
API 계약 v1.7.0 (openapi: 3.1.0) · 엔드포인트 54개 https://www.coinrithm.com/openapi.yaml
호스티드 MCP https://mcp.coinrithm.com/mcp · 서버 coinrithm-trading 0.7.12 · 도구 38개 MCP initialize · tools/list
페이퍼 자본 50,000 mUSD · 현금 코인은 USDT (coinId 825) GET /api/agent/portfolio
가격 가격 페이지가 없습니다 (/en/pricing → 404). 첫 화면이 "$0 · 100% free" 실호출
실거래 없습니다. 페이퍼 전용 API 문서

CoinRithm 첫 화면 ↑ CoinRithm 첫 화면. 왼쪽 문장이 이 회사가 파는 것입니다 — "실제 자본을 만지기 전에 샌드박스가 필요하다". 오른쪽 검은 터미널은 모형이고, 오른쪽 위에 "illustrative session, not live data" 라고 스스로 적어 뒀습니다. 이런 라벨을 붙이는 회사는 많지 않습니다

같은 것: 실제 시세 · 가짜 돈 · 24시간 무인 실행 · MCP 로 붙이기 · 체결에 비용을 매긴다 · 기록을 남긴다 · 실거래는 안 한다. 다른 것이 셋입니다.

CoinRithm weltiq
예측시장 12개 거래소를 가로질러 집계·비교한다. 여기서 주문도 낸다 없습니다
에이전트를 호스팅한다 무료 모델을 붙여 자기들이 돌려 준다 안 합니다. 판단은 사용자 쪽에 있습니다
수익률 순위표 공개한다 (Agent Arena) 금지 (사업 문서 조항)

세 번째가 이 글의 몸통이고, 6절에서 다룹니다.


2. 들어가 보기 — 로그인 없이 어디까지, 키는 어디서

설치가 없는 물건이라 이 자리는 접근 경로입니다.

화면 주소 로그인
에이전트 트레이딩 안내 (출발점) /en/agentic-trading 불필요
Agent Arena 순위표 · 상위 에이전트 상세 /en/arena · /en/arena/<handle> 불필요
Studio (에이전트 만들기) /en/my-agents/studio 캐릭터 고르기까지 불필요
페이퍼 트레이딩 화면 · 예측시장 허브 /en/mock-trade · /en/prediction-markets 불필요
API 키 발급 /en/settings/api-keys 필요

로그인 벽이 한 군데뿐입니다 — 키 발급. 순위표도, 1위 에이전트의 성적표도, 예측시장 집계도 그냥 보입니다. 대부분의 이런 서비스는 가입 폼부터 들이밉니다. 유료 벽은 못 찾았습니다 — /en/pricing 은 404 이고 푸터에도 가격 링크가 없습니다. (돈을 어디서 버는지는 확인 못 했습니다.)

CoinRithm 페이퍼 트레이딩 데모 ↑ CoinRithm 페이퍼 트레이딩 화면(비로그인 데모, 숫자는 예시입니다). 가운데 초록 버튼 "Personalized Feedback" 과 노란 "Golden Rules" 이 이 서비스의 코칭 층입니다 — weltiq 에 없는 칸입니다. 그 아래 Wins 14 / Losses 19 · 42.4% 처럼 승·패를 세어 보여 주는 것도 weltiq 화면엔 없습니다. 왼쪽 표는 코인별 동결 수량(Frozen)까지 갈라서 보여 줍니다

들어가자마자 "Golden Rules of Trading" 팝업이 화면을 덮습니다 — "손실 포지션에 물타지 마라", "항상 손절을 걸어라", "자본의 1~2% 이상 걸지 마라". 그런데 주문 API 에는 현물 손절 필드가 없습니다. 교육 층과 실행 층이 다른 말을 합니다(5-3 에서 스키마로 확인합니다).

키 발급 — 그리고 MCP 로 붙이기

CoinRithm API 키 발급 화면 ↑ CoinRithm API 키 발급 화면(비로그인 상태). 위쪽 노란 상자 "Staying in control" 을 보십시오 — "읽기 전용부터 권합니다", "키는 당신처럼 행동합니다", "노출되면 즉시 폐기하십시오". 아래 Permissions 네 칸이 이 서비스의 권한 모델 전부입니다: Read(항상 켜짐) · Spot trading · Futures trading · Prediction markets

키는 crk_ 로 시작하는 59자입니다.

$ curl -H "Authorization: Bearer $KEY" https://api.coinrithm.com/api/agent/me
{"userId":119,"keyId":104,"agentName":null,"agentModel":null,
 "scopes":["read","trade:spot","trade:pm","trade:futures"],
 "usage":{"period":"2026-09","requests":1}}

이 키 하나가 전부입니다 — 같은 키로 계좌를 읽고 견적을 받고 페이퍼 주문을 냅니다. 네 스코프가 다 켜져 있으니 발급할 때 기본으로 전부 켠 것입니다(안내는 읽기 전용부터 권하는데 말입니다). 안내대로 하시려면 Read 만 남기고 나머지 셋을 끄십시오.

붙이는 줄은 양쪽이 똑같습니다 — 한 줄, 헤더 하나, 같은 전송 방식.

claude mcp add --transport http coinrithm https://mcp.coinrithm.com/mcp \
  --header "Authorization: Bearer $COINRITHM_API_KEY"

claude mcp add --transport http weltiq https://weltiq.ai/mcp \
  --header "Authorization: Bearer $WELTIQ_API_KEY"

다른 점 하나가 재미있습니다. CoinRithm 은 키 없이도 붙습니다. 키 없이 tools/list 를 불러도 도구 38개가 그대로 나오고(키를 붙여도 똑같이 38개), weltiq 도 같은 설계라 키 없이 68개가 나옵니다. 둘 다 "도구 표면은 공개, 권한은 실행 시점"입니다. 다만 저쪽은 그중 11개가 키 없이 실제로 동작합니다 — pm_data_* 열 개와 get_crypto_movers.

# 키 없이 pm_data_overview → HTTP 200
  {"stats":{"totalMarkets":1587752,"totalOpenMarkets":48961,
            "totalVolume":7382344484.474279, …}}

# 키 없이 whoami → HTTP 401
  {"error":"missing_api_key","message":"No API key for this request. On the hosted
   MCP, send `Authorization: Bearer crk_live_…` with your own key."}

# weltiq MCP 를 키 없이 → {"text":"Error executing tool markets","isError":true}

예측시장 데이터가 통째로 무료 공개입니다. weltiq 에는 그런 칸이 없고 68개가 키 없으면 전부 막힙니다. 그리고 막히는 방식이 다릅니다 — 저쪽은 401 과 함께 다음 행동을 알려 주고, 이쪽은 한 줄뿐이라 고칠 방법이 안 적혀 있습니다.


3. 첫 결과 — 키 하나로 읽어 본 것

전부 읽기입니다. 계좌부터.

$ curl -H "Authorization: Bearer $KEY" https://api.coinrithm.com/api/agent/portfolio

{"walletId":278,"bookScope":"api_key",
 "equity":{"totalUsd":50000,"available":50000,"frozen":0,
           "valuationBasis":"wallet_assets_spot_marked_futures_pm_at_collateral"},
 "pnl":{"24hUsd":0,"allTimeUsd":0, …}, "openOrders":[],
 "progression":{"league":"iron","xpPoints":0,"rankInLeague":31, …}}

이렇게 나오면 성공입니다. 셋을 짚습니다. bookScope: "api_key" — 장부가 키 단위라 키를 더 발급하면 계좌가 하나 더 생깁니다(weltiq 는 전략 컨테이너 단위로 가릅니다 — 같은 문제를 다르게 푼 것이고 저쪽이 더 단순합니다). valuationBasis — 평가 기준을 문자열로 박아 응답에 실어 보내니 "이 숫자 어떻게 계산한 거냐"가 안 생깁니다. progression — 리그·XP·순위·일일 과제, 즉 게임화 레이어가 계좌 응답에 들어 있습니다. 아무것도 안 했는데 이미 iron 리그 31등이고, 이게 6절 이야기의 첫 단서입니다.

기록(/api/agent/ledger)은 주문뿐 아니라 조회까지 한 행씩 남기고 latencyMs 를 붙입니다 — weltiq 주문 경로에는 없는 칸입니다. 성적 요약(/api/agent/performance)의 auditStats 에는 quoteBeforeTradeRate — "주문 전에 견적을 받은 비율" 이 지표로 서 있습니다(제 계정은 주문이 없어 null). 이런 칸을 지표로 세운 건 처음 봤습니다.

체결 비용은 견적에서 미리 다 보여 줍니다

주문은 안 냈지만 견적은 읽기 엔드포인트라 받아 봤습니다.

$ curl -X POST … -d '{"coinId":"1","side":"buy","quantity":0.001}' \
    https://api.coinrithm.com/api/agent/spot/quote

{"eligible":true,"blockReasons":[],"side":"buy","quantity":0.001,"orderType":"market",
 "executionPrice":85920.01571707883,"estimatedCostMusd":85.92001571707883,
 "estimatedFeeMusd":0.04296,
 "executionModel":{"version":"paper_execution_v1",
                   "feeBps":5,"spreadBps":4,"slippageBps":2,
                   "fundingMode":"not_modeled",
                   "assumptions":["paper execution",
                     "deterministic half-spread + slippage + taker fee",
                     "funding, order-book depth, latency and market impact not modeled",
                     "not an exchange fill guarantee"]},
 "freshness":{"asOf":"2026-09-21T17:30:14.563Z","ageSeconds":32,"status":"fresh"},
 "observation":{"schema":"coinrithm.agentObservation.v1",
                "observedAt":"2026-09-21T17:30:46.154Z",
                "sourceAsOf":"2026-09-21T17:30:14.563Z",
                "rowCount":2,"hash":"94e8810b1b47d42408b89537"}}

한 덩어리에 들어 있는 게 많습니다 — 수수료 5bp + 스프레드 4bp + 슬리피지 2bp, 편도 11bp 를 숫자 그대로 내주고, 못 모형화한 것(펀딩·호가 깊이·지연·시장충격)을 적어 두고, ageSeconds: 32 로 가격이 32초 된 것이라고 알려 주고, observation 으로 이 읽기가 언제 무엇을 봤는지와 해시를 남깁니다. API 문서에 이런 문장도 있습니다 — "a flat round-trip is a small loss, not a free breakeven".

막히는 자리

증상 원인 고침
https://coinrithm.com/en/docs/api 가 404 API 문서 페이지가 없습니다 스키마 원본을 직접 받으세요: https://www.coinrithm.com/openapi.yaml
Cannot GET /api/agent/spot/quote 견적은 POST 입니다 (읽기인데 POST) -X POST 에 JSON 본문
{"error":"q (symbol, slug, or name) is required"} /api/agent/resolve 의 파라미터는 query 가 아니라 q ?q=BTC
주문이 coinId 를 요구 티커가 아니라 UCID 입니다 (BTC = "1") resolve 로 먼저 변환
429 키당 분당 120회 · 매매 쓰기 분당 20회 RateLimit-* 헤더를 보고 조절

4. 제일 잘 쓰는 법 — 열두 군데 예측시장을 가로질러 누가 잘 맞히는지 보기

이게 CoinRithm 이 제일 잘하는 일이고, weltiq 에 아예 없는 것입니다. 키도 필요 없습니다.

예측시장 거래소들 중에 누가 제일 잘 맞히는지 알 수 있어?

$ curl https://api.coinrithm.com/api/prediction-markets/calibration
거래소 표본 보정오차 승자에 매긴 평균 확률
Polymarket 952 0.0216 0.5242
Manifold Markets 281 0.0422 0.7160
Kalshi 3,313 0.0569 0.4749
Limitless 110 0.1030 0.5059
Gemini 46 0.1157 0.6038

방법론도 응답에 실려 옵니다 — 결과가 나기 24시간 전 가격을 실제 결과와 대조하고(leadHours: 24), 표본 30개 미만은 점수를 안 매깁니다(minSample: 30). 점수를 못 매긴 곳은 pending 에 이유와 함께 들어갑니다(Futuur: "채점 가능한 이벤트가 3개뿐, 30개 필요").

CoinRithm 예측시장 허브 ↑ CoinRithm 예측시장 허브. 위쪽 탭 줄이 이 도구가 하는 일 목록입니다 — Compare · Whale Trades · Where venues disagree · Venue calibration · Sources. 아래 SOURCE COMPARISON 줄의 거래소 12개, 그리고 활성 시장 48,899개 · 총 거래대금 $7,377,246,408 이 집계 규모입니다

호출 한 번, 키 불필요, 12개 거래소를 묶어 누가 얼마나 잘 맞히는지를 표본 수와 함께 내줍니다. weltiq 는 이 축이 통째로 없습니다. 우월이 아니라 자리의 문제입니다 — weltiq 는 봉 단위 전략 실행을 하고, 저쪽은 그 위에 크로스-venue 예측시장 리서치를 한 층 더 얹었습니다.


5. weltiq 와 나란히 — 같은 자로

정면으로 겹치는 편이라 이 자리가 연결 절차 대신 비교표입니다. 전부 오늘 실호출로 확인한 값이고 추정이 들어간 칸은 없습니다. 먼저 용도별로 어느 쪽인지부터.

하려는 일 고를 것 근거
예측시장을 여러 거래소에 걸쳐 보고 비교 CoinRithm 12개 거래소 48,899 시장 · 거래소별 보정오차 (4절). weltiq 에 없음
가입 즉시 계좌 하나 받아 에이전트를 돌려 보기 CoinRithm 5만 mUSD · 키 한 장 · 호스팅 모델까지 붙여 줌
계약서를 읽고 직접 붙이기 CoinRithm OpenAPI 3.1 원본 공개(233KB · 엔드포인트 54) · MCP 레지스트리 6곳 등재
주문에 손실 한도를 강제로 걸어 두기 weltiq 중지 조건이 없으면 전략 컨테이너가 만들어지기 전에 422 로 거절됨. 저쪽은 현물 손절 필드가 아예 없음
거래소별 수수료를 갈아 끼우며 같은 체결을 다시 재기 weltiq 요율표 6종, 날짜·검증 플래그 포함. 저쪽은 고정 5bp 하나
전략을 문서로 만들어 상주시키기 weltiq 상태를 바꾸는 22개 중 8개가 전략 문서를 만들고 고치는 도구. 저쪽엔 그 층이 없음
기록을 남에게 보여 주기 CoinRithm 성적표·결정 기록이 로그인 없이 공개. weltiq 는 아무것도 공개 안 함 (6-3)

5-1. 붙이는 비용

CoinRithm weltiq
설치 · 붙이는 줄 없음. 웹 + 키 · claude mcp add --transport http … 한 줄 동일
인증 Authorization: Bearer crk_… (또는 X-API-Key) Authorization: Bearer wq_…
공개 API 문서 OpenAPI 3.1 원본 공개 (233KB, 엔드포인트 54개) 문서는 있으나 OpenAPI 스펙 공개 없음
레지스트리 등재 MCP Registry · Glama · Smithery · mcp.so · PulseMCP · MCP Market 없음

여기는 저쪽이 이깁니다. API 문서를 못 찾아 한참 헤맸는데 스키마 파일 자체가 문서였습니다. 그게 더 낫습니다 — 사람이 읽는 문서와 기계가 읽는 계약이 갈라질 일이 없으니까요.

5-2. 도구 표면과 권한선

CoinRithm weltiq
MCP 도구 38 68
그중 상태를 바꾸는 것 7 22
키 없이 동작 11 (pm_data_* 10 + get_crypto_movers) 0
분당 한도 120 (+매매 쓰기 20) 120 (Pro 600)

저쪽 7개: place_spot_order · cancel_spot_order · open_futures_position · set_futures_sl_tp · close_futures_position · open_pm_position · report_pm_opportunity.

weltiq 22개: instantiate · backtest · backtest_submit · backtest_cancel · pine_import · rules_import · strategy_thesis · my_template_save · my_template_apply · slot_run · slot_update · slot_update_cancel · slot_stop · slot_start · slot_entry_control · slot_trace · promotion_evaluate · order_oneoff · order_amend · order_cancel · paper_order_submit · paper_order_cancel. (백테스트 셋은 주문을 내진 않지만 서버에 실행 기록을 남기므로 이쪽에 넣었습니다. pine_preview 와 my_template_resolve 는 POST 지만 아무것도 저장하지 않아 뺐습니다.)

수가 많은 쪽이 좋은 게 아닙니다 — weltiq 22개 중 8개(instantiate·pine_import·rules_import·strategy_thesis·my_template_save·my_template_apply·slot_update·slot_update_cancel)는 전략 문서를 만들고 고치는 도구이고 저쪽엔 그 층이 없습니다. 같은 "페이퍼 트레이딩"인데 단위가 다릅니다 — 저쪽은 주문 단위, 이쪽은 전략 문서 단위입니다.

권한선이 어디에 그어져 있나가 본론입니다. 양쪽 다 "키로는 못 하는 일"을 정해 뒀는데 정한 게 다릅니다.

키·MCP 로 할 수 없는 것 CoinRithm weltiq
스코프·권한 넓히기 불가 — 대시보드에서만 불가 — 브라우저 세션에서만
주문 금액 상한 그런 개념이 없음 불가 — 한도 승인은 세션 전용
실거래 연결 실거래 자체가 없음 불가 — 커넥터 등록·재개는 세션 전용
$ POST /v1/envelopes {"symbols":["BTCUSDT"],"max_order_notional":"500", …}
HTTP 403 {"detail":{"code":"session_required",
          "detail":"/v1/envelopes 은(는) 로그인 세션에서만 호출할 수 있습니다 (API 키 불가)"}}

대리인이 자기 한도를 못 넓힙니다 — "an agent cannot widen its own limits." 저쪽에는 이 층이 없어 스코프가 trade:futures 면 레버리지 20배까지 금액 상한 없이 포지션을 엽니다(FuturesOpenRequest: leverage 최대 20, marginMusd 최소 10, 상한 없음). 대신 스코프를 잘게 나눠 놨고(현물/선물/예측시장 따로) 안내가 읽기 전용부터 시작하라고 반복해 권합니다.

한 줄로: 저쪽은 "무엇을 할 수 있나"로, 이쪽은 "얼마까지 할 수 있나"로 가릅니다.

5-3. 주문 한 건에 무엇을 요구하나 — 여기서 갈립니다

같은 "페이퍼 현물 시장가 매수"인데 요구하는 게 다릅니다.

필드 CoinRithm weltiq
종목 coinId (UCID, 티커 아님) — 필수 venue + symbol — 필수
수량 quantity — 필수 qty 또는 size — 필수
멱등 키 idempotencyKey — 필수 client_order_id — 선택
왜 사는가 agentTrace.rationaleSummary — 선택 thesis.why — 필수 (없으면 422)
어디서 접는가 현물엔 필드 없음 · 선물 stopLossPrice 선택 invalidation.px_below/px_above — 필수 (없으면 422)

weltiq 쪽 422 는 둘 다 실제로 받아 봤습니다.

$ POST /v1/orders/oneoff {… "thesis" 없이 …}
422 {"detail":{"code":"thesis_required","detail":"가설(thesis)이 필요합니다"}}

$ POST /v1/orders/oneoff {… "invalidation" 없이 …}
422 {"detail":{"code":"invalidation_required","detail":"청산 조건(px_below/px_above)이 필요합니다"}}

그리고 여기가 weltiq 이 지는 칸입니다. 멱등 키 없이 주문을 내면 이쪽은 경고만 하고 받아 줍니다("warning":"no_client_order_id" — "같은 요청을 다시 보내면 주문이 하나 더 들어갑니다"). 저쪽은 idempotencyKey 를 필수로 박아 두고 문서에 씁니다 — "a timeout does not establish whether the server accepted a write." 에이전트가 주문을 내는 세상에서 제일 흔한 사고가 타임아웃 후 재전송으로 인한 이중 주문인데, 저쪽은 스키마로 막았고 이쪽은 경고문으로 막습니다. 경고문은 LLM 이 읽고 무시할 수 있습니다. weltiq 가 졌습니다.

5-4. 체결 비용 모형 — 그리고 weltiq 쪽 왕복 실측

저쪽에 쓰기를 안 하기로 했으므로 주문이 필요한 칸은 weltiq 에서만 돌았습니다. BTCUSDT 0.001 개를 사고 25.4초 뒤 되팔았습니다.

매수 매도
시각 02:25:07.850550 02:25:33.263264
체결가 85860.2751685 85843.0948315
수수료 0.08586028 USDT 0.08584309 USDT
유동성 · 시세 출처 taker · quote_source: binance · quote_scope: binance-spot 〃
수수료 규칙 fee_profile: {rule: venue, profile: binance-spot, maker: 0.001, taker: 0.001} 〃

25초 동안 가격은 2.00bp 빠졌고, 왕복 수수료는 19.998bp 였습니다. 순손익 −0.18888371 USDT — 85.86달러어치를 25초 들고 있었을 뿐인데 0.19달러가 사라졌습니다. 저쪽 문서의 "flat round-trip is a small loss" 가 이겁니다. 주문 접수는 58ms, 첫 조회에 이미 filled. 다만 체결 응답에 스프레드·슬리피지가 몇 bp 였는지가 안 적혀 있습니다.

같은 규모로 거래소별 요율을 갈아 끼워 봤습니다.

$ GET /v1/fees/simulate?asset_class=crypto-spot&notional=85.86&trades_per_month=2&maker_share=0

Bithumb KRW Market      taker=0.0004  eff=0.00040  as_of=2026-09-16  verified=true
Upbit KRW Market        taker=0.0005  eff=0.00050  as_of=2026-09-16  verified=true
Binance Spot            taker=0.001   eff=0.00100  as_of=2026-09-16  verified=true
Bybit Spot              taker=0.001   eff=0.00100  as_of=2026-09-16  verified=false
OKX Spot                taker=0.001   eff=0.00100  as_of=2026-09-16  verified=true
Bitget Spot             taker=0.001   eff=0.00100  as_of=2026-09-16  verified=true

같은 왕복이 거래소에 따라 4bp~10bp 입니다. CoinRithm 에는 이 칸이 없습니다 — paper_execution_v1 의 고정 5bp 하나뿐입니다.

CoinRithm weltiq
모형 이름 paper_execution_v1 RealityProfile (venue+version)
BTC 현물 편도 수수료 5bp + 스프레드 4bp + 슬리피지 2bp = 11bp 수수료 10bp + (½×스프레드 + 1bp) ≈ 11bp
요율 갈아 끼우기 없음 (고정) 거래소 6종, 날짜·검증 플래그 포함
응답에 비용 내역 견적·체결마다 executionModel 로 공개 없음 — 체결 응답에 fee 만
안 모형화한 것 응답에 명시 (펀딩·호가깊이·지연·시장충격) 코드 주석에 (비공개 저장소)
시세 신선도 ageSeconds 로 공개 (제 호출 때 32초) quote_delay_s: 0 · 체결에 quote_source·quote_scope

총 비용은 거의 같고 차이는 그걸 사용자가 볼 수 있느냐입니다. 슬리피지 모형은 weltiq 도 있는데 응답에 안 실립니다. 다만 저쪽 모형의 실제 bp 숫자도 응답에만 있고 공개 코드에는 "백엔드가 진실의 원천"이라고만 적혀 있어, 둘 다 결국 "만든 쪽을 믿어라"입니다.

5-5. 중지 조건과 기록

중지 조건은 weltiq 쪽에서 게이트만 확인했고 발동은 못 봤습니다. 중지 조건 없이 전략 컨테이너를 만들려 하면 스키마 단계에서 막힙니다.

$ POST /v1/slots {…, "symbol":"BTCUSDT","tf":"1m","balance":"200"}   ← 중지 조건 없이
HTTP 422 {"detail":[{"type":"missing","loc":["body","stop_max_loss"],"msg":"Field required"},
                    {"type":"missing","loc":["body","stop_after_hours"],"msg":"Field required"}]}

손실 한도와 기한을 안 적으면 컨테이너라는 게 존재할 수 없습니다. 그래서 아주 좁게 걸고 띄웠습니다 — 손실 0.30 USDT, 1시간.

weltiq 상주 전략 컨테이너 목록 ↑ weltiq 상주 슬롯 목록. 맨 윗줄이 이번에 띄운 컨테이너입니다 — Status running 인데 Position 은 —. 오른쪽 Auto-stop −0.30 · until 9/22, 03:25 AM 이 필수로 걸린 테두리입니다. 화면 설명이 이걸 그대로 적어 둡니다: "A running slot holds no position until its entry condition is met"

그런데 발동은 못 봤습니다. 12분 동안 1분봉을 받으며 돌았는데 진입 조건이 안 떴습니다(stage: conditions · reason: pine_hold). 포지션이 없으니 손실 한도가 걸릴 일도 없습니다 — 손실 한도가 실제로 끊는 장면은 이 글에서 못 보여 드립니다. 내릴 때는 정지가 즉시가 아니라 stopping 을 거쳤고, 보유분 청산이 확인될 때까지 보호를 유지한다고 응답이 적어 줬습니다.

저쪽은요? 읽기만 했으니 발동시켜 볼 수 없었지만 계약서에서 확인한 것이 있습니다 — 현물 주문 스키마(SpotOrderRequest)에 손절 필드가 아예 없고, 선물(FuturesOpenRequest)의 stopLossPrice 는 선택입니다. 즉 저쪽에서는 중지 조건 없이 주문이 나갑니다.

CoinRithm weltiq
기록 단위 호출 하나마다 (조회 포함) 주문·체결·상태전이·저널
지연(latency) latencyMs 로 기록 없음 (백테스트 소요시간만)
추적 메타 runId·decisionId·strategyLabel·confidence·rationaleSummary 근거 문장 · 전략 문서 해시 · 계보 해시 · 실험 해시
감사 지표 runTraceCoverage·decisionTraceCoverage·quoteBeforeTradeRate 없음
무결성 결정마다 contentHash · 성적표마다 contentHash 전략 문서 해시 · 실험 해시
내보내기 export_agent_ledger (최대 1,000행) · export_run_evidence slot_export (기본 20,000행, 수수료 리컨실리에이션 포함)
공개 여부 성적표·결정 기록이 로그인 없이 공개 아무것도 공개 안 함

weltiq 가 이기는 칸 — 내보내기 분량(20,000 대 1,000), 수수료 리컨실리에이션, 전략 문서 해시로 백테스트·페이퍼를 꿰는 계보. 지는 칸이 셋입니다. ① 지연이 주문 경로에 없습니다. ② 읽기마다 "이 결정이 볼 수 있었던 데이터"를 증거화하지 않습니다 — 확정 봉으로 구조적으로 막지만 결정 단위로 남기지는 않습니다. ③ 공개 표면이 없습니다. 이게 제일 크고, 다음 절 이야기입니다.


6. 써 보니 — 그리고 왜 저쪽은 순위표를 걸고 이쪽은 안 거는가

이 글을 쓰는 이유가 이 절입니다. CoinRithm 첫 화면의 Agent Arena 는 에이전트들을 수익률로 줄 세운 공개 순위표이고 지금 1위는 Leverage Leo, +1,527 mUSD 입니다. weltiq 의 사업 문서에는 "정직한 모의가 브랜드다: 수익률 리더보드·낙관 체결·카피 트레이딩 금지" 라고 적혀 있습니다. 같은 재료로 정반대 결론에 갔습니다.

Agent Arena 순위표 ↑ Agent Arena 순위표. 가운데 표가 실현 손익 순이고, 오른쪽 LIVE REASONING 은 에이전트들이 방금 무슨 판단을 했는지를 확률과 함께 실시간으로 흘려보냅니다 — "BTC is in a mild uptrend but shows no fresh high and RSI is only 53.5 · 55% · 30 minutes ago". 오른쪽 아래 RECENTLY ACTIVE 를 보십시오: 최근 활동 넷이 전부 빨간 마이너스입니다

6-1. 저쪽이 옳을 수 있는 이유 — 다섯

제가 순위표를 얕보고 들어갔다가 생각을 고쳤습니다.

하나 — 하이라이트 릴이 아닙니다. 순위표 4페이지를 전부 받아 세어 봤습니다.

등재된 에이전트 플러스 마이너스 중앙값 최악 38명 합계 평균 승률
38 10 28 −152.245 −19,187.16 −72,018.64 36.2%

등재된 에이전트의 4분의 3이 돈을 잃고 있고, 그게 그대로 보입니다. −19,187 짜리도 순위표에 그냥 있습니다. 감추려면 얼마든지 감출 수 있는데요.

Agent Arena 상단 ↑ Agent Arena 상단. 띠의 다섯 칸 중 AVG WIN RATE 36% 를 보십시오 — 순위표를 만든 쪽이 "여기 있는 에이전트들은 평균적으로 열 번에 네 번도 못 맞힌다"를 첫 화면에 적어 둔 것입니다. 아래 LIVE FLOOR 에 흐르는 아홉 줄 중 일곱 줄이 lost 이고 빨간 숫자가 붙어 있습니다. 각 줄에 에이전트가 그때 왜 그랬는지가 자기 말로 달려 있습니다 — "시장은 46% 로 값을 매겼지만 나는 55% 로 본다"

둘 — 운을 깎는 장치가 실제로 달려 있습니다. 순위 계약이 응답에 통째로 실려 옵니다.

"contract": {"version": "arena-ranking-v1",
  "ranking": {"listingMinimumDecidedTrades": 0,
              "qualificationDecidedTrades": 5,
              "positiveScore": "wilson_95_lower_bound_x_realized_pnl",
              "nonPositiveScore": "realized_pnl",
              "unrealizedPnlAffectsRank": false},
  "presentation": {"smallSampleBelowDecidedTrades": 20},
  "evidence": {"provesCoinrithmPaperExecutionRecords": true,
               "modelIdentity": "self_reported",
               "hiddenModelReasoningVerified": false}}

플러스 손익에는 승률의 윌슨 95% 신뢰하한을 곱합니다 — 표본이 적으면 점수가 깎입니다. 결정된 거래 5건 미만은 자격 미달로 밀리고, 20건 미만은 소표본 경고가 붙고, 미실현 손익은 순위에 안 넣습니다. 그리고 작동합니다 — 3위 a60-etuateautahdfgre(+342.70)가 4위 a99-x3-es(+346.88)보다 위에 있고, 29위 a30-mycelium-pm 은 +48.94 로 플러스인데 거래가 1건뿐이라 −19,187 짜리보다 아래입니다.

셋 — 1위를 열면 1위를 반박하는 숫자가 나옵니다.

1위 Leverage Leo 상세 ↑ 1위 Leverage Leo 상세 — 로그인 없이 열립니다. 위쪽 띠에 REALIZED PNL +1,527 옆에 UNREALIZED −508, MAX DRAWDOWN −7,057 이 나란히 있습니다. 가운데 Verified Scorecard 오른쪽 라벨을 보십시오 — "Reproducible · skill over raw PnL". 그리고 파란 상자 FORECAST SKILL 의 SKILL VS MARKET −13% — 1위 에이전트가 자기가 산 시장 가격보다 못 맞혔다는 뜻입니다. 왼쪽 아래 검은 창은 스킵까지 포함한 결정 로그이고, Rejects 2126 처럼 거부당한 횟수도 그대로 적혀 있습니다

"metrics": {"realized_pnl_musd": 1527.160209, "trade_count": 315,
            "win_rate": 0.374603, "profit_factor": 1.07386,
            "sharpe": 0.008449, "deflated_sharpe": 0.561616,
            "max_drawdown_musd": 8533.321563, "calibration_error": 0.154098}
"forecastSkill": {"decidedCount": 61, "forecastedCount": 52,
                  "agentBrier": 0.277579, "marketBrier": 0.246012,
                  "brierSkillVsMarket": -0.128316}

1위 에이전트의 샤프는 0.0084 이고 시장 대비 예측 스킬은 −0.128 입니다. 순위표를 만든 회사가 자기 1위에 대해 이 숫자를 공개합니다 — 수익률 자랑이 목적이었다면 절대 안 실을 숫자입니다.

넷 — 결정 하나하나가 공개입니다. /api/arena/decisions 가 해결된 예측시장 거래를 이렇게 돌려줍니다.

{"agent":"a39-my-contrarian-carlbgjbb","agentModel":"Llama 3.1 8B",
 "question":"Bitcoin price on September 21?","chosenOutcome":"86,000-88,000",
 "predictedProbability":38,"agentForecastProbability":65,"edgePoints":27,
 "stakeMusd":25,"result":"lost","pnlMusd":-25,"brier":0.1444,"agentBrier":0.4225,
 "entryContext":{"marketAsOf":"2026-09-21T15:26:40.142Z","chosenProbability":38},
 "contentHash":"8cee806914afe42a63eea3aeb483f564fb181faef194292b5a0ec2a162a9395c"}

에이전트가 "65% 확률"이라고 말한 것과 시장이 38% 로 매긴 것이 둘 다 남아 있고, 결과는 졌습니다. 진입 시점의 시장(marketAsOf)이 얼어붙어 있어 사후에 "그때 이랬으니까"를 할 수 없습니다. 룩어헤드 방지를 결정 단위로 증거화한 것이고 weltiq 에 정확한 대응물이 없습니다. 데이터셋 설명도 스스로 함정을 적습니다 — "다중 결과 Brier 는 교차 비교가 안 되니 절대 이걸로 에이전트를 줄 세우지 마라."

다섯 — 안 보이면 증거가 안 됩니다. 무인 실행이 진짜로 돌고 있다는 걸 보여 줄 표면이 순위표 말고 뭐가 있습니까. 38명 중 3명이 지금 살아 있고, 누적 13,573건의 결정이 화면에서 흘러갑니다. weltiq 에는 그런 화면이 없습니다.

6-2. 이쪽이 옳을 수 있는 이유 — 다섯

위 다섯을 다 인정하고도 남는 게 있습니다.

하나 — 첫 화면에 남는 건 결국 한 줄입니다. 위의 모든 정교함은 클릭 두 번 안쪽에 있고 첫 화면에 박히는 건 +1,527, 그 옆칸의 −508(미실현)은 순위에 안 들어갑니다. 계좌 총액으로 보면 Leo 는 51,019 — 실제로 번 건 +1,019 인데 순위표 숫자는 +1,527 입니다. 정직하지 않다는 게 아니라(계약에 적어 놨으니까요) 실현만으로 줄 세우면 이긴 포지션은 끊고 진 포지션은 안고 있는 쪽이 유리해진다는 구조가 남습니다.

둘 — 윌슨 하한은 승률의 오차를 깎지 손익의 꼬리를 못 깎습니다.

실현 손익 거래 수 승률
현물 +77.10 1 100%
선물 −3,971.32 253 37.2%
예측시장 +5,421.38 104 37.7%
합계 +1,527.16 358 37.5%

선물에서 3,971 을 잃고 예측시장에서 5,421 을 벌어 1위가 됐습니다. 단일 최고 거래가 +8,083.94 — 최종 손익 +1,527 의 다섯 배가 넘는 한 판이 있었다는 뜻입니다. 윌슨 하한은 "이 승률이 표본 탓인가"를 묻는데 승률 37.5%·315건이면 표본은 충분하고, 손익을 만든 건 승률이 아니라 꼬리 한 개입니다. 저쪽도 알아서 deflated_sharpe 를 같이 싣겠지만 순위는 여전히 손익 순입니다.

셋 — 이 순위표가 재는 것의 상당 부분은 "같은 전략을 여러 번 돌렸을 때의 폭"입니다.

CoinRithm Studio ↑ CoinRithm Studio — 로그인 없이 여기까지 보입니다. 시작 캐릭터 다섯 이 전부입니다: Momentum Mia · Contrarian Carl · Levelheaded Leo · Odds Olivia · Steady Sam. 맨 아래 "Advanced / bring your own agent" 가 자기 모델을 붙이는 입구입니다

순위표의 핸들을 세어 보면 Mia 파생 8(a3-momentum-mia·a73-your-mia·a49-m-mia·a42-mon-mia·a48-mimi·a88-mia·a93-my-mia·a101-my-mia757899) · Contrarian Carl 5 · Olivia 5 · Leo 2 · Sam 2 — 이름 기준으로 38 중 22 가 그 다섯 캐릭터의 파생입니다. (이름만 보고 센 것이고 전략까지 같은지는 확인 못 했습니다.)

LLM 은 같은 입력에도 다르게 답하니 같은 전략을 여러 번 돌리면 결과가 갈립니다. a3-momentum-mia 는 −6,596 이고 a73-your-mia 는 +122 입니다. 이건 두 전략의 우열이 아니라 한 전략의 폭입니다. 그런데 순위표는 이걸 세로로 줄 세우니, 읽는 사람이 폭을 실력으로 읽지 않을 도리가 없습니다. 역설적이게도 정말 좋은 데이터입니다 — 반복 실행 분포야말로 실력을 재는 옳은 방식이니까요. 다만 순위표라는 그릇에 담으면 그 정보가 순위로 읽힙니다.

넷 — 1위는 거의 2주째 거래가 없습니다. API 값은 "lastTradeAt": "2026-09-09T00:03:31.323Z" — 관측일 기준 13일 전입니다. (화면에는 "Last active 17 days ago" 라고 적혀 있어 둘이 안 맞습니다. 어느 쪽이 맞는지는 확인 못 했고, 둘 다 "2주 안팎"인 점은 같습니다.) 순위 창은 3개월이니 3개월 창의 1위는 지금 상태가 아닙니다. 순위표를 본 사람이 복제(Deploy a copy - free 버튼이 상세 화면에 있습니다)하면 그가 복제하는 건 2주 전에 멈춘 무언가입니다.

다섯 — 손익으로 줄 세우면 분산이 큰 쪽이 상단에 옵니다. 38명 중 30명이 선물을 씁니다(현물은 5명). 선물 레버리지는 최대 20배고 금액 상한이 없으니, 손익 절대액으로 줄 세우는 판에서 위로 가는 가장 빠른 길은 크게 거는 것입니다. 1위 이름이 Leverage Leo 입니다. Studio 원본 캐릭터 설명은 "Levelheaded Leo — patient, picks clean setups, skips the chop" 이고, 누군가 그 캐릭터를 포크해 Leverage Leo 로 이름을 바꿨으며, 그게 1위입니다.

6-3. 그래서 weltiq 가 지는 것

여기까지 쓰면 이쪽이 이긴 것처럼 보이는데 안 그렇습니다. weltiq 의 사업 문서는 "정직한 모의가 브랜드다" 라고 씁니다. 그런데 그 정직을 볼 수 있는 표면이 없습니다.

CoinRithm weltiq
1위의 실제 거래 기록 로그인 없이 열림 해당 없음 (공개 안 함)
1위의 샤프·최대낙폭·예측 스킬 공개 해당 없음
결정 단위 기록 + 해시 공개 API 비공개
체결 비용 모형 수치 응답에 공개 비공개
체결 엔진 코드 비공개 비공개
방법론 문서 /en/methodology 공개 내부 문서

오른쪽 열이 거의 비어 있습니다. 이쪽 기록이 더 정확할 수는 있어도 그걸 확인하려면 weltiq 를 믿어야 하고, 저쪽 기록은 URL 하나면 됩니다. 순위표를 안 만드는 것과 아무것도 공개하지 않는 것은 다른 일입니다. weltiq 는 전자를 정하고 후자를 하고 있습니다. 제가 이 글을 쓰면서 제일 불편했던 대목이고, 그대로 적어 둡니다.

순위표를 거는 쪽 안 거는 쪽
얻는 것 실행이 진짜 돈다는 증거 · 발견 · 동기 · 비교 가능성 폭을 실력으로 오독시키지 않음 · 위험 감수를 장려하지 않음
잃는 것 첫 화면의 한 줄이 나머지를 덮음 · 손익 순위가 레버리지를 부름 · 멈춘 에이전트도 1위로 남음 증거를 보일 자리가 없음

제 결론은 "어느 쪽이 옳다"가 아닙니다. 순위표의 문제는 데이터가 아니라 그릇입니다. CoinRithm 이 담은 데이터는 대부분 정직하고 일부는 이쪽보다 낫지만, 세로로 줄 세운 표라는 그릇은 그 데이터가 아무리 정직해도 한 줄로 읽힙니다. 그릇을 바꾸는 건 가능합니다 — 같은 데이터를 "같은 전략 여덟 번의 분포"로 가로로 놓으면 순위가 아니라 폭이 됩니다. 저쪽 순위표에 이미 그 데이터가 다 들어 있습니다.

6-4. 장점과 단점

장점 — 로그인 벽이 한 군데뿐입니다(순위표도 1위 성적표도 예측시장 집계도 그냥 열립니다) · OpenAPI 원본이 문서입니다(사람용 문서와 기계용 계약이 갈라질 일이 없습니다) · 못 하는 것을 응답에 적습니다(fundingMode: not_modeled, hiddenModelReasoningVerified: false, modelIdentity: self_reported) · 예측시장 크로스-venue 집계는 이 바닥에서 본 적이 없습니다(12개 거래소 48,899개 시장, 거래소별 보정오차까지).

단점 — 주문에 테두리가 없습니다(현물엔 손절 필드 자체가 없고 선물 손절은 선택이며 금액 상한도 없이 레버리지 20배까지 열려 있습니다) · API 문서 페이지가 404 입니다(스키마 원본이 있다는 걸 첫 화면에서 알기 어렵습니다) · 발급 기본값이 전체 스코프입니다(안내는 읽기 전용부터 권하는데 받은 키는 네 스코프가 다 켜져 있었습니다) · 순위 계약은 정교한데 첫 화면은 숫자 하나입니다(6-2 의 다섯 가지).

6-5. 이 글이 말해 주지 않는 것


7. 다음 행동

다음은 9편 InvestSkill 입니다. CoinRithm 이 "계좌를 준다"면 InvestSkill 은 "판단을 준다" 쪽이고, 이 연재에서 붙이는 비용이 가장 낮은 축에 있습니다 — 출력 규격이 표준화돼 있어 결론을 규칙으로 옮기는 단계가 거의 기계적입니다. 이번 편이 정면으로 겹치는 것과 비교한 글이었다면 다음 편은 비어 있는 칸에 끼워 넣는 글입니다.

weltiq 준비 — 3줄 1. 가입: {{CTA_URL}} 2. 마이 → 연결 관리에서 API 키 발급 3. claude mcp add weltiq --header "Authorization: Bearer <키>" https://weltiq.ai/mcp

위 5절의 선택표에서 오른쪽 칸(손실 한도 강제·수수료 갈아 끼우기·전략 문서 상주)이 필요하실 때 보실 자리입니다.


모든 호출·출력·숫자는 2026-09-22 에 실제로 돌려서 얻었습니다. CoinRithm 쪽에는 읽기만 했고, weltiq 쪽 주문은 전부 모의입니다. 어떤 매매 의견도 아닙니다. 원문 응답과 못 잰 것 목록은 검증 기록에 있습니다.

토니 브라운 · 2026-09-24