app.gainforest.link.evm

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 trusted service.

Details · record, key any
Kindrecord
Record keyany
Authoritylink.gainforest.app
Indexed

Record

record · key any

Properties

address

requiredstring

EVM wallet address (0x-prefixed, checksummed).

  • minLength: 42
  • maxLength: 42

createdAt

requiredstring · datetime

Client-declared timestamp when this record was originally created.

name

string

Optional user-defined name for this wallet link (e.g. 'Personal Wallet', 'Project Treasury'). Helps users identify which wallet this record represents when they have multiple linked wallets.

  • maxLength: 100

platformAttestation

requiredunion

Platform's co-signature attesting that this link was created through the trusted service. Open union to support future attestation methods.

userProof

requiredunion

User's cryptographic proof of wallet ownership. Open union to support future signature methods (ERC-1271, ERC-6492).

One of

#eip712Message

object

The EIP-712 typed data message signed by the user's wallet.

Properties

chainId

requiredstring

EVM chain ID as string (bigint serialized). The EIP-712 domain is chain-specific; verifiers should treat this attestation as valid only for the specified chain.

  • minLength: 1
  • maxLength: 78

did

requiredstring · did

The ATProto DID being linked to the EVM address.

  • maxLength: 256

evmAddress

requiredstring

The EVM wallet address (must match the top-level address field).

  • minLength: 42
  • maxLength: 42

nonce

requiredstring

Replay-protection nonce (bigint serialized).

  • minLength: 1
  • maxLength: 78

timestamp

requiredstring

Unix timestamp when the attestation was created (bigint serialized).

  • minLength: 1
  • maxLength: 78

#eip712PlatformAttestation

object

Platform's EIP-712 attestation that this DID-wallet link was created through a trusted service. The platform signs over the user's signature to bind its attestation to the specific linking event.

Properties

platformAddress

requiredstring

The platform's signing wallet address (0x-prefixed). Verifiers should check this against known/trusted platform addresses.

  • minLength: 42
  • maxLength: 42

signature

requiredstring

Platform's ECDSA signature over the signedData (hex-encoded with 0x prefix, 64 or 65 bytes).

  • minLength: 130
  • maxLength: 132

signedData

requiredstring

The user's signature that the platform signed over (hex-encoded with 0x prefix). This binds the platform attestation to the specific user proof.

  • minLength: 130
  • maxLength: 132

#eip712Proof

object

EOA wallet ownership proof via EIP-712 typed data signature.

Properties

message

requiredref

The EIP-712 structured message fields that were signed.

Reference

signature

requiredstring

User's ECDSA signature over the EIP-712 hash (hex-encoded with 0x prefix, 64 or 65 bytes).

  • minLength: 130
  • maxLength: 132

Similar lexicons

semantic match

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

  • 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 future signature methods.

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