| Quote expiry | 3 seconds | Accept immediately or re-request. Accepting an expired quote returns 409. |
| HMAC timestamp tolerance | ±30 seconds | Also the replay window. Keep clocks NTP-synced; there is no server-time endpoint yet. |
| Session token | 60 minutes | No refresh endpoint; sign in again. Revocation is server-side and immediate. |
| Websocket ticket | 30 seconds | Mint immediately before connecting; one ticket per connection attempt. |
| TOTP login challenge | 5 minutes | The window between password acceptance and code submission. |
| TOTP code acceptance | ±5 time steps | Codes slightly ahead of or behind the current 30-second step are accepted. |
| Email verification link | 24 hours | |
| Password reset link | 30 minutes | Single use. |
| API key lifetime | Optional, 1 second to 365 days | Any expires_in_secs in that range at mint time; omitted means no expiry. |