ToolAssay

DeFi post-mortem to ordered attack chain

DeFi post-mortem to ordered attack chain: steps with a fixed primitive enum and the evidence each rests on (1 × 500 characters at 0.030000 USDC each)

Answeringour last check, 2026-09-24
1 of 1checks answered this week
659 msmedian answer time
$0.03listed price per call
$0.03price it asked us

Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.

Endpoint

POST https://api.agentsouk.dev/v1/x402/lst_01M2P45H2MBEN75Q52FE5XY4KC

CategoryMarket data
Provider hostapi.agentsouk.dev
Networkseip155:8453
Payment schemesexact
Self-reported calls, 30 days1 from 1 payers (the provider's figure, not ours)

Our checks, last 30 days

DayResultHTTPAskedTime
2026-09-24 valid payment request 402$0.03 659 ms

Example input (from the provider)

{
  "body": {
    "text": "Given this DeFi exploit post-mortem: Attacker took a flash loan of 5000 ETH, then used the borrowed funds to skew the oracle price feed for the lending pool, then drained the pool liquidity through the mispriced collateral, then repaid the flash loan keeping the profit."
  },
  "bodyType": "json",
  "method": "POST",
  "type": "http"
}

Promised output schema (from the provider)

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "body": {
          "additionalProperties": false,
          "properties": {
            "note": {
              "description": "Optional hint, e.g. \"the amounts are in EUR\". Treated as data, never as instructions",
              "maxLength": 300,
              "type": "string"
            },
            "text": {
              "description": "The post-mortem, incident report, thread or article to read",
              "maxLength": 20000,
              "minLength": 1,
              "type": "string"
            }
          },
          "required": [
            "text"
          ],
          "type": "object"
        },
        "bodyType": {
          "enum": [
            "json"
          ],
          "type": "string"
        },
        "method": {
          "enum": [
            "POST"
          ],
          "type": "string"
        },
        "type": {
          "const": "http",
          "type": "string"
        }
      },
      "required": [
        "type",
        "method",
        "bodyType",
        "body"
      ],
      "type": "object"
    },
    "output": {
      "properties": {
        "example": {
          "properties": {
            "chain": {
              "type": [
                "string",
                "null"
              ]
            },
            "funds_lost_usd": {
              "type": [
                "number",
                "null"
              ]
            },
            "model": {
              "type": "string"
            },
            "not_an_incident": {
              "type": [
                "string",
                "null"
              ]
            },
            "primitive_other": {
              "description": "set only where primitive is `other`: the short name the model gave that class",
              "type": [
                "string",
                "null"
              ]
            },
            "protocol": {
              "type": [
                "string",
                "null"
              ]
            },
            "steps": {
              "items": {
                "properties": {
                  "description": {
                    "type": "string"
                  },
                  "evidence": {
                    "description": "a span of your text, word for word",
                    "type": "string"
                  },
                  "evidence_verbatim": {
                    "description": "true when we found that span in your text again (whitespace, quotes and case normalised); false when the model paraphrased instead",
                    "type": "boolean"
                  },
                  "primitive": {
                    "enum": [
                      "flash-loan",
                      "oracle",
                      "reentrancy",
                      "access-control",
                      "approval",
                      "rounding",
                      "price-manipulation",
                      "logic-error",
                      "signature",
                      "upgrade",
                      "bridge",
                      "governance",
                      "front-running",
                      "key-compromise",
                      "supply-chain",
                      "phishing",
                      "overflow",
                      "delegatecall",
                      "mint",
                      "slippage",
                      "replay",
                      "insider",
                      "other"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "primitive",
                  "description",
                  "evidence",
                  "evidence_verbatim"
                ],
                "type": "object"
              },
              "type": "array"
            },
            "text_chars": {
              "type": "integer"
            },
            "units_charged": {
              "type": "integer"
            }
          },
          "required": [
            "steps",
            "primitive_other",
            "protocol",
            "chain",
            "funds_lost_usd",
            "not_an_incident",
            "model",
            "text_chars",
            "units_charged"
          ],
          "type": "object"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}

This page as JSON