Agents authenticate with a runtime key in the Authorization header:
Copy
Ask AI
Authorization: Bearer mndt_test_abc123...
Runtime keys use prefixes to enforce environment separation:
mndt_test_* for testnet (Sepolia, Base Sepolia)
mndt_live_* for mainnet (Ethereum, Base)
The runtime key is issued during agent registration and stored in ~/.mandate/credentials.json. You can regenerate it from the dashboard if compromised.
Dashboard users authenticate via GitHub OAuth. The Laravel session and Sanctum token are managed automatically by the frontend. Dashboard API endpoints require an active session or a Sanctum token.
The API enforces per-agent rate limits. See Rate Limits for default limits per endpoint category and retry strategies.Rate limit headers are included in every response:
The API reference pages include an interactive playground powered by the OpenAPI specification. You can test endpoints directly from the docs using your runtime key. Enter your mndt_test_* key to test against the Mandate API without writing code.
Never use a mndt_live_* key in the playground. Use testnet keys for testing.