What are Authenticators?
An authenticator is a contract that:- Verifies user identity - Confirms the action comes from the claimed address
- Validates signatures or transactions - Checks cryptographic proofs
- Calls the space contract - Forwards the authenticated action
Authenticator Interface
EVM Authenticators
EVM authenticators create contract calls from envelopes:Starknet Authenticators
Starknet authenticators create separate calls for each action type:EVM Authenticators
Vanilla Authenticator
The simplest authenticator - uses direct transaction authentication.EthTx Authenticator
Authenticates via direct Ethereum transactions with additional validation.EthSig Authenticator
Authenticates using EIP-712 typed signatures for gasless voting.
EIP-712 message format for voting:
Starknet Authenticators
Starknet Vanilla Authenticator
Direct transaction authentication on Starknet. Use case: Direct Starknet transactions.StarkSig Authenticator
Authenticates using Starknet signature verification.StarkTx Authenticator
Authenticates via direct Starknet transactions. Use case: Direct Starknet transaction authentication.Cross-Chain Authenticators
Starknet also supports Ethereum authenticators for cross-chain governance:- EthSig on Starknet: Verify Ethereum signatures on Starknet
- EthTx on Starknet: Accept Ethereum transaction proofs on Starknet
Signature Data Structure
TheSignatureData type contains all information needed to verify a signature:
Using Authenticators
Configure Space Authenticators
Enable authenticators when creating a space:Voting with Vanilla Authenticator
Direct transaction (user pays gas):Voting with EthSig Authenticator
Gasless signature-based voting:Authenticator Resolution
Authenticators are resolved from network configuration:Authentication Flow
Authenticator Types by Network
| Authenticator | EVM | Starknet | Gasless | Description |
|---|---|---|---|---|
| vanilla | ✅ | ✅ | ❌ | Direct transaction |
| ethTx | ✅ | ✅ | ❌ | Ethereum transaction with validation |
| ethSig | ✅ | ✅ | ✅ | EIP-712 signature |
| ethSigV2 | ✅ | ❌ | ✅ | Updated EIP-712 signature |
| starkSig | ❌ | ✅ | ✅ | Starknet signature |
| starkTx | ❌ | ✅ | ❌ | Starknet transaction |
Spaces
Learn about governance spaces
Strategies
Understand voting power
Creating Proposals
Create your first proposal
Gasless Voting
Implement gasless voting