<!-- source: https://secondlayer.tools/docs/api-reference#archive-verify-result-object -->

## The Archive verification object

The outcome of an archive comparison.

| Field | Type | Description |
| --- | --- | --- |
| `status` | enum | `clean`: every range matched. `diverged`: at least one did not. `unanchored`: the comparison could not be trusted or run; see `reason`. Values: `clean`, `diverged`, `unanchored`. |
| `target` | string | The target that ran, normalised (`raw`, `all`, `decode:<name>`, `subgraph:<name>`). |
| `against` | string | The manifest URL, as sent. |
| `signature` | object | Whether the manifest signature verified, and why not when it did not. |
| `coverage` | object | Lowest and highest height compared. Absent when nothing was compared. |
| `ranges` | array of object | One row per compared range. `status` is `match`, `digest-mismatch`, `count-mismatch`, or `missing` when this instance has no rows there. Digests are `null` for an empty range. |
| `reason` | string | Why the result is `unanchored`: `no public key`, the fetch error, the signature failure, or `no digests`. |

```json
{
  "status": "diverged",
  "target": "raw",
  "against": "https://archive.secondlayer.tools/latest.json",
  "signature": {
    "verified": true
  },
  "coverage": {
    "from_block": 0,
    "to_block": 99999
  },
  "ranges": [
    {
      "dataset": "blocks",
      "from_block": 0,
      "to_block": 49999,
      "status": "match",
      "expected_digest": "5d41402abc4b2a76b9719d911017c592",
      "actual_digest": "5d41402abc4b2a76b9719d911017c592"
    },
    {
      "dataset": "blocks",
      "from_block": 50000,
      "to_block": 99999,
      "status": "digest-mismatch",
      "expected_digest": "7d793037a0760186574b0282f2f435e7",
      "actual_digest": "e2fc714c4727ee9395f324cd2e7f331f"
    }
  ]
}
```
