## CAPABILITY: pay-per-call-check-icon-x402 description: Check whether an icon you already have meets real platform rules — W3C maskable safe zone (40%/50% circle), Android adaptive 108dp layer (66dp safe / 18dp margin), or iOS square+opaque+1024px guidance. One image, one target, structured pass/warn/fail/undetermined report. Pure local pixel inspection — no AI, no account. Distinct from icons-from-image, which generates a full icon set from a source image. Paid per call via x402 — no Imagcon account or API key; payment is the authentication. Every successful call charges $0.01 USDC. input: - name: image type: file required: true description: Icon image (PNG/JPEG/WebP), sent as multipart/form-data field "image" OR as JSON field "image_base64" (base64-encoded). - name: target type: string required: true description: Platform check — maskable, android-adaptive, or ios. output: - type: json description: Compliance report with tri-state compliant (true/false/null), per-check outcome (pass/warn/fail/info/undetermined), and image metadata. auth-required: false scope: financial-transaction ### API (paid) method: POST endpoint: https://imagcon.app/routes/x402/check-icon body: image: <> image_base64: <> target: <> response: json: {target, compliant, checks[], image} targets: maskable: Square required. Content bounding circle vs W3C 40% pass / 40-50% warn / >50% fail. android-adaptive: Square required. Content circle vs 30.6% pass / 30.6-33.3% warn (Android 18+66+18=102 gap) / >33.3% fail. Plus info-only adaptive density hint. ios: Square required. Any non-opaque pixel fails. Below 1024px warns only (never hard-fails compliant). Payment mechanics (read before invoking): this endpoint speaks x402 v2 directly over plain HTTP. An unpaid request returns HTTP 402 with a base64-encoded PAYMENT-REQUIRED header. The accepts[] entry specifies scheme "exact", network "eip155:8453" (Base mainnet), asset USDC, amount "10000" (=$0.01, 6 decimals), and a payTo address. Sign EIP-3009 transferWithAuthorization, retry with Payment-Signature header; response is HTTP 200 with the JSON report plus Payment-Response header confirming settlement. ### PAYLOAD SHAPE (language-agnostic) The Payment-Signature header value is base64 JSON with x402Version, payload (signature + authorization), and accepted copied verbatim from accepts[0] in the 402 response. ### EXAMPLE (Python, official x402 SDK) Install: pip install "x402[evm]" requests eth-account ```python import base64 from eth_account import Account from x402 import x402ClientSync from x402.mechanisms.evm.signers import EthAccountSigner from x402.mechanisms.evm.exact import ExactEvmClientScheme from x402.http.clients.requests import x402_requests with open("icon.png", "rb") as f: icon_b64 = base64.b64encode(f.read()).decode() account = Account.from_key("0xYOUR_PRIVATE_KEY") client = x402ClientSync() client.register("eip155:8453", ExactEvmClientScheme(EthAccountSigner(account))) session = x402_requests(client) resp = session.post( "https://imagcon.app/routes/x402/check-icon", json={"image_base64": icon_b64, "target": "maskable"}, ) report = resp.json() print(report["compliant"], report["checks"]) ``` ### WALLET PROFILE (optional — paper plan by default) Successful paid calls may return X-Imagcon-Token and related profile headers per the pay-per-call-icons-from-image blueprint. Send X-Imagcon-Profile: none to skip profile creation.