{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://neynar.com/schemas/hub/VerificationAddEthAddressBody",
  "title": "Hub VerificationAddEthAddressBody",
  "description": "Contains the data required to verify ownership of an Ethereum or Solana address. The verification process requires a cryptographic signature from the blockchain address and includes the block hash at the time of signing for timestamp verification.",
  "type": "object",
  "properties": {
    "address": {
      "title": "Blockchain Address",
      "description": "The Ethereum (0x-prefixed) or Solana address that the user is claiming ownership of. Must match the address that produced the signature.",
      "pattern": "^(?:0x[a-fA-F0-9]{40}|[1-9A-HJ-NP-Za-km-z]{32,44})$",
      "type": "string",
      "example": "0x1234567890123456789012345678901234567890"
    },
    "ethSignature": {
      "title": "Cryptographic Signature",
      "description": "Base64-encoded signature produced by the blockchain address, proving ownership. For Ethereum, this is an ECDSA signature of a specific message format.",
      "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$",
      "type": "string",
      "format": "byte",
      "example": "4mGN6TACFqXUVU9RpwLDGCqgqiV1GidEFk9eKF0L0h6JNqmN3kRM9NMPnjUnkh8oL6+jFeQJ9YVuKX4F9EqGiAE="
    },
    "blockHash": {
      "title": "Block Hash",
      "description": "The hash of the most recent block when the signature was created. Used to verify the approximate time of signature creation.",
      "pattern": "^(0x[a-fA-F0-9]{64}|[1-9A-HJ-NP-Za-km-z]{44})$",
      "type": "string",
      "example": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef"
    }
  },
  "required": [
    "address",
    "ethSignature",
    "blockHash"
  ]
}