# AuthForge > Credit-based software licensing API for developers AuthForge validates license keys with hardware binding (HWID), background heartbeat verification, and cryptographic response signing. ## SDKs - Python: https://github.com/AuthForgeCC/authforge-python - C#: https://github.com/AuthForgeCC/authforge-csharp - C++: https://github.com/AuthForgeCC/authforge-cpp - Rust: https://github.com/AuthForgeCC/authforge-rust - Go: https://github.com/AuthForgeCC/authforge-go ## API - Base URL: https://api.authforge.cc/v1/ - Auth: Bearer token (API key) - Docs: https://docs.authforge.cc/api/overview ## Key concepts - Apps have an App ID (public) and App Secret (private, used for signature verification) - License keys are format XXXX-XXXX-XXXX-XXXX - Each license has HWID slots (1-10 devices), optional expiry, and status (active/revoked) - Successful validation costs 1 credit; 100 heartbeats cost 1 credit - Server responses are HMAC-SHA256 signed; SDKs verify automatically ## Integration flow 1. Create app in dashboard → get App ID + App Secret 2. Generate license keys (dashboard or API) 3. In your app: initialize SDK with App ID + App Secret 4. Call login(licenseKey) → SDK handles HWID, crypto, heartbeats 5. Handle on_failure callback for revocation/expiry