Api Endpoint

AgentUtility.ai

Resolves a d20 ability check, skill check, attack roll, or saving throw for tabletop RPGs. Rolls a d20 with an optional modifier and advantage/disadvantage, compares to a DC, and reports total, success/failure, and natural-20 / natural-1. Seedable. Use it as a d20 check resolver API for any RPG.

Open interactive test console

Offering

Provider
x402.agentutility.ai
Method
POST
Offering type
Api Endpoint
Transport type
http
Category
General Utilities
Delivery
Not provided
Pricing model
Not provided
x402 version
2

Endpoint context

URL
https://x402.agentutility.ai/ability-check
MIME type
Not provided
First seen
2026-10-16T01:50:14.534Z
Last seen
Tags
ability

Payment pricing

x402 payment terms are the authoritative price for calling this endpoint.

Payment option 1
0.005 USDC
Atomic price: 5000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Payment option 2
0.005 USDC
Atomic price: 5000 · Network: solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp · Asset: USDC · Scheme: exact
Raw x402 terms
[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "5000",
    "payTo": "0x6c0752c09e7F6fA6526fCDf40e456a159ebB5621"
  },
  {
    "scheme": "exact",
    "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
    "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "amount": "5000",
    "payTo": "FJqAJ4dXkFbrp3EEo8E9x98iaBGUQwaU8Srz5ePfUXLH"
  }
]

Observed health

Status
Healthy
Latest latency
2667 ms
Average latency
2843 ms
HTTP status
204
Last checked
Reachability
100% over 14 checks

Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.

Input schema

{
  "additionalProperties": false,
  "properties": {
    "body": {
      "properties": {
        "advantage": {
          "description": "Roll twice, take the higher.",
          "type": "boolean"
        },
        "dc": {
          "description": "Difficulty class to beat. Omit to just get the roll.",
          "type": "number"
        },
        "disadvantage": {
          "description": "Roll twice, take the lower.",
          "type": "boolean"
        },
        "modifier": {
          "description": "Total bonus/penalty added to the d20 (-20..40). Default 0.",
          "type": "number"
        },
        "seed": {
          "description": "Optional integer seed for a reproducible roll.",
          "type": "number"
        }
      },
      "required": []
    },
    "bodyType": {
      "enum": [
        "json",
        "form-data",
        "text"
      ],
      "type": "string"
    },
    "method": {
      "enum": [
        "POST"
      ],
      "type": "string"
    },
    "type": {
      "const": "http",
      "type": "string"
    }
  },
  "required": [
    "type",
    "method",
    "bodyType",
    "body"
  ],
  "type": "object"
}

Output schema

{
  "properties": {
    "example": {
      "properties": {
        "critical_failure": {
          "type": "boolean"
        },
        "critical_success": {
          "type": "boolean"
        },
        "d20_rolls": {
          "items": {
            "type": "integer"
          },
          "type": "array"
        },
        "dc": {
          "type": "integer"
        },
        "mode": {
          "type": "string"
        },
        "modifier": {
          "type": "integer"
        },
        "natural_roll": {
          "type": "integer"
        },
        "success": {
          "type": "boolean"
        },
        "total": {
          "type": "integer"
        }
      },
      "type": "object"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "type"
  ],
  "type": "object"
}