Documentation Index
Fetch the complete documentation index at: https://docs.zkterm.io/llms.txt
Use this file to discover all available pages before exploring further.
Hash Functions
Poseidon Hash
POST /api/zk-toolkit/hash/poseidon
Request:
{
"input": "hello world"
}
Response:
{
"success": true,
"data": {
"hash": "0x1234567890abcdef..."
}
}
Pedersen Hash
POST /api/zk-toolkit/hash/pedersen
MiMC Hash
POST /api/zk-toolkit/hash/mimc
Request (with optional key):
{
"input": "data",
"key": "optional_key"
}
Field Arithmetic
All operations use BN254 prime field.
Add
POST /api/zk-toolkit/field/add
Request:
Response:
{
"success": true,
"data": {
"result": "12"
}
}
Subtract
POST /api/zk-toolkit/field/sub
Multiply
POST /api/zk-toolkit/field/mul
Divide
POST /api/zk-toolkit/field/div
Inverse
POST /api/zk-toolkit/field/inv
Request:
Power
POST /api/zk-toolkit/field/pow
Request:
{
"base": "2",
"exp": "256"
}
Square Root
POST /api/zk-toolkit/field/sqrt
Random Element
GET /api/zk-toolkit/field/random
Get Prime
GET /api/zk-toolkit/field/prime
Elliptic Curve (Baby JubJub)
Base Point
GET /api/zk-toolkit/ec/base
Response:
{
"success": true,
"data": {
"x": "5299619240641551281634865583518297030282874472190772894086521144482721001553",
"y": "16950150798460657717958625567821834550301663161624707787222815936182638968203"
}
}
Scalar Multiplication (Base Point)
POST /api/zk-toolkit/ec/mulbase
Request:
Response:
{
"success": true,
"data": {
"x": "123...",
"y": "456..."
}
}
Point Addition
POST /api/zk-toolkit/ec/add
Request:
{
"p1": { "x": "...", "y": "..." },
"p2": { "x": "...", "y": "..." }
}
Scalar Multiplication
POST /api/zk-toolkit/ec/mul
Request:
{
"point": { "x": "...", "y": "..." },
"scalar": "12345"
}
Check Point on Curve
POST /api/zk-toolkit/ec/isoncurve
Request:
{
"x": "...",
"y": "..."
}
Curve Parameters
GET /api/zk-toolkit/ec/params
Shamir Secret Sharing
Split Secret
POST /api/zk-toolkit/shamir/split
Request:
{
"secret": "42",
"threshold": 3,
"shares": 5
}
Response:
{
"success": true,
"data": {
"shares": [
"1:1234567890",
"2:2345678901",
"3:3456789012",
"4:4567890123",
"5:5678901234"
],
"threshold": 3,
"total": 5
}
}
Combine Shares
POST /api/zk-toolkit/shamir/combine
Request:
{
"shares": [
"1:1234567890",
"2:2345678901",
"3:3456789012"
]
}
Response:
{
"success": true,
"data": {
"secret": "42"
}
}
Groth16 Proofs
Generate Proof
POST /api/zk-toolkit/proof/generate
Request:
{
"inputs": {
"a": "5",
"b": "7"
}
}
Response:
{
"success": true,
"data": {
"proof": {
"pi_a": [...],
"pi_b": [...],
"pi_c": [...],
"protocol": "groth16"
},
"publicSignals": ["12"]
}
}
Verify Proof
POST /api/zk-toolkit/proof/verify
Request:
{
"proof": { ... },
"publicSignals": ["12"]
}
List Circuits
GET /api/zk-toolkit/proof/circuits
Error Codes
| Code | Description |
|---|
INVALID_INPUT | Invalid input format |
FIELD_OVERFLOW | Value exceeds field prime |
NOT_ON_CURVE | Point not on Baby JubJub curve |
PROOF_FAILED | Proof generation/verification failed |
INVALID_SHARES | Invalid or insufficient shares |