Cred-RepoCRED-REPO

Docs

Verifying a receipt

For Tier 2 (oracle-backed) receipts, you can reproduce the outcome without using Cred. Four steps.

Step 1 — Identify the oracle

Open the receipt page (/c/<receipt_id>) and look for the oracle badge. For Tier 2 receipts it reads Oracle: Chainlink (decentralized). The evidence block below the badge lists the feed, the round_id, the block_number, and the price observed at the round’s timestamp.

If a receipt doesn’t show the oracle badge, it’s a Tier 1 receipt. See the trust model for the difference.

Step 2 — Verify via block explorer

Click Verify on-chain → on the receipt. That opens the Chainlink aggregator contract on Etherscan. In the Read Contract tab, call getRoundData with the round_id from the receipt. The returned answer divided by 10^decimals must equal the price shown in the receipt.

The Block {n} link goes to the block that includes the round update — useful if you want to confirm the transaction itself.

Step 3 — Verify via code

The receipt’s “Verify programmatically” panel has a ready-to-run snippet. Shortened:

import { createPublicClient, http } from "viem";
import { mainnet } from "viem/chains";

const client = createPublicClient({
  chain: mainnet,
  transport: http("<YOUR_RPC_URL>"),
});

const [roundId, answer, , updatedAt] = await client.readContract({
  address: "<feed_address>",
  abi: [{
    inputs: [], name: "latestRoundData",
    outputs: [
      { name: "roundId", type: "uint80" },
      { name: "answer", type: "int256" },
      { name: "startedAt", type: "uint256" },
      { name: "updatedAt", type: "uint256" },
      { name: "answeredInRound", type: "uint80" },
    ],
    stateMutability: "view", type: "function",
  }],
  functionName: "latestRoundData",
});

Compare answer and updatedAt against the values on the receipt. They must match exactly.

Any public RPC endpoint works — Alchemy free tier, Infura free tier, or a self-hosted node. No credentials beyond the RPC URL are required.

Step 4 — Verify without Cred

You do not need Cred to verify this result. The evidence payload on the receipt’s “Download evidence JSON” button is self-contained. Given that file and a public RPC endpoint, you can reconstruct and confirm the outcome at any point in the future, independent of whether cred-repo.com is reachable.

That’s the property that separates Tier 2 from Tier 1. The source is public, the truth is independently verifiable, and the receipt is durable on its own.