{
  "x402Version": 2,
  "id": 26452,
  "slug": "26452",
  "resource": "https://agentpay.tools/tools/verified_route/call",
  "description": "Buyer-side trust oracle for the x402 marketplace: 'I need X, budget $Y — which tool is real?' Sweeps the WHOLE catalog across many queries, collapses sybil/factory clusters (one wallet stamping many fake-distinct listings), ranks the genuinely-used survivors by unique-payer usage, and returns one vetted pick with a ready-to-pay challenge. The credit-bureau check an agent can't do in a single query.",
  "type": "http",
  "serviceName": "AgentPay x402 Trust Oracle",
  "resourceType": "Payments",
  "accepts": [
    {
      "scheme": "exact",
      "network": "eip155:8453",
      "payTo": "0xE8B25A72dD6aeF69515452a61AD231C7DF2843b7",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "amount": "10000",
      "amountUsd": 0.01,
      "maxTimeoutSeconds": 300
    },
    {
      "scheme": "exact",
      "network": "stacks:1",
      "payTo": "SP23XKWSEQ9D4CVPT0H39N2TYVEE5AJECPKW6CZ3C",
      "asset": "SM3VDXK3WZZSA84XXFKAFAF15NNZX32CTSG82JFQ4.sbtc-token",
      "amount": "13",
      "maxTimeoutSeconds": 119
    },
    {
      "scheme": "exact",
      "network": "stacks:1",
      "payTo": "SP23XKWSEQ9D4CVPT0H39N2TYVEE5AJECPKW6CZ3C",
      "asset": "STX",
      "amount": "24956",
      "maxTimeoutSeconds": 119
    }
  ],
  "outputSchema": {
    "properties": {
      "example": {
        "type": "object"
      },
      "type": {
        "type": "string"
      }
    },
    "required": [
      "type"
    ],
    "type": "object"
  },
  "extensions": {
    "bazaar": {
      "description": "Vet before you pay a stranger: sweep the x402 catalog, collapse sybil/factory listings, rank real providers by usage, and return ONE recommendation under budget with a ready-to-pay x402 challenge + a catalog dossier (scanned / real_providers / sybil_collapsed / biggest_factory).",
      "info": {
        "errors": [
          {
            "body": {
              "error": "<summary>",
              "reason": "<machine-readable reason>"
            },
            "retry": "Re-request the challenge and pay again",
            "status": 402,
            "when": "No payment attached (this challenge), or the attached payment failed verification: wrong amount/recipient, memo mismatch, expired, or already used (replay)"
          },
          {
            "body": {
              "detail": [
                {
                  "loc": [
                    "body"
                  ],
                  "msg": "<what is wrong>",
                  "type": "<error type>"
                }
              ]
            },
            "retry": "Fix the body and retry with a fresh payment",
            "status": 422,
            "when": "Request body present but malformed (invalid JSON or wrong field types) WITH a payment header attached — checked BEFORE settlement, so the payment is never consumed. An unpaid malformed request gets the 402, not a 422"
          },
          {
            "body": {
              "detail": "Tool '<name>' not found"
            },
            "status": 404,
            "when": "Unknown tool name"
          },
          {
            "body": {
              "error": "Rate limit exceeded"
            },
            "retry": "Back off and retry after a minute",
            "status": 429,
            "when": "Rate limited (per-IP and per-wallet limits)"
          },
          {
            "body": {
              "error": "Tool execution failed",
              "payment_status": "refund_pending",
              "tool": "<name>"
            },
            "status": 500,
            "when": "Payment settled on-chain but tool execution failed — the payment is marked refund_pending automatically; you are not charged for a failed call"
          },
          {
            "body": {
              "detail": "<what is unavailable>"
            },
            "retry": "Retry shortly",
            "status": 503,
            "when": "Tool temporarily unavailable, or the gateway cannot persist the challenge (fail-closed)"
          }
        ],
        "input": {
          "body": {
            "parameters": {
              "budget_usd": 1,
              "chain": "",
              "need": "dex pair liquidity"
            }
          },
          "bodyType": "json",
          "method": "POST",
          "type": "http"
        },
        "output": {
          "example": {
            "catalog": {
              "biggest_factory": {
                "listings": 72,
                "pay_to": "0x2bb72231eed3"
              },
              "real_providers": 41,
              "scanned": 117,
              "sybil_collapsed": 73
            },
            "need": "dex pair liquidity",
            "recommendation": {
              "calls30d": 3246,
              "name": "Otto AI",
              "network": "eip155:8453",
              "payers30d": 200,
              "price_usd": "0.001",
              "quality": 3851,
              "ready_to_pay": {
                "accepts": {
                  "network": "eip155:8453",
                  "scheme": "exact"
                },
                "network": "eip155:8453",
                "url": "https://otto.example/dex"
              },
              "url": "https://otto.example/dex"
            },
            "vetting": "swept 17 queries → 117 listings → collapsed 73 sybil listings → 41 real providers"
          },
          "type": "json"
        }
      },
      "schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "input": {
            "additionalProperties": false,
            "properties": {
              "body": {
                "properties": {
                  "parameters": {
                    "properties": {
                      "budget_usd": {
                        "description": "Max USDC to pay the downstream tool per call (default 1)",
                        "type": "number"
                      },
                      "chain": {
                        "description": "Optional chain filter: 'base', 'arbitrum', 'solana'. Empty = all chains. Solana picks are discovery-only (probe coverage: Base only — on-chain delivery unverified)",
                        "type": "string"
                      },
                      "need": {
                        "description": "What the agent needs, e.g. 'dex pair liquidity', 'crypto prices'",
                        "type": "string"
                      }
                    },
                    "required": [
                      "need"
                    ],
                    "type": "object"
                  }
                },
                "type": "object"
              },
              "bodyType": {
                "enum": [
                  "json",
                  "form-data",
                  "text"
                ],
                "type": "string"
              },
              "method": {
                "enum": [
                  "POST"
                ],
                "type": "string"
              },
              "type": {
                "const": "http",
                "type": "string"
              }
            },
            "required": [
              "type",
              "bodyType",
              "body",
              "method"
            ],
            "type": "object"
          },
          "output": {
            "properties": {
              "example": {
                "type": "object"
              },
              "type": {
                "type": "string"
              }
            },
            "required": [
              "type"
            ],
            "type": "object"
          }
        },
        "required": [
          "input"
        ],
        "type": "object"
      }
    }
  },
  "tags": [
    "routing",
    "discovery",
    "trust",
    "trust-oracle",
    "sybil-detection",
    "bazaar"
  ],
  "sourceHost": "agentpay.tools",
  "lastUpdated": "2026-10-11T05:18:13.956Z",
  "quality": {
    "calls30d": 12,
    "uniquePayers30d": 7,
    "lastCalledAt": "2026-10-11T05:18:13.518Z"
  },
  "metadata": {
    "serviceName": "AgentPay x402 Trust Oracle",
    "extensions": {
      "bazaar": {
        "description": "Vet before you pay a stranger: sweep the x402 catalog, collapse sybil/factory listings, rank real providers by usage, and return ONE recommendation under budget with a ready-to-pay x402 challenge + a catalog dossier (scanned / real_providers / sybil_collapsed / biggest_factory).",
        "info": {
          "errors": [
            {
              "body": {
                "error": "<summary>",
                "reason": "<machine-readable reason>"
              },
              "retry": "Re-request the challenge and pay again",
              "status": 402,
              "when": "No payment attached (this challenge), or the attached payment failed verification: wrong amount/recipient, memo mismatch, expired, or already used (replay)"
            },
            {
              "body": {
                "detail": [
                  {
                    "loc": [
                      "body"
                    ],
                    "msg": "<what is wrong>",
                    "type": "<error type>"
                  }
                ]
              },
              "retry": "Fix the body and retry with a fresh payment",
              "status": 422,
              "when": "Request body present but malformed (invalid JSON or wrong field types) WITH a payment header attached — checked BEFORE settlement, so the payment is never consumed. An unpaid malformed request gets the 402, not a 422"
            },
            {
              "body": {
                "detail": "Tool '<name>' not found"
              },
              "status": 404,
              "when": "Unknown tool name"
            },
            {
              "body": {
                "error": "Rate limit exceeded"
              },
              "retry": "Back off and retry after a minute",
              "status": 429,
              "when": "Rate limited (per-IP and per-wallet limits)"
            },
            {
              "body": {
                "error": "Tool execution failed",
                "payment_status": "refund_pending",
                "tool": "<name>"
              },
              "status": 500,
              "when": "Payment settled on-chain but tool execution failed — the payment is marked refund_pending automatically; you are not charged for a failed call"
            },
            {
              "body": {
                "detail": "<what is unavailable>"
              },
              "retry": "Retry shortly",
              "status": 503,
              "when": "Tool temporarily unavailable, or the gateway cannot persist the challenge (fail-closed)"
            }
          ],
          "input": {
            "body": {
              "parameters": {
                "budget_usd": 1,
                "chain": "",
                "need": "dex pair liquidity"
              }
            },
            "bodyType": "json",
            "method": "POST",
            "type": "http"
          },
          "output": {
            "example": {
              "catalog": {
                "biggest_factory": {
                  "listings": 72,
                  "pay_to": "0x2bb72231eed3"
                },
                "real_providers": 41,
                "scanned": 117,
                "sybil_collapsed": 73
              },
              "need": "dex pair liquidity",
              "recommendation": {
                "calls30d": 3246,
                "name": "Otto AI",
                "network": "eip155:8453",
                "payers30d": 200,
                "price_usd": "0.001",
                "quality": 3851,
                "ready_to_pay": {
                  "accepts": {
                    "network": "eip155:8453",
                    "scheme": "exact"
                  },
                  "network": "eip155:8453",
                  "url": "https://otto.example/dex"
                },
                "url": "https://otto.example/dex"
              },
              "vetting": "swept 17 queries → 117 listings → collapsed 73 sybil listings → 41 real providers"
            },
            "type": "json"
          }
        },
        "schema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "properties": {
            "input": {
              "additionalProperties": false,
              "properties": {
                "body": {
                  "properties": {
                    "parameters": {
                      "properties": {
                        "budget_usd": {
                          "description": "Max USDC to pay the downstream tool per call (default 1)",
                          "type": "number"
                        },
                        "chain": {
                          "description": "Optional chain filter: 'base', 'arbitrum', 'solana'. Empty = all chains. Solana picks are discovery-only (probe coverage: Base only — on-chain delivery unverified)",
                          "type": "string"
                        },
                        "need": {
                          "description": "What the agent needs, e.g. 'dex pair liquidity', 'crypto prices'",
                          "type": "string"
                        }
                      },
                      "required": [
                        "need"
                      ],
                      "type": "object"
                    }
                  },
                  "type": "object"
                },
                "bodyType": {
                  "enum": [
                    "json",
                    "form-data",
                    "text"
                  ],
                  "type": "string"
                },
                "method": {
                  "enum": [
                    "POST"
                  ],
                  "type": "string"
                },
                "type": {
                  "const": "http",
                  "type": "string"
                }
              },
              "required": [
                "type",
                "bodyType",
                "body",
                "method"
              ],
              "type": "object"
            },
            "output": {
              "properties": {
                "example": {
                  "type": "object"
                },
                "type": {
                  "type": "string"
                }
              },
              "required": [
                "type"
              ],
              "type": "object"
            }
          },
          "required": [
            "input"
          ],
          "type": "object"
        }
      }
    }
  },
  "liveness": {
    "reliability": null
  },
  "verified": false,
  "featured": false,
  "provider": {
    "host": "agentpay.tools",
    "manifest_name": "agentpay.tools",
    "source": "cdp-mirror",
    "source_manifest_url": "https://api.cdp.coinbase.com/platform/v2/x402/discovery/resources",
    "submitted_at": "2026-10-14T01:15:01.050Z"
  },
  "exampleResponse": {
    "example": {},
    "type": "string"
  }
}