Passkeys are a passwordless authentication technology based on the FIDO2 WebAuthn standard. They provide phishing-resistant security and a superior user experience compared to traditional passwords.
Passkeys are cryptographic credentials that use public-key cryptography to authenticate users. They consist of a public key stored on the server and a private key stored securely on the user's device. The private key never leaves the device, making passkeys highly secure against phishing attacks and data breaches.
In IBEx.Fi, each passkey becomes the signer of a Safe{Wallet} smart account. When a user registers with a passkey, the public key (P-256 / secp256r1 coordinates) is used to deploy a Safe smart wallet on-chain, with the passkey as sole owner.
This means the user's biometric (Face ID, fingerprint, Windows Hello) directly controls their on-chain wallet — no seed phrase, no password, no private key to manage. Every transaction is signed by the passkey via WebAuthn, verified on-chain by the Safe4337Module, and submitted as a gasless UserOperation.
Beyond the Safe wallet, the same passkey can optionally derive keys for EOA wallets (EIP-7702) and multi-chain wallets (Solana, Bitcoin, Cosmos…) via deterministic Key Derivation (KDF).
The IBEx.Fi API supports passkeys across all major operating systems and platforms:
| Platform | Passkey Provider | Authentication Method |
|---|---|---|
| Android | Google Password Manager | Fingerprint, Face unlock, Screen lock PIN |
| iOS / iPadOS | Apple iCloud Keychain | Face ID, Touch ID, Device Passcode |
| macOS | Apple iCloud Keychain | Touch ID, Face ID (on supported Macs), Device Password |
| Windows | Windows Hello | Windows Hello (Face, Fingerprint, PIN), Security Key |
| Linux | Platform authenticators, Security Keys | Hardware security keys (FIDO2), Platform authenticators |
| Web Browsers | Browser-managed passkeys | OS-level authentication (varies by platform) |
The IBEx.Fi API is designed to be compatible with third-party password managers that support FIDO2/WebAuthn, including:
To ensure maximum compatibility with different password managers and platforms, the IBEx.Fi API automatically normalizes public keys from multiple formats:
The API automatically detects and converts these formats to the standard SPKI DER format required for Safe Global wallet operations, ensuring seamless compatibility across all supported platforms and password managers.
The IBEx.Fi API strictly uses the ES256 algorithm (Elliptic Curve Digital Signature Algorithm with P-256 curve and SHA-256 hashing), which corresponds to:
This algorithm is widely supported across all major platforms and password managers, ensuring broad compatibility.
When creating a passkey, you can specify two optional labels:
keyName is visible as "username";
keyDisplayName is not guaranteed to be displayed.
keyName is used as the "Account" identifier;
keyDisplayName is often ignored.
keyName is displayed as the identifier;
keyDisplayName is generally ignored.
keyName is typically the primary identifier shown in the interface.
In the IBEx.Fi API, passkeys serve a dual purpose:
This means that a single passkey provides both secure authentication and wallet control, without the server ever accessing or handling the user's private key.
Passkeys are the entry point for deploying self-custody wallets on IBEx.Fi. The passkey's private key is used to deterministically derive the wallet's signing key — the server never accesses or handles it.
Both wallet types share the same API endpoints (/v1.2/auth/signup,
/v1.2/safes/operations) and are distinguished by a walletMode field
(SAFE_4337 or EOA_7702).
For more information about passkeys and the FIDO2 standard, visit the FIDO Alliance website.