You know at build time which signing path your app uses. This recipe helps you pick and wire it.
For the underlying model, see Signing paths.
Do you own the wallet’s domain?
Ask one question: is the passkey’s rpId a domain you control and can serve
.well-known files from?
- Yes, use own-origin. Set
rpId. Signing runs in your app, in code. This is the path for
wallet apps and any app that owns its wallet UX.
- No, use shared-origin. Set
authOrigin, pointing at the operator origin that hosts the
wallet. Signing happens in a popup or in-app browser tab at that origin; your app receives only
the result.
rpId and authOrigin are mutually exclusive. Set exactly one.
Own-origin
On React Native, also pass the injected passkey module:
Shared-origin
On React Native, use createNativeSharedOrigin over an in-app browser tab. See React Native
setup.
Once you have a connection, pass it to createAvokClient. See Create your first
wallet.