01 · Identity
Overview
Section titled “Overview”TKAWEN Identity is the authentication and verification layer for every TKAWEN service and your own apps:
- OIDC SSO — standards-based single sign-on (OAuth 2.1, OIDC discovery, JWKs)
- KYC — identity verification against multiple national registries (US, EU, MENA, more)
- Trust signals — portable reputation across products built on TKAWEN
- Unified accounts — one user, one account, all your services
Replaces Auth0, Okta, Clerk, Onfido.
Quick start
Section titled “Quick start”# Verify an identity against a national registrycurl -X POST https://api.tkawen.com/v1/identity/verify \ -H "Authorization: Bearer $TKAWEN_KEY" \ -H "Content-Type: application/json" \ -d '{ "national_id": "1234567890123456", "first_name": "Jane", "last_name": "Doe", "date_of_birth": "1995-03-12", "country": "US" }'Response in under 800ms:
{ "verified": true, "match_score": 0.97, "verified_fields": ["first_name", "last_name", "date_of_birth"], "trust_score": 78, "session_id": "sess_8xk2..."}Endpoints
Section titled “Endpoints”| Method | Path | Purpose |
|---|---|---|
POST | /v1/identity/verify | KYC against national registries |
GET | /v1/identity/me | Current user |
POST | /v1/identity/sessions | Create session (OIDC token) |
POST | /v1/identity/sessions/revoke | Revoke a specific session |
GET | /v1/identity/trust/{user_id} | Cross-product trust score |
POST | /v1/identity/trust/events | Submit a trust event (order, dispute, etc.) |
GET | /v1/identity/oidc/.well-known/openid-configuration | OIDC discovery |
Pricing
Section titled “Pricing”| Action | Price | Notes |
|---|---|---|
| Sign-in | $0.001 / session | Per new session |
| KYC verify | $0.05 / verify | Includes document OCR |
| Trust check | $0.005 / query | Cross-product reputation |
| Trust event ingestion | Free | Encourages quality data |
Sandbox: 1,000 calls / month of each type, free.
SDK examples
Section titled “SDK examples”import { Tkawen } from '@tkawen/sdk';const tk = new Tkawen({ key: process.env.TKAWEN_KEY });
const result = await tk.identity.verify({ nationalId: '1234567890123456', firstName: 'Jane', lastName: 'Doe', dateOfBirth: '1995-03-12', country: 'US',});console.log(result.verified, result.trustScore);use Tkawen\Sdk\Client;$tk = new Client(['key' => env('TKAWEN_KEY')]);
$result = $tk->identity->verify([ 'national_id' => '1234567890123456', 'first_name' => 'Jane', 'last_name' => 'Doe', 'date_of_birth' => '1995-03-12', 'country' => 'US',]);from tkawen import Tkawentk = Tkawen(key=os.environ['TKAWEN_KEY'])
result = tk.identity.verify( national_id='1234567890123456', first_name='Jane', last_name='Doe', date_of_birth='1995-03-12', country='US',)import "github.com/hartemyaakoub/tkawen-go"tk := tkawen.New(os.Getenv("TKAWEN_KEY"))
result, err := tk.Identity.Verify(ctx, &tkawen.VerifyRequest{ NationalID: "1234567890123456", FirstName: "Jane", LastName: "Doe", DateOfBirth: "1995-03-12", Country: "US",})Limits + SLA
Section titled “Limits + SLA”- Rate limit: 100 req/sec per API key (Builder), 1000 req/sec (Enterprise)
- Latency p99: under 800ms for KYC, under 50ms for trust checks
- SLA: 99.9% (Builder), 99.99% (Enterprise)
Concepts
Section titled “Concepts”OIDC Discovery
Section titled “OIDC Discovery”Any app can use TKAWEN Identity as a standard OIDC Provider. Point your app at:
https://identity.tkawen.com/application/o/your-app/.well-known/openid-configurationTrust Score
Section titled “Trust Score”A number from 0 to 100 summarising:
- Transaction history across TKAWEN-powered products
- Dispute / chargeback ratio
- Identity stability (consistent phone, email, name across products and time)
- KYC completeness (verified ID, verified phone, verified address)
Related
Section titled “Related”- Live status: status.tkawen.com
- Spec repo: github.com/hartemyaakoub
- Next: 02 · Connect