API Reference
ZeroWage API
Integrate ZeroWage proof generation and Stellar contract interaction into your own systems.
Contract Details
NetworkStellar Testnet
Contract IDCCOEJ6QCZEFYDQTK53AAWINVB62BTPBJNZ7P5ZP2ELNHIDQEV3SMRDUD
RPC URLhttps://soroban-testnet.stellar.org
Network PassphraseTest SDF Network ; September 2015
POST
/api/proof/generateGenerate a Groth16 proof for a payroll batch. Runs client-side — this endpoint documents the snarkjs interface.
Parameters
salariesnumber[]Array of salary amounts (max 20)minSalarynumberMinimum salary floor for validationResponse
{
"proof": {
"pi_a": ["0x...", "0x..."],
"pi_b": [["0x...", "0x..."], ["0x...", "0x..."]],
"pi_c": ["0x...", "0x..."],
"protocol": "groth16",
"curve": "bn128"
},
"publicSignals": ["18500", "0", "5"]
}POST
/api/contract/verifySubmit a proof to the Soroban verifier contract on Stellar and record the payroll run.
Parameters
proofProofGroth16 proof object from /api/proof/generatepublicSignalsstring[]Public signals arraycycleIdstringHuman-readable payroll cycle identifieremployerAddressstringStellar G... address of the employerResponse
{
"verified": true,
"txHash": "e6b361204bb3a0d71a79ff7e...",
"contractId": "CCOEJ6QCZEFYDQTK53AA...",
"ledger": 54219003,
"timestamp": "2026-06-21T02:14:00Z"
}GET
/api/runs/:idFetch a payroll run record from the Soroban contract storage.
Parameters
idstringPayroll run ID (employer + cycleId key)Response
{
"employer": "GBJWSYN6DB3F2DHNL6HUI...",
"cycleId": "June 2026",
"totalUsdc": 18500,
"nRecipients": 5,
"proofVerified": true,
"timestamp": 1750470840
}