Relayer Overview
The Relayer is a backend service that bridges off-chain TLS proofs to on-chain credentials.
What It Does
- Receives proofs from the client SDK
- Validates transcript format and extracted claims
- Submits transactions to the ZkOracle contract
- Pays gas on behalf of users
- Returns transaction hashes for tracking
Architecture
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Client SDK │────▶│ Relayer │────▶│ ZkOracle │
│ (Browser) │ │ (Node.js) │ │ (Mantle) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
POST /submit-proof ethers.js submitClaim()Production Endpoint
The hosted relayer is available at:
https://zk-rwa-kitrelayer-production.up.railway.appEndpoints
| Method | Path | Description |
|---|---|---|
| POST | /submit-proof | Submit a proof for verification |
| GET | /status/:txHash | Check transaction status |
| GET | /health | Health check |
| POST | /mint | Mint test tokens (demo only) |
Rate Limiting
The production relayer has rate limits:
- 10 requests per minute per IP
- Returns
429withRATE_LIMITEDcode when exceeded
Security Model
WARNING
The relayer is trusted in the MVP architecture. It verifies proofs off-chain and has authority to write credentials on-chain.
In production, consider:
- Multiple independent relayers
- On-chain ZK verification
- Rate limiting and monitoring
Self-Hosting
See Self-Hosting for running your own relayer.
Next Steps
- Endpoints — Full API reference
- Self-Hosting — Run your own relayer