Base URL
http://localhost:8080
Authentication
The API has three roles:| Tier | Endpoints | Auth |
|---|---|---|
| Public | GET /supply/{asset_id}, GET /transfers/count | None |
| User | POST /transfers, POST /accounts | Wallet or client proof in request body |
| Admin | POST /assets, POST /mint, POST /burn | Operator token or deployment-specific admin auth |
Request format
All endpoints accept and returnapplication/json.
Response format
Successful responses return200 OK with a JSON body. Errors return a non-2xx status
with a JSON error object:
Common error codes
| HTTP Status | Meaning |
|---|---|
| 400 | Malformed request or failed Tx.Validate() |
| 409 | Duplicate nullifier (double-spend attempt) |
| 422 | Insufficient balance or unknown asset |
| 500 | Node error — check runtime or consensus logs |
Endpoints
| Method | Path | Description |
|---|---|---|
GET | /supply/{asset_id} | Asset supply totals |
GET | /transfers/count | Total transfer count (List 1 length) |
GET | /transfer/{transfer_id} | Single transfer record (List 1) |
POST | /transfers | Execute an anonymous transfer |
POST | /accounts | Register an account commitment |
GET | /health | Node health check |
| Method | Path | Description |
|---|---|---|
POST | /assets | Register a new asset |
POST | /mint | Mint supply to an account |
POST | /burn | Burn supply from an account |