openapi: 3.2.0 info: title: anchor-x402 Investigate API description: 18 pay-per-call x402 services for AI agents — on-chain anchoring & attestation, wallet/address security screening, Web3 data (tx & calldata decode, ENS, token prices), x402 spend accounting, content analysis, and verifiable randomness. No API keys or accounts; settle per request in USDC on Base or Solana. $0.001–$1.77 per call. version: 0.3.0 x-guidance: Pay-per-call x402 services for AI agents — no API keys or accounts. Each paid route returns HTTP 402 with x402 payment requirements; pay in USDC on Base or Solana (select routes also settle JPYC on Polygon) and retry with the payment header. Prices are $0.001–$1.77 per call. POST routes take a JSON body per each operation's requestBody schema. contact: email: hypeprinter007@gmail.com x-logo: url: https://api.anchor-x402.com/icon.png altText: anchor-x402 tags: - name: Investigate paths: /v1/investigate: post: summary: Create an agent-driven wallet due-diligence investigation description: Accept payment, record job, async-dispatch to private worker. operationId: investigate_dispatch_v1_investigate_post requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/InvestigateRequest' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/InvestigateAcceptedResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' '402': description: Payment Required x-payment-info: price: mode: fixed currency: USD amount: '1.770000' protocols: - x402: {} tags: - Investigate /v1/investigate/status/{job_id}: get: summary: Check an investigation's status and fetch its report description: Poll endpoint — free, no x402 (deliberately omitted from x402_routes). operationId: investigate_status_v1_investigate_status__job_id__get parameters: - name: job_id in: path required: true schema: type: string title: Job Id responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/InvestigateStatusResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' security: [] tags: - Investigate components: schemas: InvestigateRequest: properties: address: type: string title: Address description: EVM 0x... or Solana base58 address to investigate. type: object required: - address title: InvestigateRequest ValidationError: properties: loc: items: anyOf: - type: string - type: integer type: array title: Location msg: type: string title: Message type: type: string title: Error Type input: title: Input ctx: type: object title: Context type: object required: - loc - msg - type title: ValidationError HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError InvestigateAcceptedResponse: properties: job_id: type: string title: Job Id description: Unique job id; poll /v1/investigate/status/{job_id}. status: type: string const: accepted title: Status default: accepted status_url: type: string title: Status Url description: Absolute URL to poll for completion. eta_seconds: type: integer title: Eta Seconds description: Approximate wait until DELIVERED. default: 600 type: object required: - job_id - status_url title: InvestigateAcceptedResponse InvestigateStatusResponse: properties: job_id: type: string title: Job Id status: type: string enum: - DISPATCHING - IN_PROGRESS - DELIVERED - FAILED - UNKNOWN title: Status deliverable: anyOf: - $ref: '#/components/schemas/InvestigateDeliverable' - type: 'null' eta_seconds: anyOf: - type: integer - type: 'null' title: Eta Seconds error: anyOf: - type: string - type: 'null' title: Error refund_tx: anyOf: - type: string - type: 'null' title: Refund Tx description: On-chain USDC refund tx hash (Base) when a FAILED job has been refunded. Auto-refunded for Base USDC payers; Solana/JPYC payers see `refund_pending=manual` and need a follow-up. refund_pending: anyOf: - type: string const: manual - type: 'null' title: Refund Pending type: object required: - job_id - status title: InvestigateStatusResponse InvestigateDeliverable: properties: reportUrl: anyOf: - type: string - type: 'null' title: Reporturl reportJsonUrl: anyOf: - type: string - type: 'null' title: Reportjsonurl verdict: anyOf: - type: string - type: 'null' title: Verdict score: anyOf: - type: number - type: 'null' title: Score signedBy: anyOf: - type: string - type: 'null' title: Signedby signature: anyOf: - type: string - type: 'null' title: Signature merkleRoot: anyOf: - type: string - type: 'null' title: Merkleroot baseAnchorTx: anyOf: - type: string - type: 'null' title: Baseanchortx solanaAnchorTx: anyOf: - type: string - type: 'null' title: Solanaanchortx disclaimer: anyOf: - type: string - type: 'null' title: Disclaimer type: object title: InvestigateDeliverable