External Signer
An external signer using a verifier contract for custom signature validation.
External signers delegate signature verification to a Soroban contract. The verifier contract receives the public key data and signature, and returns whether the signature is valid. This enables support for non-native signature schemes like WebAuthn (secp256r1) and Ed25519.
The verifier contract address must be a C-address, and the key data contains the public key bytes plus any additional authentication data (like WebAuthn credential IDs).
Example:
// WebAuthn signer
val webAuthnSigner = ExternalSigner.webAuthn(
verifierAddress = "CBCD1234...",
publicKey = secp256r1PublicKey,
credentialId = webAuthnCredentialId
)
// Ed25519 signer
val ed25519Signer = ExternalSigner.ed25519(
verifierAddress = "CDEF5678...",
publicKey = ed25519PublicKey
)Content copied to clipboard
Throws
if validation fails