org.impactindexer.link.attestation

gainforest.earth

Documentation

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

main record

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

Record Key tid Timestamp-based ID

Properties

address string Required

The EVM wallet address (checksummed or lowercase, 0x-prefixed)

maxLength: 42 bytesminLength: 42 bytes
chainId integer Required

The EVM chain ID where the signature was created

minimum: 1
createdAt string datetime Required

Timestamp when the attestation was created

message ref #eip712Message Required

The EIP-712 typed data message that was signed

signature string Required

The EIP-712 signature in hex format (0x-prefixed, 65 bytes for ECDSA, longer for smart contract sigs)

maxLength: 1000 bytesminLength: 132 bytes
signatureType string Required

The type of signature: eoa (EOA/ECDSA), erc1271 (smart contract), erc6492 (counterfactual)

maxLength: 10 bytes
Known values: eoa, erc1271, erc6492
View raw schema
{
  "key": "tid",
  "type": "record",
  "record": {
    "type": "object",
    "required": [
      "address",
      "chainId",
      "signature",
      "message",
      "signatureType",
      "createdAt"
    ],
    "properties": {
      "address": {
        "type": "string",
        "maxLength": 42,
        "minLength": 42,
        "description": "The EVM wallet address (checksummed or lowercase, 0x-prefixed)"
      },
      "chainId": {
        "type": "integer",
        "minimum": 1,
        "description": "The EVM chain ID where the signature was created"
      },
      "message": {
        "ref": "#eip712Message",
        "type": "ref",
        "description": "The EIP-712 typed data message that was signed"
      },
      "createdAt": {
        "type": "string",
        "format": "datetime",
        "description": "Timestamp when the attestation was created"
      },
      "signature": {
        "type": "string",
        "maxLength": 1000,
        "minLength": 132,
        "description": "The EIP-712 signature in hex format (0x-prefixed, 65 bytes for ECDSA, longer for smart contract sigs)"
      },
      "signatureType": {
        "type": "string",
        "maxLength": 10,
        "description": "The type of signature: eoa (EOA/ECDSA), erc1271 (smart contract), erc6492 (counterfactual)",
        "knownValues": [
          "eoa",
          "erc1271",
          "erc6492"
        ]
      }
    }
  },
  "description": "An attestation linking an ATProto DID to an EVM wallet address, signed with EIP-712."
}
eip712Message object

The EIP-712 typed data message structure

Properties

chainId string Required

The chain ID as a string (for bigint compatibility, max uint256)

maxLength: 78 bytes
did string Required

The ATProto DID being linked

maxLength: 2048 bytes
evmAddress string Required

The EVM address being linked (0x-prefixed)

maxLength: 42 bytesminLength: 42 bytes
nonce string Required

Replay protection nonce as a string (for bigint compatibility)

maxLength: 78 bytes
timestamp string Required

Unix timestamp as a string (for bigint compatibility)

maxLength: 78 bytes
View raw schema
{
  "type": "object",
  "required": [
    "did",
    "evmAddress",
    "chainId",
    "timestamp",
    "nonce"
  ],
  "properties": {
    "did": {
      "type": "string",
      "maxLength": 2048,
      "description": "The ATProto DID being linked"
    },
    "nonce": {
      "type": "string",
      "maxLength": 78,
      "description": "Replay protection nonce as a string (for bigint compatibility)"
    },
    "chainId": {
      "type": "string",
      "maxLength": 78,
      "description": "The chain ID as a string (for bigint compatibility, max uint256)"
    },
    "timestamp": {
      "type": "string",
      "maxLength": 78,
      "description": "Unix timestamp as a string (for bigint compatibility)"
    },
    "evmAddress": {
      "type": "string",
      "maxLength": 42,
      "minLength": 42,
      "description": "The EVM address being linked (0x-prefixed)"
    }
  },
  "description": "The EIP-712 typed data message structure"
}

Lexicon Garden

@