Abstract Base Class Base class for email / phone non-custodial signers.Documentation Index
Fetch the complete documentation index at: https://docs.crossmint.com/llms.txt
Use this file to discover all available pages before exploring further.
CrossmintSignerBridgeClient. The SDK owns the
WebView’s lifecycle via CrossmintWalletHost — if it is not mounted,
attempting to use a non-custodial signer throws
CrossmintSignerException(code: nonCustodialBridgeHostNotMounted).
When authentication is needed, the signer calls onAuthRequired which
surfaces the OTP challenge to UI (typically via
CrossmintWalletController.otp). Concurrent callers are coalesced onto
the same in-flight auth future to avoid double-prompting.
Non-custodial signers are also CrossmintExportableWalletSigners —
email/phone signers can export their private key via
exportPrivateKey.
Constructors
CrossmintNonCustodialSigner
CrossmintClient (e.g. createEvmNonCustodialSigner) over constructing this directly.
Properties
client
bridge
type
locator
address
onAuthRequired
CrossmintWalletController.onAuthRequired — which in turn surfaces a reactive challenge on CrossmintWalletController.otp.
needsAuth
true while an OTP challenge is outstanding.
canExportPrivateKey
Methods
ensureAuthenticated
onAuthRequired if necessary. Concurrent callers share the same in-flight future — the user sees at most one prompt per auth cycle.
signMessage
signTransaction
sign
sendOtp
CrossmintWalletOtpController.sendOtp during an active challenge.
exportPrivateKey
verifyOtp
ensureAuthenticated future on success.
reject
ensureAuthenticated future with CrossmintAuthRejectedException when no cause is supplied.
