ZK-eSIM provides a set of REST API endpoints to interact with the backend verification server.
These endpoints allow you to verify identity proofs, purchase eSIM plans, and activate eSIMs, all while preserving user privacy via zero-knowledge proofs.
Endpoint
Method
Description
/auth/proof
POST
Verify ZK identity proof
/buy-esim
POST
Issue ZK tariff credential
/activate
POST
Activate eSIM
1. /auth/proof - Verify ZK Identity Proof
Description:
Verify that the user’s pseudonymous eSIM identity is valid using a zero-knowledge proof.
No sensitive data such as IMSI or real user information is sent.
proof → JSON object generated by client-side prover
pseudo_id → pseudonymous identifier for the eSIM
2. /buy-esim - Issue ZK Tariff Credential
Description:
Used to purchase or issue a tariff/plan while maintaining user anonymity.
The server verifies the zero-knowledge proof of payment or subscription validity.
Request Example (JSON):
Response Example (JSON):
Notes:
planId → identifier of the chosen tariff or plan
The proof confirms that the user has paid or is eligible, without revealing identity
3. /activate - Activate eSIM
Description:
Activate the eSIM using a zero-knowledge proof generated from either identity verification or plan purchase.
The server verifies the proof and updates the eSIM status.
Request Example (JSON):
Response Example (JSON):
Notes:
This endpoint is the final step in the eSIM workflow
Ensures that activation is fully private and cryptographically verified
Usage Tips
Always generate ZK proofs on the client side; never send raw IMSI or personal data.
Verify the proof immediately after generation to confirm validity before sending.
Combine /buy-esim and /activate in one flow for testing the MVP.
Use pseudo_id consistently across calls to simulate the same eSIM identity.