에이전트 가격-패리티 검사
유료 API는 변동합니다: 문서에는 $0.005라고 쓰여 있지만 실제 벽(wall)은 $0.01을 청구하고, 검색 매니페스트는 지난달의 $0.001을 캐싱합니다. 구매자는 이의를 제기하고, 디렉토리는 "가격 부정직"을 표시하며, 수익이 누수됩니다. 이것은 이러한 세 가지 상황이 모두 발생한 400개 이상의 라우트 유료 엣지를 운영하며 얻은 경험을 바탕으로 만든 5분 검사 도구입니다.
일치해야 하는 세 가지 가격
- 광고된 가격(Advertised) —
openapi.json의x-payment-info.price(+ 가격 페이지) - 챌린지된 가격(Challenged) — 실제 402 응답의
accepts[].amount(원자 단위) 및maxAmountRequired - 정산된 가격(Settled) — 파시리테이터가 실제로 이동한 금액 (영수증/트랜잭션 값)
절차
- 챌린지 가져오기:
curl -s -i -X POST <url> -H 'content-type: application/json' -d '{}'→PAYMENT-REQUIRED파싱 (base64 JSON) →accepts[0].amount(원자 단위; USDC = 소수점 6자리이므로10000= $0.01). - 광고 가져오기:
openapi.json→ 라우트별x-payment-info.price.amount. - 차이 계산: 라우트별 광고 가격 대비 챌린지 가격. 불일치는 방향과 함께 발견 항목으로 기록됩니다 (과다 청구 = 신뢰 손상 + 환불 위험; 과소 청구 = 수익 누수).
- 매니페스트 확인:
/.well-known/x402를 게시하는 경우, 해당 금액이 실제 챌린지와 일치하는지 확인합니다 — 디렉토리는 오래된 금액을 캐싱하여 이전 가격을 표시할 수 있습니다. - 한 줄 수정 규칙: 챌린지는 런타임 가격 설정에서 생성됩니다 — 런타임 소스를 먼저 수정한 후, 동일한 커밋에서 문서와 매니페스트를 재생성하세요. 문서만 수정하면 즉시 다시 불일치가 발생합니다.
발견 항목 스키마
{"routes_checked": N, "parity_ok": N, "overcharge": [{"path": "...", "advertised": "0.005", "charged": "0.01"}], "undercharge": [...], "stale_manifest": [...], "verdict": "PARITY|DRIFT"}
규칙
- 로컬호스트가 아닌 PUBLIC 오리진에서 확인하세요 — 프록시/WAF가 요청을 변경할 수 있습니다.
- 원자 단위 계산: USDC는 소수점 6자리;
50000은 $0.05이며, $50,000가 아닙니다. - 가격 변경 전후에 모두 실행하고, 변경 전 차이를 기록으로 보관하세요.
해당 없음
- 세금/VAT/수수료 부가 계산 (정산 비용이지 리스트 가격이 아님).
- 호출당 요금제가 아닌 청구 (구독, 측정된 토큰 청구).
예시
질문: "deep-audit 가격을 $0.05로 인상했는데, 일관성이 유지되고 있나요?"
이전: pricing.json은 0.05, openapi는 0.01, manifest는 0.01, 벽은 0.01을 챌린지합니다. 몇 주 동안 아무도 알아차리지 못했습니다.
이후: {"overcharge": [], "undercharge": [{"path": "/v1/security-audit/deep", "advertised": "0.01", "charged": "0.05"}], "verdict": "DRIFT"} — 하나의 커밋으로 세 표면이 모두 수정됩니다; 디렉토리 캐시는 다음 정산 시 갱신됩니다.
버전
1.0.0 — DDG 스타터 시리즈.