http://localhost:3000
All protected endpoints require a JWT obtained by signing a challenge with your Stellar wallet private key.
GET /auth/challenge?wallet=GXYZ...— Get a challenge string- Sign the challenge with your Stellar keypair
POST /auth/loginwith{ wallet, signature, challenge }— Receive JWT- Include
Authorization: Bearer <token>in protected requests
- General API: 100 requests per 15 minutes
- Auth endpoints: 10 requests per 15 minutes
- Proof submission: 50 requests per hour
All errors follow a standard format:
{ "error": "message", "details": [] }| Code | Meaning |
|---|---|
| 400 | Validation error |
| 401 | Invalid or expired token |
| 404 | Resource not found |
| 409 | Resource already exists |
| 413 | File too large |
| 429 | Rate limit exceeded |
| 500 | Internal server error |