How authentication works

A signed challenge from your wallet, gated by biometrics — not a password.

Updated August 31, 2026 · 1 min read

PTERI authentication is challenge–response with a wallet signature, not a password or a FIDO2/WebAuthn credential.

App requestsauthentication PTERI issues arandom challenge Wallet signs itafter biometricapproval Signature verified→ session issued
Diagram: the authentication flow described below. (An illustration we made, not a product screenshot.)

The flow

  1. An app or service requests authentication
  2. PTERI's backend generates a challenge — a random, short-lived value
  3. The challenge reaches your wallet
  4. You approve via your device's biometrics
  5. The wallet signs the challenge with your private key
  6. The signature is sent back and verified against your known public key
  7. Once verified, the backend issues its own session — it never saw or handled your private key at any point

Because the key never leaves your device and each challenge is single-use, there's no reusable secret for a phishing page or a breached database to expose.

For developers

API requests authenticate with the nodeUrlOrApiAccessKey header — either your API access key (a JWT, sent raw with no Bearer prefix) or a dedicated node URL on Enterprise plans. Signing and verification are exposed directly as API operations: /api/Address/sign-message and /api/Address/verify-message. See getting started with the API for a working request sequence.

Still stuck?

Ask Kai about this article, or open a ticket with our team.

Submit a ticket