openapi: 3.2.0 info: title: anchor-x402 Roll 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: Roll paths: /v1/roll: post: summary: Generate verifiable dice rolls with a signed result operationId: roll_v1_roll_post requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/RollRequest' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/RollResponse' '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: '0.001000' protocols: - x402: {} tags: - Roll components: schemas: HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError 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 RollResponse: properties: range: items: type: integer type: array title: Range count: type: integer title: Count commitment: anyOf: - type: string - type: 'null' title: Commitment label: anyOf: - type: string - type: 'null' title: Label result: items: type: integer type: array title: Result input_hash: type: string title: Input Hash result_hash: type: string title: Result Hash signature: type: string title: Signature signer: type: string title: Signer scheme: type: string const: eip191 title: Scheme domain: type: string const: anchor-x402/roll/v1 title: Domain type: object required: - range - count - commitment - label - result - input_hash - result_hash - signature - signer - scheme - domain title: RollResponse RollRequest: properties: low: type: integer title: Low description: Inclusive low bound of the integer range. high: type: integer title: High description: Inclusive high bound. Must be >= low. count: type: integer maximum: 100.0 minimum: 1.0 title: Count description: How many integers to sample. 1-100. default: 1 commitment: anyOf: - type: string - type: 'null' title: Commitment description: Optional 32-byte hex pre-commitment from the caller. Included in the signed payload, so the server cannot have chosen the result after seeing the caller's downstream intent. label: anyOf: - type: string maxLength: 200 - type: 'null' title: Label description: Optional caller-defined tag (e.g. 'treasure_drop_42'). Included verbatim in the signed payload. type: object required: - low - high title: RollRequest