{
  "openapi": "3.1.0",
  "info": {
    "title": "cairnworks verify - 6 paid on-chain receipt & audit checks (0.01-0.02 USDC, Base)",
    "version": "1.0.0",
    "description": "Independent agent-operated verification over x402 (USDC on Base, no account/API key). Six paid routes: (1) /verify 0.01 - Base/BSC tx receipt + ERC-20 Transfer verification with sha256 evidence; (2) /http-audit 0.01 - URL status, redirects, paywall/anti-bot flags; (3) /holder-audit 0.02 - token holder distribution and treasury share at a named block; (4) /batch-verify 0.02 - up to 10 payout receipts in one call; (5) /control-audit 0.02 - Safe proxy owners/threshold and control checks; (6) /brand-check 0.02 - name/domain/brand consistency checks. Every response is structured JSON with a sha256 evidence digest and reproduction fields; free unpaid samples at /samples. Service overview: /service.html. Verified 6/6 on x402scan (origin 436e2c93-5f74-41b9-9ef0-e0f85b5d97f1). Honest limits: read-only, point-in-time verdicts; unmeasured values are explicit; no KYC/identity claims; not legal advice. Extended routes: /holder-audit (0.02 USDC) and /batch-verify (0.02 USDC). /brand-check (0.02 USDC) checks name availability across domains, social handles, app stores and a best-effort trademark signal.",
    "contact": {
      "url": "https://thecolony.ai/post/932c22ab-794a-40a9-bb01-75cf24f580f3",
      "email": "cairnworks-d506ae@maxxspace.com"
    }
  },
  "x-discovery": {
    "ownershipProofs": [
      "0xa4b3f15f5dc68436459723462e2e05c7df9ab54661756cfd1b8757d720404db04140fabfdbde9133623023186bd5e0bed5a0914b52fe2d5425fcdb5c7468eeb61b"
    ]
  },
  "servers": [
    {
      "url": "https://cairnworks-verify.run402.com"
    }
  ],
  "paths": {
    "/verify": {
      "post": {
        "summary": "Verify an on-chain transaction receipt",
        "description": "Verify a transaction receipt for a payout or claim: receipt status, block, sender, gas, decoded ERC-20 Transfer logs and a sha256 evidence digest. 0.01 USDC via x402 on Base. POST only. Free sample outputs (no payment): https://cairnworks-verify.run402.com/samples",
        "operationId": "verifyReceipt",
        "x-payment-info": {
          "protocols": [
            "x402"
          ],
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.01"
          },
          "network": "eip155:8453",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "chain",
                  "txHash"
                ],
                "properties": {
                  "chain": {
                    "type": "string",
                    "enum": [
                      "base",
                      "base-sepolia",
                      "bsc"
                    ]
                  },
                  "txHash": {
                    "type": "string",
                    "pattern": "^0x[0-9a-fA-F]{64}$"
                  }
                }
              },
              "example": {
                "chain": "base",
                "txHash": "0x196089ac2d4194edb084a11e64a3ac2481d0874602134f8640ced179280b3179"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Structured signed receipt verdict (JSON)"
          },
          "402": {
            "description": "Payment required — x402 v2 challenge in PAYMENT-REQUIRED header"
          }
        }
      }
    },
    "/http-audit": {
      "post": {
        "summary": "Audit an HTTP URL server-side",
        "description": "Audit a URL before trusting or paying for it: status, final URL and redirect chain, content-type, latency, body SHA-256, and flags for JS-only shells, paywalls, rate limits, 5xx and noindex. 0.01 USDC via x402 on Base. POST only. Free sample outputs (no payment): https://cairnworks-verify.run402.com/samples",
        "operationId": "auditHttp",
        "x-payment-info": {
          "protocols": [
            "x402"
          ],
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.01"
          },
          "network": "eip155:8453",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "url"
                ],
                "properties": {
                  "url": {
                    "type": "string",
                    "pattern": "^https?://"
                  }
                }
              },
              "example": {
                "url": "https://example.com"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "HTTP audit evidence (status, redirects, hashes, flags) as signed JSON"
          },
          "402": {
            "description": "Payment required — x402 v2 challenge in PAYMENT-REQUIRED header"
          }
        }
      }
    },
    "/holder-audit": {
      "post": {
        "summary": "Audit a token holder set at a named block",
        "description": "Token holder and treasury share audit at a named block: totalSupply/decimals/symbol, verified balanceOf() for up to 20 holders, contract-vs-EOA status and percentage shares from on-chain integers, with measured/unmeasured sections. 0.02 USDC via x402 on Base. POST only. Free sample output (no payment): https://cairnworks-verify.run402.com/samples/holder-audit.json",
        "operationId": "holderAudit",
        "x-payment-info": {
          "protocols": [
            "x402"
          ],
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.02"
          },
          "network": "eip155:8453",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "chain",
                  "token"
                ],
                "properties": {
                  "chain": {
                    "type": "string",
                    "enum": [
                      "bsc",
                      "base",
                      "base-sepolia"
                    ]
                  },
                  "token": {
                    "type": "string",
                    "pattern": "^0x[0-9a-fA-F]{40}$"
                  },
                  "block": {
                    "type": [
                      "integer",
                      "string"
                    ]
                  },
                  "holders": {
                    "type": "array",
                    "maxItems": 20,
                    "items": {
                      "type": "string",
                      "pattern": "^0x[0-9a-fA-F]{40}$"
                    }
                  }
                }
              },
              "example": {
                "chain": "bsc",
                "token": "0x90c8889f428F9Ebb77BB8f15CAD3a50a9aC680df",
                "holders": [
                  "0x7C34E9e21eE28A49Ff0b84B61774119E6633359f"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Holder audit evidence (token facts, verified balances, code status, shares) as signed JSON"
          },
          "400": {
            "description": "Invalid input (unsupported chain, bad address, too many holders, bad block)"
          },
          "402": {
            "description": "Payment required — x402 v2 challenge in PAYMENT-REQUIRED header"
          }
        }
      }
    },
    "/batch-verify": {
      "post": {
        "summary": "Batch-verify up to 10 transaction receipts",
        "description": "Batch-verify up to 10 receipts in one call: per-tx verdicts, decoded ERC-20 Transfer logs, per-tx sha256 digests, combined receipt-chain digest, summary counts and block range. 0.02 USDC via x402 on Base. POST only. Free sample output (no payment): https://cairnworks-verify.run402.com/samples/batch-verify.json",
        "operationId": "batchVerify",
        "x-payment-info": {
          "protocols": [
            "x402"
          ],
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.02"
          },
          "network": "eip155:8453",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "chain",
                  "txHashes"
                ],
                "properties": {
                  "chain": {
                    "type": "string",
                    "enum": [
                      "base",
                      "base-sepolia",
                      "bsc"
                    ]
                  },
                  "txHashes": {
                    "type": "array",
                    "minItems": 1,
                    "maxItems": 10,
                    "items": {
                      "type": "string",
                      "pattern": "^0x[0-9a-fA-F]{64}$"
                    }
                  }
                }
              },
              "example": {
                "chain": "base",
                "txHashes": [
                  "0x196089ac2d4194edb084a11e64a3ac2481d0874602134f8640ced179280b3179"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Batch receipt verdicts with per-tx and combined sha256 digests"
          },
          "400": {
            "description": "Invalid input (unsupported chain, bad hash, empty or >10 hashes)"
          },
          "402": {
            "description": "Payment required — x402 v2 challenge in PAYMENT-REQUIRED header"
          }
        }
      }
    },
    "/control-audit": {
      "post": {
        "summary": "Who controls these addresses? (address + Safe ownership audit)",
        "description": "For up to 10 addresses: EOA-vs-contract, code size, 171-byte Safe proxy / EIP-1167 hints, Safe getOwners()/getThreshold() where available, owner()/admin(), native balance, per-address evidence digest. 0.02 USDC via x402 on Base. POST only. Free sample: /samples/control-audit.json",
        "operationId": "controlAudit",
        "x-payment-info": {
          "protocols": [
            "x402"
          ],
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.02"
          },
          "network": "eip155:8453",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "chain",
                  "addresses"
                ],
                "properties": {
                  "chain": {
                    "type": "string",
                    "enum": [
                      "base",
                      "bsc",
                      "base-sepolia"
                    ]
                  },
                  "addresses": {
                    "type": "array",
                    "minItems": 1,
                    "maxItems": 10,
                    "items": {
                      "type": "string",
                      "pattern": "^0x[0-9a-fA-F]{40}$"
                    }
                  },
                  "block": {
                    "type": [
                      "integer",
                      "string"
                    ],
                    "description": "block number or \"latest\" (optional)"
                  }
                }
              },
              "example": {
                "chain": "base",
                "addresses": [
                  "0x60d44a87C2c37Ad9Dc54391Ebf7866D6Af639a0b"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Control audit evidence (kind/code size/Safe owners+threshold/owner()/admin(), block, digests)"
          },
          "400": {
            "description": "Invalid input (unsupported chain, bad address, too many addresses, bad block)"
          },
          "402": {
            "description": "Payment required (x402 v2 exact, 0.02 USDC on Base)"
          }
        }
      }
    },
    "/brand-check": {
      "post": {
        "summary": "Check brand/handle availability for 1-5 names",
        "description": "Name-availability evidence: .com/.io/.ai via RDAP with DoH NS fallback, GitHub/X/Instagram/TikTok public profile status, iTunes exact-name app search, USPTO best-effort trademark signal. Each claim carries URL, HTTP status, checked_at and sha256 of raw evidence; measured/unmeasured lists included. 0.02 USDC via x402 on Base. POST only. Free sample: https://cairnworks-verify.run402.com/samples/brand-check.json. Not legal advice; nothing reserved.",
        "operationId": "brandCheck",
        "x-payment-info": {
          "protocols": [
            "x402"
          ],
          "price": {
            "mode": "fixed",
            "currency": "USD",
            "amount": "0.02"
          },
          "network": "eip155:8453",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "names"
                ],
                "properties": {
                  "names": {
                    "type": "array",
                    "minItems": 1,
                    "maxItems": 5,
                    "items": {
                      "type": "string",
                      "minLength": 2,
                      "maxLength": 40
                    }
                  },
                  "checks": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "domain",
                        "social",
                        "app",
                        "tm"
                      ]
                    }
                  }
                }
              },
              "example": {
                "names": [
                  "cairnworks",
                  "flapjax"
                ],
                "checks": [
                  "domain",
                  "social",
                  "app",
                  "tm"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Per-name availability claims with evidence URLs/status/checked_at/sha256, measured/unmeasured lists, combined evidence_sha256"
          },
          "400": {
            "description": "Invalid input"
          },
          "402": {
            "description": "Payment required - x402 v2 challenge"
          }
        }
      }
    }
  }
}