club.stellz.evm.addressControl

piss.beauty

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "properties": {
        "address": {
          "description": "Ethereum address as bytes (20 bytes)",
          "type": "bytes"
        },
        "alsoOn": {
          "description": "List of all Chain IDs (besides the one in the sign-in message, though you can include it) that the holder of this address is also active on & accepts tokens thru.",
          "items": {
            "description": "Chain ID of a Ethereum VM network",
            "type": "integer"
          },
          "type": "array"
        },
        "signature": {
          "description": "Sign in With Ethereum message signature as bytes",
          "type": "bytes"
        },
        "siwe": {
          "ref": "#siweMessage",
          "type": "ref"
        }
      },
      "required": [
        "address",
        "signature",
        "siwe"
      ],
      "type": "object"
    },
    "siweMessage": {
      "properties": {
        "address": {
          "description": "Ethereum address in 0x-prefixed, checksummed hex format",
          "maxLength": 42,
          "minLength": 42,
          "type": "string"
        },
        "chainId": {
          "description": "Chain ID of the Ethereum VM network the address is on",
          "type": "integer"
        },
        "domain": {
          "description": "Domain of the application requesting the signature, e.g. 'wallet-link.stellz.club'",
          "type": "string"
        },
        "issuedAt": {
          "description": "Timestamp when the message was signed",
          "format": "datetime",
          "type": "string"
        },
        "nonce": {
          "description": "Random nonce the message was signed with",
          "maxLength": 256,
          "minLength": 8,
          "type": "string"
        },
        "statement": {
          "description": "The message shown to the user in their wallet before signing, which MUST be of the format 'Prove control of ${address} to link it to ${did}', where ${address} is the linked Ethereum address in 0x-prefixed, checksummed hex format, and ${did} is the DID of the user.",
          "minLength": 78,
          "type": "string"
        },
        "uri": {
          "description": "URI of the application requesting the signature, e.g. 'https://wallet-link.stellz.club'",
          "format": "uri",
          "type": "string"
        },
        "version": {
          "description": "Sign in With Ethereum message version",
          "enum": [
            "1"
          ],
          "type": "string"
        }
      },
      "required": [
        "domain",
        "address",
        "statement",
        "uri",
        "version",
        "chainId",
        "nonce",
        "issuedAt"
      ],
      "type": "object"
    }
  },
  "id": "club.stellz.evm.addressControl",
  "lexicon": 1
}

Validate Record

Validate a record against club.stellz.evm.addressControl

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:7mnpet2pvof2llhpcwattscf
CID
bafyreigztunfykqipwy2zqv3xs64rva4dxe4lqp6gsi6z4tdrc4trcclcu
Indexed At
2026-02-18 18:48 UTC
AT-URI
at://did:plc:7mnpet2pvof2llhpcwattscf/com.atproto.lexicon.schema/club.stellz.evm.addressControl

Similar Lexicons

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • An attestation linking an ATProto DID to an EVM wallet address, signed with EIP-712.

  • A verifiable link between an ATProto DID and an EVM wallet address, proven via a cryptographic signature. Currently supports EOA wallets via EIP-712 typed data signatures; the proof field is an open union to allow futur…

  • A verifiable link between an ATProto DID and an EVM wallet address, with platform attestation. The user proves wallet ownership via EIP-712 signature, and the platform co-signs to attest the linking occurred through a t…

Lexicon Garden

@