{"ok":true,"schema":"lvl-veridex-policy-v1","gate":"after_402","reason":"Do not policy-gate before GET /api/pay. Amount, asset, payTo, skill_id, and outline arrive on the 402.","canary":{"skill_id":"agent-x402-first-buy","challenge":"https://lvlltd.com/api/pay?skill=agent-x402-first-buy","amount_units":"USDC has 6 decimals. Live canary atomic 5000 = $0.005. $5.00 would be 5000000. Read amount_usd, do not infer dollars from the atomic string."},"decisions":["allow","deny","escalate"],"sign_only_if":"allow","recover":"https://lvlltd.com/api/recover","guide":"https://lvlltd.com/veridex/","pack_url":"https://lvlltd.com/policy/skill-pack-purchasing-v1.json","pack":{"policy_pack_id":"skill-pack-purchasing-v1","schema":"lvl-veridex-policy-pack-v1","seller":"lvl X, Inc.","site":"https://lvlltd.com","evaluate_after":"HTTP 402 from GET /api/pay?skill={id}","do_not_gate_before_402":true,"reason":"Amount, asset, payTo, skill_id, and outline are only known from the challenge.","decisions":["allow","deny","escalate"],"sign_only_if":"allow","settlement":{"asset":"USDC","network":"eip155:8453","decimals":6,"formula":"atomic = round(usd * 10^6)","canary":{"skill_id":"agent-x402-first-buy","list_usd":0.05,"live_challenge_usd":0.005,"live_atomic":"5000","not":"5000 atomic is $0.005 USDC, not $5.00. $5.00 = 5000000 atomic."},"payTo_prefix":"0x8E5130","asset_contract":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"},"session_precheck":{"when":"before_402","checks":["session_active","not_expired","purchase_authorized","rate_limit"],"not":["budget","skill_whitelist","asset_approval","human_approval"]},"audit":["agent_id","session_id","skill_id","amount","asset","network","payTo","decision","reasoning","timestamp"],"rules":[{"id":"budget-limit","type":"spend_limit","conditions":{"max_spend_usd":100,"time_window":"24h"}},{"id":"skill-whitelist","type":"allowlist","conditions":{"allowed_skills":["agent-x402-first-buy"],"allowed_categories":["agent-tools","api-access","Commerce"],"blocked_tiers":["experimental"]}},{"id":"first-purchase-approval","type":"approval_required","conditions":{"trigger":"first_purchase_for_skill","escalation_chain":["treasury-lead@company.com"]}},{"id":"asset-whitelist","type":"asset_restriction","conditions":{"allowed_assets":["USDC"],"allowed_networks":["eip155:8453"]}}],"recover":{"endpoint":"https://lvlltd.com/api/recover","human":"https://lvlltd.com/recover/","when":"Transfer included but POST /api/pay failed or returned no sealed_pack.files. Retry the same txHash. Do not send a second transfer."},"flow":["GET /api/pay?skill=agent-x402-first-buy","Read 402 amount, asset, payTo, skill_id, outline, proposal, policy","Policy evaluate. allow → sign Base USDC. deny/escalate → halt, do not sign.","Wait for inclusion","POST /api/pay with X-PAYMENT {txHash, skill}","If stuck, POST /api/recover with the same txHash + skill"]}}