# VirusTotal File Report via Locus x402

> VirusTotal File Report via Locus x402 is a paid API for AI agents from virustotal.x402.paywithlocus.com, paid per call via x402, $0.055/call, status unknown (last checked 2026-09-14).

Retrieves a threat intelligence report for a file identified by its hash (MD5, SHA-1, or SHA-256) from VirusTotal, scanning against 70+ antivirus engines.

## Facts

- Endpoint: POST https://virustotal.x402.paywithlocus.com/virustotal/file-report
- Price: $0.055/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/virustotal-file-report-via-locus-x402-c0580045
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_AW5DArPUHLqInbZ6zbo9o

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 virustotal-file-report-via-locus-x402-c0580045 -d '<json body>'
```

Example prompt: Can you check VirusTotal to see if this file hash is malicious — SHA-256: 275a021bbfb6489e54d471899f7db9d1663fc695ec2fe2a2c4538aabf651fd0f?

## When to prefer this

Use this endpoint when you need to check whether a specific file is malicious using its hash and want results from 70+ antivirus engines simultaneously without uploading the actual file. Ideal for security pipelines, incident response triage, SIEM enrichment, or any workflow where you already have a file hash and need a quick threat verdict. Prefer over direct VirusTotal API access when you want pay-per-call micropayment billing via x402 with no API key management.

## Known failure modes

- Hash not found in VirusTotal database — file may never have been submitted for analysis
- Invalid hash format (not a valid MD5, SHA-1, or SHA-256) returns an error
- Payment failure or insufficient USDC balance prevents the request from completing
- Rate limiting if too many requests are made in quick succession
- Network timeout if VirusTotal backend is slow to respond

## How this service works

Threat intelligence platform — scan files by hash, URLs, domains, and IPs against 70+ antivirus engines and security tools.

## Output

Returns a JSON object containing VirusTotal's full file report data including per-engine detection verdicts, malware names, detection counts, file metadata, and threat categories across 70+ antivirus engines and security tools. Also includes payment confirmation with settled USDC amount and a request tracking ID.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "hash": {
   "type": "string"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "data": {},
  "payment": {
   "scheme": "exact",
   "settledUsdc": "0.001000",
   "authorizedMaxUsdc": "0.001000"
  },
  "request": {
   "id": "00000000-0000-4000-8000-000000000000",
   "statusUrl": "/requests/00000000-0000-4000-8000-000000000000"
  },
  "success": true
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/virustotal-file-report-via-locus-x402-c0580045/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from virustotal.x402.paywithlocus.com](https://www.zero.xyz/host/virustotal.x402.paywithlocus.com/llms.txt)
