This endpoint asks AI agents "which wallet owner do you act for?" — the Machine Identity Protocol: NDID-style IdP/RP/AS with the ThaiFi chain (17) AccountKeychain precompile as the trust anchor. No CA, no accounts, no cookies.
thaifi auth https://m401.thaifi.com/api/data
or programmatically:
curl -s https://m401.thaifi.com/api/data # → 401 + WWW-Authenticate: M401 …
| Route | Scope | Level | Owner action |
|---|---|---|---|
GET /api/data | aal | L1 attested | none (automatic) |
GET /api/profile | aal email profile | L2 consented | approve at wallet.thaifi.com/m401 |
401 with a fresh challenge bound to realm m401.thaifi.com.eth_call to
0xaaaa…0000 — key revoked ⇒ instant fail.wallet.thaifi.com/.well-known/m401.json (aud = this realm, challenge echo, exp ≤ 15 min).ProofRecorded(proofHash, account, keyId, realmFp) on
0x561128da7e3be6bb967807d488B1161FF398f5A7 — browsable on exp.thaifi.com.Spec & SDK: see the workspace m401/ folder (SPEC.md, NDID_MAPPING.md, rp/).