SettleLab
Assessment board
EXAM 05Account and Agent Payment

Account/Agent Payment 정책 시험

ERC-4337, EIP-7702, Paymaster, x402, session key, agent payment threat model을 평가한다.

출제 목적

사용자 경험을 줄이는 자동화가 권한·지출·가스 정책 리스크를 어떻게 이동시키는지 평가한다.

난이도 정책

  • 핵심은 UserOperation과 Paymaster 정책을 묻는다.
  • 심화는 session key와 agent payment 제한 조건을 코드로 작성하게 한다.

채점 정책

  • 객관식은 sponsor와 user intent의 책임 경계를 구분한다.
  • 코드형은 spending limit, scope, expiry, revocation 신호를 채점한다.
Preview mode

로그인 후 제출 가능

문제, Starter code, 루브릭은 미리 볼 수 있다. 답안 작성과 점수 저장은 로그인 후 제공된다.

객관식핵심3

01Paymaster 정책 실패

Paymaster가 stablecoin checkout gas를 sponsor할 때 가장 먼저 정책으로 제한해야 하는 조합은?

객관식심화3

02Agent payment threat model

에이전트가 사용자 대신 결제를 수행할 때 가장 위험한 설계는?

코드 작성심화9

03Session key 정책 타입 작성

session key spending policy 타입을 작성하라. allowedMethods, merchantAllowlist, maxAmount, dailyLimit, expiresAt, revokedAt을 포함해야 한다.

Starter code
type SessionKeyPolicy = {
  // fields
};

채점 루브릭

  • method scope를 제한한다.
  • merchant allowlist를 둔다.
  • per-payment cap과 daily limit을 분리한다.
  • expiry와 revocation을 표현한다.

자동 채점 신호

  • method scope
  • merchant allowlist
  • max amount
  • daily limit
  • expiry/revocation
코드 작성핵심9

04x402 결제 요청 검증 함수 작성

HTTP 402 기반 결제 서버에서 payment header를 검증하는 validateX402Payment 함수를 작성하라. request, paymentHeader, now를 받아 'ok' | 'wrong_resource' | 'wrong_amount' | 'unsupported_asset' | 'expired' | 'replay' 중 하나를 반환한다. resource/method binding, amount, token, chain, expiry, replay 방지를 포함해야 한다.

Starter code
function validateX402Payment(request, paymentHeader, now) {
  // return status code
}

채점 루브릭

  • resource/method binding을 확인한다.
  • amount, token, chain allowlist를 확인한다.
  • expiry를 확인한다.
  • nonce/paymentId replay를 막는다.
  • 제공된 실행 테스트 케이스를 통과해야 한다.

자동 채점 신호

  • resource binding
  • amount
  • token/chain
  • expiry
  • replay
로그인하고 답안 제출