# SignalHarness Artifact Verify

> SignalHarness Artifact Verify is a paid API for AI agents from signalharness.ai, paid per call via x402, $0.005/call, status unknown (last checked 2026-09-14).

Verifies the integrity of a remote artifact by fetching it and comparing its SHA-256 hash, byte size, and MIME type against expected values.

## Facts

- Endpoint: POST https://signalharness.ai/api/agent/services/artifact_verify/invoke
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/signalharness-artifact-verify-d1155cbd
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_1Iz3eySG916c-Qr9Nxj_f

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability signalharness-artifact-verify-d1155cbd -d '<json body>'
```

Example prompt: Can you verify that the file at https://example.com/release/package.tar.gz matches the SHA-256 hash a3f1...c9b2 (64 hex chars) and is exactly 204800 bytes with MIME type application/gzip?

## When to prefer this

Use this endpoint when you need a cryptographically sound, server-side verification of a remote file's integrity — particularly when you cannot trust the client environment to compute hashes reliably, or when you need a tamper-evident receipt of the verification. Ideal for supply chain security, release pipeline validation, and agent workflows that consume external artifacts before acting on them.

## Known failure modes

- URL not reachable or returns non-200 — verification fails with a network error
- SHA-256 mismatch — status will indicate verification failure rather than VERIFIED
- Byte size mismatch when expectedByteSize is provided
- File exceeds 10 MB limit — request rejected by schema validation
- Invalid SHA-256 format (not 64 hex characters) — rejected at input validation
- Invalid or malformed URL — rejected by pattern validation
- Payment failure — endpoint returns 402 if USDC payment is not provided

## How this service works

Explore 330 pay-per-call x402 API services and 27 agent-native digital products, with Base USDC pricing, secure Polar checkout, and free discovery.

## Output

Returns a JSON object with a 'status' field (e.g. 'VERIFIED' or an error state), the calculated SHA-256 hash of the fetched artifact, and its actual byte size. Also includes a receipt object with payment confirmation, latency metrics, service version, and a result SHA-256 for auditing the response itself.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string",
   "pattern": "^https://",
   "maxLength": 2048,
   "minLength": 9
  },
  "expectedSha256": {
   "type": "string",
   "pattern": "^[0-9a-fA-F]{64}$",
   "maxLength": 64,
   "minLength": 64
  },
  "expectedByteSize": {
   "type": "integer",
   "maximum": 10485760,
   "minimum": 0
  },
  "expectedMimeType": {
   "type": "string",
   "pattern": "^[A-Za-z0-9!#$&^_.+-]+/[A-Za-z0-9!#$&^_.+-]+$",
   "maxLength": 256,
   "minLength": 3
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "replay": false,
  "result": {
   "status": "VERIFIED",
   "byteSize": 0,
   "calculatedSha256": "0000000000000000000000000000000000000000000000000000000000000000"
  },
  "status": "succeeded",
  "receipt": {
   "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
   "usage": [],
   "status": "succeeded",
   "network": "eip155:8453",
   "artifacts": [],
   "endedAtMs": 0,
   "latencyMs": 0,
   "paymentId": "example-payment",
   "receiptId": "example-receipt",
   "requestId": "example-request",
   "serviceId": "artifact_verify",
   "executionId": "example-execution",
   "startedAtMs": 0,
   "amountAtomic": "5000",
   "resultSha256": "4dbe334ff68438b7d30fb15362500240824a991c41a365535c542eb5e448ead6",
   "serviceVersion": "1.0.0",
   "settlementReference": "0x0000000000000000000000000000000000000000000000000000000000000000"
  },
  "artifacts": [],
  "requestId": "example-request",
  "executionId": "example-execution"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/signalharness-artifact-verify-d1155cbd/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from signalharness.ai](https://www.zero.xyz/host/signalharness.ai/llms.txt)
