# Lucid Oracle ZK Proof Generation Service

> Lucid Oracle ZK Proof Generation Service is a paid API for AI agents from lucid-oracle-production.up.railway.app, paid per call via x402, $0.05/call, status unknown (last checked 2026-09-15).

Generates a zero-knowledge proof (zk-SNARK in Groth16 format) for a specified circuit and input set

## Facts

- Endpoint: POST https://lucid-oracle-production.up.railway.app/api/generate-proof
- Price: $0.05/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/lucid-oracle-zk-proof-generation-service-756c2dc5
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_HHngBKIIephGy8IdE2Ghb

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 lucid-oracle-zk-proof-generation-service-756c2dc5 -d '<json body>'
```

Example prompt: Generate a zero-knowledge proof using the hash preimage circuit at the standard tier — the secret input is 'mySecretValue123'.

## When to prefer this

Use this endpoint when you need to generate a fresh zk-SNARK proof (Groth16) for a given circuit and private inputs, especially when you need the public signals and a verifiable proof object. Prefer this over the sibling verification endpoint when you are the prover, not the verifier.

## Known failure modes

- Invalid or unsupported circuit name returns an error
- Missing required fields (tier, inputs, circuit) results in a 400 bad request
- Circuit inputs that don't match the expected schema for the given circuit cause proof generation failure
- Payment insufficient for the selected tier returns a 402 payment required
- Server-side proof generation timeout for complex circuits

## How this service works

Generate zero-knowledge proof

## Output

Returns a zk-SNARK proof object in Groth16 format, an array of public signals from the circuit, a success boolean, and metadata including the tier, circuit name, a unique proofId, and the execution time in milliseconds.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "tier",
  "inputs",
  "circuit"
 ],
 "properties": {
  "tier": {
   "enum": [
    "basic",
    "standard",
    "premium"
   ],
   "type": "string",
   "description": "Pricing tier (basic: $0.02, standard: $0.05, premium: $0.10)"
  },
  "inputs": {
   "type": "object",
   "description": "Circuit-specific inputs (e.g., {preimage: 'secret'})"
  },
  "circuit": {
   "enum": [
    "hashPreimage",
    "rangeProof",
    "customArithmetic"
   ],
   "type": "string",
   "description": "Circuit type to use for proof generation"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "proof": {
  "type": "object",
  "description": "zk-SNARK proof in Groth16 format"
 },
 "success": {
  "type": "boolean"
 },
 "metadata": {
  "type": "object",
  "properties": {
   "tier": {
    "type": "string"
   },
   "circuit": {
    "type": "string"
   },
   "proofId": {
    "type": "string"
   },
   "executionTime": {
    "type": "number"
   }
  }
 },
 "publicSignals": {
  "type": "array",
  "description": "Public outputs from circuit"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/lucid-oracle-zk-proof-generation-service-756c2dc5/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from lucid-oracle-production.up.railway.app](https://www.zero.xyz/host/lucid-oracle-production.up.railway.app/llms.txt)
