The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the 402 LAB listing page.
라이브: https://handsel-mandate-demo.vercel.app (Base 메인넷, 실제 USDC). 지금 파는 상품은 국세청 사업자등록 상태 조회, 호출당 0.02 USDC, x402 Bazaar 등재. 이용 안내.
세 부분으로 되어 있습니다.
demo/ — 공식 x402 SDK로 만든 결제 게이트. 우리 상품(demo/tools/nts.js)을 팔고, 판매자의 기존 API 앞에도 그대로 세울 수 있습니다(demo/upstream.js, Seller Studio 내보내기 + UPSTREAM_SECRET). 402 응답에 Bazaar 발견 메타데이터가 포함됩니다. 운영·배포·확인 절차mcp/ — 402-LAB MCP 서버. "1달러 안에서"라고 위임하면 Claude Desktop·Cursor·크롬 확장이 x402 Bazaar에서 상품을 찾아 예산 안에서만 결제하고 결과만 돌려줍니다. 상한·건당 한도·네트워크·판매자 허용 목록을 서버가 강제합니다. npm run mcp. 설정과 권한 모델빠른 시작: npm ci && npm test, npm run demo(로컬 시뮬레이션, 키 없음), npm run mcp(구매자 지갑).
구매자 MCP 설치 (저장소 없이)
Claude Desktop은 npm run build:mcpb로 만든 dist/402-lab.mcpb를 더블클릭해 설치합니다(키는 설치 화면에서 입력). 레지스트리·Smithery·mcp.so·Cursor 디렉터리·x402 에코시스템 제출 파일과 절차는 docs/directories.md에 있습니다.
첫 성공 기준은 외부 판매자의 도구를 외부 구매자가 실제로 쓰는 것입니다. 지금까지 정산은 내부 지갑 2건이며 구매자 유입이나 매출을 보장하지 않습니다.
아래는 402-LAB의 바탕이 된 온체인 위임 경로입니다. runtime/buyer.js는 고정 판매자 엔드포인트에 연결되고, 이제 Base Sepolia와 별도 Base 메인넷 컨트랙트 아티팩트를 지원합니다. 메인넷 아티팩트는 아직 배포·설치·보안 검토되지 않았으며 공개 라이브 결제 서비스와의 실제 호환성도 확인되지 않았습니다. MCP 구매자 경로와는 별도입니다.
바이브 코딩으로 만든 도구의 상품 설명·호출 예제·가격을 정리하고, x402 연동 설정을 내보내는 로컬 스튜디오를 추가했습니다. node scripts/seller-studio.js 실행 후 http://127.0.0.1:4173을 여세요. 의존성 설치 없이 실행됩니다. 상품 미리보기·예산 제한 모의 구매·JSON 다운로드를 지원합니다. 실제 API 호출·결제·Bazaar 등록·공개 판매는 수행하지 않습니다. 범위와 다음 연동 단계.
사람이 예산·허용 도구·만료를 지정하고 브라우저 에이전트가 그 범위 안에서 모의 구매하는 Chrome MV3 확장 초안입니다.
v0.5: 온체인 제한 권한 + BlockFlow + x402. Coinbase Smart Account에 네트워크별 MandateValidator를 컨트랙트 소유자로 설치합니다. 사람이 승인한 총예산·건당 한도·수령인·만료·에이전트·BlockFlow 바인딩을 체인에 기록하고, 에이전트가 결제 금액을 먼저 예약한 경우에만 해당 EIP-3009 결제를 허용합니다. 메인넷은 allowMainnet: true와 owner CLI의 --confirm-mainnet이 모두 있어야 활성화됩니다.
새 Session 모드에는 소유자 키가 없으며 에이전트는 임의 전송·새 위임 발급을 할 수 없습니다. 회수가 체인에 확정되면 미결제 예약도 무효화됩니다. 영수증은 RPC의 USDC Transfer + AuthorizationUsed nonce와 대조합니다. Sepolia 경로도 공개 체인 설치·정산은 아직 실행하지 않았습니다. 메인넷 포트도 배포·보안 검토 전입니다. 설치·검증 범위를 확인하세요. 이전 full-owner 모드는 기존 설정에서만 남아 있으며 동일한 보안 보장을 제공하지 않습니다.
x402 서명은 예산 예약 전에 DAMBI 호환 사전 정책 게이트를 통과해야 합니다. 에이전트 실행에서는 allow / evaluated / enforcing 판정만 허용합니다.
chrome://extensions → 개발자 모드 → 압축해제된 확장 프로그램 로드 → extension/ 선택.examples/agent-extension/도 압축해제 로드합니다. 그 확장 ID를 Handsel 연결란에 저장한 뒤 새 위임장을 활성화하세요. 데모 확장 팝업에 Handsel 확장 ID를 입력하면 extension-to-extension 메시지로 구매를 요청합니다.
지원 API: status, catalog, purchase (mandateId, requestId, serviceId). 응답은 {ok,result} 또는 {ok:false,error}입니다. 연결된 확장 하나만 접근 가능합니다. 연결 변경은 기존 위임을 회수합니다. 외부 에이전트는 위임 생성·연결 변경·권한 확대를 할 수 없습니다.
브라우저 내장 AI나 Aside류 제품에 자동 연결되는 것은 아닙니다. 해당 제품이 확장 메시지/API 연결을 지원해야 어댑터를 붙일 수 있습니다. 일반 웹페이지에 지출 API를 공개하지 않습니다.
Node 22+에서 npm ci 후 npm test. BlockFlow 통합 테스트까지 실행하려면 BlockFlow 저장소를 ../BlockFlow에 clone하거나 BLOCKFLOW_ROOT=/absolute/path/to/BlockFlow npm test를 사용합니다. 테스트는 실제 BlockFlow 컴파일, Coinbase Smart Account의 EIP-1271 래핑 서명, x402 payload의 AA payer 주소를 확인합니다. Chrome/체인 실제 설치 검증은 아래 체크리스트로 별도 수행합니다.
위임 입력 → BlockFlow 검증·산출물 바인딩 → 사람이 온체인 grant → 에이전트 reserve → EIP-1271 x402 결제 → RPC 영수증 대조 순서입니다. 컴파일러 커밋·작업트리·정책·컨트랙트 바이트코드·소유자 슬롯을 검사하고 불일치하면 차단합니다.
BlockFlow는 워크플로 구조를 검증합니다. 예산 제약은 별도로 작성한 MandateValidator가 집행하며, BlockFlow가 임의 BPMN 전체를 지출 모듈로 자동 변환하는 것은 아닙니다. endpoint와 자연어 목표는 온체인 결제 의미로 강제되지 않습니다.
남은 검증은 실제 Base Sepolia USDC와 facilitator를 이용한 배포·정산, 별도 보안 검토, 사람 지갑 승인 UI입니다. 현재 승인은 로컬 human-only CLI이고 구매마다 예약 가스가 발생합니다. 임의 UserOperation에 대한 session 권한이나 범용 ERC-7579 모듈을 주장하지 않습니다.
References: Chrome Side Panel, Messaging, x402 Bazaar.