The embedded, non-custodial wallet you fully own.
Ship a passkey-powered Ethereum wallet experience that is secure by design, easy for users, and entirely under your control. Your app derives wallet keys from WebAuthn PRF, runs signing in an isolated iframe, and keeps private keys out of your backend forever.
- No extensions
- No vendor lock-in
- No custody risk
npx skills add 1Shot-API/skills/webauthn-prf-wallet- PasskeyFace ID · Touch ID · PIN
- PRF outputHMAC-SHA-256 · per credential
- secp256k1 keyHKDF → valid EVM key
- Iframe signerIsolated · same-origin
Install the 1Shot PRF skill, then tell the agent what to ship.
The skill gives the agent the sharp edges up front: PRF derivation, iframe isolation, platform gating, and the stablecoin checkout wiring your product needs.
The passkey-first wallet pattern
Everything you get without handing your users — or your wallet stack — to someone else.
No 3rd-party wallet software
Users sign in with native passkeys instead of installing extensions or external wallet apps. Onboarding finishes in one biometric tap.
100% source-code ownership
Implement directly in your stack and control every line of client and server logic. No SDK black boxes, no usage metering, no dashboards that own your user.
Fully non-custodial
Your server never receives private keys, PRF output, or derived key material. The only thing leaving the client is a signature.
Embeddable across products
Expose wallet capabilities through an iframe so third-party applications can integrate your wallet UX without inheriting custody.
Modern auth UX
Biometric and passkey prompts replace seed-phrase friction for everyday users. Face ID in, signed transaction out.
Security-forward architecture
Key material stays in an isolated same-origin iframe context, shrinking the blast radius of any XSS or supply-chain compromise in the parent app.
Four steps from passkey to signature
No seed phrases, no server-side keys, no vendor in the middle. Just deterministic client-side cryptography.
Passkey authentication
User completes a WebAuthn ceremony — Face ID, Touch ID, fingerprint, or PIN — on the device they already own.
Deterministic key derivation
WebAuthn PRF output is transformed via HKDF-SHA-256 into a valid secp256k1 private key, on-device, every time.
Isolated signing runtime
The key exists only in a same-origin iframe context and signs through a narrow, typed RPC interface — never exposed to the parent app.
Embeddable wallet interface
Third-party apps consume wallet actions through iframe embedding. They get signatures and addresses — and never touch keys.
A real EVM key — not a smart-wallet workaround.
Most passkey wallets hand you a P-256 key — which forces you into a smart-contract wallet, on-chain signature validation, and per-user deployments just to send a transaction. The PRF pattern instead derives a native secp256k1 EVM private key on-device. Exactly what MetaMask, hardware wallets, and every EVM tool already speak.
The result is a standard EOA that works everywhere — including 1Shot's public relayers, out of the box. Sign a transaction in the iframe, hand the signed payload to a relayer, and it lands on-chain like any other EOA tx.
- Standard EOA — no per-user smart-contract deploy on first transaction
- Signatures verify natively in any EVM contract, on any chain
- Drop-in with 1Shot's public relayers, public RPCs, and any wallet connector
- No account-abstraction bundlers, no P-256 precompile dependencies, no custom validation contracts
- 1Passkey ceremony → P-256 key
- 2Deploy smart-contract wallet
- 3On-chain P-256 signature validation
- 4Bundler + paymaster → tx lands
- 1Passkey → PRF → secp256k1 EOA key
- 2No contract to deploy
- 3Native ECDSA signature — verifies anywhere
- 41Shot relayer → tx lands
Where keys live — and where they don't
One diagram tells security reviewers everything they need to know.
- Passkey ceremony
- PRF output · HKDF
- secp256k1 private key
- Transaction signer
- Challenge generation
- Signature verification
Security positioning
- Private key derivation and signing stay client-side.
- Backend is limited to WebAuthn challenge generation + signature verification.
- No key export to server, logs, analytics pipelines, or third-party custody layers.
- Same-origin iframe isolation and CSP hardening improve defense-in-depth.
How it compares
Three wallet models, side-by-side.
Registration & signing at a glance
A swimlane for technical buyers and security reviewers: who talks to whom, and what the payload actually is.
PRF-first, with a path for every user
PRF is the happy path. For platforms that don't support it yet — we ship a graceful LongBlob + recovery-phrase fallback so no user is left out.
PRF-first flow
- Deterministic HKDF → secp256k1 derivation
- One passkey = one wallet, per credential
- Zero client-side secrets persisted
LongBlob + recovery phrase
- 32-byte key stored inside the credential via credBlob / largeBlob
- Multiple passkeys can share the same wallet
- AES-256 recovery phrase encrypts a server-side backup ciphertext
Grow distribution without handing over your wallet.
You don't have to choose between ownership and ecosystem compatibility. Keep full control over wallet logic, policies, and source code — and still let external apps integrate your wallet through a clean embedded interface.
Grow distribution without handing core wallet infrastructure to a third-party provider.
- Embedded wallets for consumer appsAdd a native wallet to your product without a wallet browser extension.
- Passkey-first onboardingReplace seed-phrase onboarding with a single biometric tap for Web3 products.
- Browser-native walletsWallet-as-a-pattern: absolutely no user limits or dependencies on external providers.
- Partner portals with delegated accessSecure, policy-bound wallet access for partners who should not hold keys directly.
- Developer platforms with wallet featuresExpose wallet actions to customer apps via iframe — without inheriting their custody risk.
Ship a wallet your users — and your security team — can trust.
We're pairing with a small set of launch partners building consumer apps, white-labeled wallets, and delegated-access portals. Let's talk.
npx skills add 1Shot-API/skills/webauthn-prf-wallet