mirrored listing x402 eip155:8453

Publish a deterministic claim about a Base proxy and let the market try to break it

Publish a deterministic claim about a Base proxy and let the market try to break it. You assert that a contract's implementation slot held one address across a block range, fund a reward for whoever finds a block where it did not, and Tereno writes the claim onchain and adjudicates counterexamples by historical storage reads. If nobody collects before your deadline, you get a reproducible survival receipt: not an audit, but proof the claim stood in public with money on it.

Do you run www.tereno.xyz? This listing was mirrored from Coinbase's public Bazaar. Claim it in 30 seconds — no account required — and it becomes verified, permanently overriding the mirrored copy.

Claim this listing
250000 (raw units)
price
2
calls / 30d
1
unique payers
2026-09-13
updated

Provider

www.tereno.xyz · discovered, not yet claimed by its owner

Payment (x402 accepts[])

[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "payTo": "0xfbF218ACCBb0D57fc4E8fc3E2A885C910c4C9e94",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "250000",
    "maxTimeoutSeconds": 300
  }
]

Output schema

{
  "bazaar": {
    "info": {
      "input": {
        "method": "POST",
        "queryParams": {
          "address": "0x1111111111111111111111111111111111111111",
          "claimType": "contract.upgrade.window.claim",
          "deadlineHours": 72,
          "fromBlock": 20000000,
          "rewardUsd": 5,
          "toBlock": 20500000,
          "wallet": "0x2222222222222222222222222222222222222222"
        },
        "type": "http"
      },
      "output": {
        "example": {
          "breadcrumbStatus": "written",
          "claim": {
            "claimId": "0xabc",
            "claimType": "contract.upgrade.window.claim",
            "status": "open"
          },
          "pricing": {
            "currency": "USDC",
            "pricePaidUsd": 0.25
          },
          "receiptUrl": "/api/v1/claims/0xabc/receipt"
        },
        "type": "json"
      }
    },
    "schema": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "input": {
          "additionalProperties": false,
          "properties": {
            "method": {
              "enum": [
                "POST"
              ],
              "type": "string"
            },
            "queryParams": {
              "additionalProperties": false,
              "properties": {
                "address": {
                  "description": "Base proxy contract the assertion is about.",
                  "pattern": "^0x[a-fA-F0-9]{40}$",
                  "type": "string"
                },
                "claimType": {
                  "const": "contract.upgrade.window.claim",
                  "description": "The only claim type whose survival is worth a receipt."
                },
                "deadlineHours": {
                  "description": "How long the claim stays open to challenge, 1 to 720.",
                  "type": "integer"
                },
                "fromBlock": {
                  "description": "Inclusive start of the window. The window must span 1000 to 2000000 blocks.",
                  "type": "integer"
                },
                "implementation": {
                  "description": "Optional. Defaults to whatever the implementation slot resolves to at toBlock.",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "rewardUsd": {
                  "description": "What you will pay the first wallet that falsifies your claim. Not escrowed by Tereno.",
                  "type": "number"
                },
                "toBlock": {
                  "description": "Inclusive end of the window. Must not be in the future.",
                  "type": "integer"
                },
                "wallet": {
                  "description": "The opener wallet, which must sign the request.",
                  "pattern": "^0x[a-fA-F0-9]{40}$",
                  "type": "string"
                }
              },
              "required": [
                "address",
                "fromBlock",
                "toBlock",
                "rewardUsd",
                "deadlineHours",
                "wallet"
              ],
              "type": "object"
            },
            "type": {
              "const": "http",
              "type": "string"
            }
          },
          "required": [
            "type",
            "method"
          ],
          "type": "object"
        },
        "output": {
          "properties": {
            "example": {
              "properties": {
                "breadcrumbStatus": {
                  "type": "string"
                },
                "claim": {
                  "type": "object"
                },
                "pricing": {
                  "type": "object"
                },
                "receiptUrl": {
                  "type": "string"
                }
              },
              "required": [
                "claim",
                "breadcrumbStatus",
                "receiptUrl",
                "pricing"
              ],
              "type": "object"
            },
            "type": {
              "type": "string"
            }
          },
          "required": [
            "type"
          ],
          "type": "object"
        }
      },
      "required": [
        "input"
      ],
      "type": "object"
    }
  },
  "builder-code": {
    "info": {
      "a": "bc_8kag0yoi"
    },
    "schema": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "additionalProperties": false,
      "properties": {
        "a": {
          "description": "App builder code",
          "pattern": "^[a-z0-9_]{1,32}$",
          "type": "string"
        },
        "s": {
          "description": "Service builder codes",
          "items": {
            "pattern": "^[a-z0-9_]{1,32}$",
            "type": "string"
          },
          "type": "array"
        },
        "w": {
          "description": "Wallet builder code",
          "pattern": "^[a-z0-9_]{1,32}$",
          "type": "string"
        }
      },
      "type": "object"
    }
  }
}

Use it

curl

curl "https://www.tereno.xyz/api/v1/claims"
# -> 402 Payment Required, accepts[] lists how to pay
# retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid

JavaScript

const res = await fetch("https://www.tereno.xyz/api/v1/claims");
if (res.status === 402) {
  const { accepts } = await res.json();
  // pay one of accepts[] via an x402 client, then retry with the payment header
}

Python

import httpx
res = httpx.get("https://www.tereno.xyz/api/v1/claims")
if res.status_code == 402:
    accepts = res.json()["accepts"]
    # pay one of accepts[] via an x402 client, then retry with the payment header

Machine-readable

Everything on this page is also available as clean JSON at /resources/2461.json, and this resource appears in /discovery/resources and /discovery/search.