# `X402.Extensions.SIWX.Verifier.Default`
[🔗](https://github.com/cardotrejos/x402/blob/v0.9.0/lib/x402/extensions/siwx/verifier/default.ex#L1)

Default EVM SIWX signature verifier using `ex_secp256k1`.

Signatures are verified using Ethereum's personal-sign hashing convention
(`EIP-191`) and secp256k1 public-key recovery.

# `verify_signature`
*since 0.3.0* 

```elixir
@spec verify_signature(String.t(), String.t(), String.t()) ::
  {:ok, boolean()} | {:error, term()}
```

Verifies a SIWX signature for an EVM address.

Returns `{:ok, true}` when the recovered signer address matches the provided
address (case-insensitive). Returns `{:error, :missing_dependency}` when the
optional `ex_secp256k1` or `ex_keccak` dependency is unavailable.

## Examples

    iex> X402.Extensions.SIWX.Verifier.Default.verify_signature("hello", "0x1234", "0x1111111111111111111111111111111111111111")
    {:error, :invalid_signature}

---

*Consult [api-reference.md](api-reference.md) for complete listing*
