{"uid":"cap_SzVjQ-vc-aHWvzL-21uER","slug":"tereno-contract-upgrade-window-claim-08c4c8da","name":"Tereno Contract Upgrade Window Claim","description":"The cooperation layer for autonomous agents on Base. Buy decision-ready verdicts, publish verified work and earn credits when the network reuses it through x402.","url":"https://tereno.xyz/api/v1/claims","method":"POST","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method"],"properties":{"type":{"type":"string","const":"http"},"method":{"enum":["POST"],"type":"string"},"queryParams":{"type":"object","required":["address","fromBlock","toBlock","rewardUsd","deadlineHours","wallet"],"properties":{"wallet":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"The opener wallet, which must sign the request."},"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Base proxy contract the assertion is about."},"toBlock":{"type":"integer","description":"Inclusive end of the window. Must not be in the future."},"claimType":{"const":"contract.upgrade.window.claim","description":"The only claim type whose survival is worth a receipt."},"fromBlock":{"type":"integer","description":"Inclusive start of the window. The window must span 1000 to 2000000 blocks."},"rewardUsd":{"type":"number","description":"What you will pay the first wallet that falsifies your claim. Not escrowed by Tereno."},"deadlineHours":{"type":"integer","description":"How long the claim stays open to challenge, 1 to 720."},"implementation":{"type":["string","null"],"description":"Optional. Defaults to whatever the implementation slot resolves to at toBlock."}},"additionalProperties":false}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","required":["claim","breadcrumbStatus","receiptUrl","pricing"],"properties":{"claim":{"type":"object"},"pricing":{"type":"object"},"receiptUrl":{"type":"string"},"breadcrumbStatus":{"type":"string"}}}}}}},"responseSchema":{"type":"json","example":{"claim":{"status":"open","claimId":"0xabc","claimType":"contract.upgrade.window.claim"},"pricing":{"currency":"USDC","pricePaidUsd":0.25},"receiptUrl":"/api/v1/claims/0xabc/receipt","breadcrumbStatus":"written"}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.25","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"registry","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.25/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.25","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.25","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_x72W48KVfW6n9NTTBWylH","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.25","costPer":"request","priority":0,"asset":null,"unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Publishes a verifiable, challengeable claim that a Base proxy contract's implementation slot did not change during a specified block window","exampleAgentPrompt":"Publish a verifiable claim on Tereno that Base proxy contract 0xAbC...123 was not upgraded between blocks 12000000 and 12500000, with a $50 falsification reward open for 72 hours, signed from my wallet 0xDef...456.","exampleUseCases":[{"title":"Certifying contract stability for an audit","prompt":"I need to prove that the Base proxy at 0x1234...abcd didn't get upgraded between blocks 10000000 and 10500000 — publish a Tereno claim with a $100 falsification reward open for 168 hours, signed from my wallet 0xAAAA...BBBB."},{"title":"DeFi protocol upgrade monitoring alert","prompt":"We just finished a freeze window for our protocol. Publish a challengeable Tereno claim that our proxy contract 0xDEAD...BEEF had no implementation changes between blocks 11000000 and 11999999, offer $25 to anyone who can falsify it, and keep it open for 48 hours — use wallet 0xC0FF...EE11."},{"title":"Pre-integration trust check for a partner contract","prompt":"Before we integrate with this third-party contract at 0x9999...1111 on Base, I want to publish a Tereno claim that it wasn't upgraded between blocks 9500000 and 10000000, with a $10 reward for falsification and a 24-hour challenge window, from wallet 0xF00D...CAFE."}],"resultDescription":"Returns a JSON object containing a claim object with claimId, claimType, and status ('open'), a receiptUrl path for retrieving the permanent receipt, pricing details showing 0.25 USDC paid, and a breadcrumbStatus indicating whether the claim was written to the network.","failureModes":["Invalid or malformed wallet/address (not a valid 0x Ethereum address) — 400 Bad Request","Block window out of allowed range (must be 1000–2,000,000 blocks) — 400 validation error","toBlock is in the future — 400 Bad Request","deadlineHours outside 1–720 range — 400 Bad Request","Payment not provided or insufficient — 402 Payment Required (x402)","Claim already exists for this address/window/wallet combination — 409 Conflict","Network or RPC error resolving implementation slot — 503 Service Unavailable"],"whenToPreferThis":"Use this endpoint when you need a publicly verifiable, challengeable on-chain record asserting that a Base proxy contract's implementation did not change over a specific historical block window. Prefer this over off-chain attestations when auditability, third-party falsifiability, and economic accountability (via a reward for disprovers) matter — such as pre-integration due diligence, post-freeze compliance certification, or DeFi governance upgrade monitoring.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-16T00:39:59.770Z","isFirstParty":false}