# Vextorium SIWE (Sign-In with Ethereum) Verifier

> Vextorium SIWE (Sign-In with Ethereum) Verifier is a paid API for AI agents from api.vextorium.com, paid per call via x402, $0.003/call, status unknown (last checked 2026-10-13).

Verifies an EIP-4361 Sign-In with Ethereum message and signature, parsing domain, address, chain, nonce, and dates, then confirming authenticity and expiry.

## Facts

- Endpoint: POST https://api.vextorium.com/siwe-verificar-pago?utm_source=zero.xyz
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/vextorium-siwe-sign-in-with-ethereum-verifier-05a5c2fa
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_GdwEXFyzSSGg4agfP5q16

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability vextorium-siwe-sign-in-with-ethereum-verifier-05a5c2fa -d '<json body>'
```

Example prompt: Can you verify this Sign-In with Ethereum login? The signed message is 'example.com wants you to sign in with your Ethereum account...' and the signature is '0xabc123...' — tell me if the wallet address and signature are valid and whether it's still within its expiry window.

## When to prefer this

Choose this endpoint when you need to verify EIP-4361 Sign-In with Ethereum credentials server-side or agent-side, especially when you want a hosted, pay-per-call solution that parses the full SIWE message structure and validates signature, expiry, domain, and nonce in one call — without running your own Ethereum node or SIWE library.

## Known failure modes

- Invalid or malformed SIWE message returns valido:false with error details in errores array
- Expired signature (past caduca timestamp) returns valido:false
- Signature does not match the Ethereum address returns valido:false
- Domain mismatch if expected domain is provided returns valido:false
- Nonce mismatch if expected nonce is provided returns valido:false
- Missing required fields (mensaje or firma) returns HTTP 4xx error
- Malformed JSON body returns HTTP 400

## How this service works

Verify a Sign-In with Ethereum (EIP-4361) login: parses domain, address, chain, nonce and dates, checks the signature and expiry, and optionally the expected domain and nonce. Authenticate users or agents by wallet.

## Output

Returns a JSON object with a boolean 'valido' (valid), the parsed Ethereum 'direccion' (address), 'dominio' (domain), 'cadena' (chain ID), 'nonce', 'emitido' (issued-at), 'caduca' (expiry), 'uri', 'declaracion' (statement), and an 'errores' array listing any validation failures.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method",
    "bodyType",
    "body"
   ],
   "properties": {
    "body": {
     "required": [
      "mensaje",
      "firma"
     ],
     "properties": {
      "firma": {
       "type": "string"
      },
      "nonce": {
       "type": "string"
      },
      "dominio": {
       "type": "string"
      },
      "mensaje": {
       "type": "string"
      }
     }
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST"
     ],
     "type": "string"
    },
    "bodyType": {
     "enum": [
      "json",
      "form-data",
      "text"
     ],
     "type": "string"
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": [
      "object",
      "null"
     ],
     "properties": {
      "uri": {
       "type": [
        "string",
        "null"
       ]
      },
      "nonce": {
       "type": [
        "string",
        "null"
       ]
      },
      "cadena": {
       "type": [
        "string",
        "null"
       ]
      },
      "caduca": {},
      "valido": {
       "type": [
        "boolean",
        "null"
       ]
      },
      "dominio": {
       "type": [
        "string",
        "null"
       ]
      },
      "emitido": {
       "type": [
        "string",
        "null"
       ]
      },
      "errores": {
       "type": [
        "array",
        "null"
       ],
       "items": {}
      },
      "direccion": {
       "type": [
        "string",
        "null"
       ]
      },
      "declaracion": {
       "type": [
        "string",
        "null"
       ]
      }
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "uri": "https://example.com",
  "nonce": "abc12345",
  "cadena": "8453",
  "caduca": null,
  "valido": true,
  "dominio": "example.com",
  "emitido": "2026-10-02T20:00:00Z",
  "errores": [],
  "direccion": "0x7E5F4552091A69125d5DfCb7b8C2659029395Bdf",
  "declaracion": "Sign in"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/vextorium-siwe-sign-in-with-ethereum-verifier-05a5c2fa/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.vextorium.com](https://www.zero.xyz/host/api.vextorium.com/llms.txt)
