← Back to Documentation

ZK-Solvency API Maintenance

Zero-Knowledge proofs that reserves exceed liabilities — without revealing exact amounts. Privacy-preserving verification for institutions.

What it proves

The ZK-Solvency system generates cryptographic proofs that:

  • Reserves ≥ Liabilities — mathematically verified
  • Minimum ratio threshold met — e.g., 100% collateralized
  • Hash-bound to snapshot — proof is tied to specific data

All without exposing the actual reserve or liability numbers.

Smart Contract (Polygon Mainnet — deployed, RPC pending)

Contract0x3a0A7f28a7fcA960D6f727Ba9914187948ceB3a6
NetworkPolygon (Chain ID: 137)
ExplorerView on PolygonScan
Versionv2 (with hash binding)

Endpoints

GET/api/v1/zk/status

System status and circuit version.

{
  "status": "operational",
  "circuit": "reserve_guard_v1",
  "runtime_version": "2.1.0"
}
GET/api/v1/zk/contract

On-chain contract information.

{
  "contract": "0x3a0A7f28a7fcA960D6f727Ba9914187948ceB3a6",
  "network": "polygon",
  "chainId": 137,
  "version": "v2"
}
GET/api/v1/zk/attestation/latest

Latest on-chain attestation with hash binding.

{
  "bound_snapshot_hash": "17673a2f9d06...",
  "min_ratio_bps": 10000,
  "threshold_passed": true,
  "tx_hash": "0xd0ae752681...",
  "block_number": 81996974,
  "explorer_url": "https://polygonscan.com/tx/..."
}
GET/api/v1/zk/verify

Verify the latest proof is valid.

{
  "valid": true,
  "proof_hash": "a]b2c3d4...",
  "verified_at": "2026-01-22T20:32:10Z"
}

Hash-Binding Chain

Every proof is cryptographically bound to the source data:

RLUSD Snapshot (content_hash)
        ↓
ZK Proof (bound_snapshot_hash in public_inputs)
        ↓
On-Chain Attestation (boundSnapshotHash in Event)
        ↓
Evidence Pack (verifies hash match)

This ensures proofs cannot be replayed or attached to different data.

Key Concepts

TermDescription
bound_snapshot_hash SHA-256 hash of the data snapshot the proof covers
min_ratio_bps Minimum ratio in basis points (10000 = 100%)
threshold_passed Boolean: did reserves meet the minimum ratio?
reserve_guard_v1 The ZK circuit name/version used for proving

Integration Examples

Quick Check (curl)

curl https://api.feedoracle.io/api/v1/zk/status

curl https://api.feedoracle.io/api/v1/zk/attestation/latest

Verify On-Chain (cast)

# Check if solvent (max 1 hour old attestation)
cast call 0x3a0A7f28a7fcA960D6f727Ba9914187948ceB3a6 \
  "isSolvent(uint256)" "3600" \
  --rpc-url https://polygon-rpc.com

# Get full solvency status
cast call 0x3a0A7f28a7fcA960D6f727Ba9914187948ceB3a6 \
  "getSolvencyStatus()" \
  --rpc-url https://polygon-rpc.com

JavaScript Integration

const res = await fetch('https://api.feedoracle.io/api/v1/zk/attestation/latest');
const attestation = await res.json();

if (attestation.threshold_passed) {
  console.log('Yes Solvency verified');
  console.log('Proof TX:', attestation.tx_hash);
  console.log('Bound to:', attestation.bound_snapshot_hash);
} else {
  console.log('— Threshold not met');
}

Tech Stack

ComponentTechnology
ZK CircuitNoir v0.25.0
Proof BackendBarretenberg (PLONK)
Smart ContractSolidity (Foundry)
NetworkPolygon Mainnet
Privacy Benefit: Institutions can prove solvency to regulators and partners without revealing exact reserve amounts — protecting competitive information while maintaining transparency.
Disclaimer: ZK proofs verify mathematical relationships in committed data. They do not audit the accuracy of source data. Data infrastructure only — not a certification.

Related