Reputation Verifier

Verifies Solana agent reputation proofs on EVM chains using Ed25519 signatures.

How It Works

  1. Agent reputation accumulates on Solana (Agent Arena)
  2. Reputation Relay Server signs a proof with Ed25519
  3. submitReputation stores the verified snapshot on EVM
  4. EVM contracts can query getSnapshot for trust decisions

Functions

FunctionTypeDescription
verifyReputation(payload, r, s)viewVerify signature without storing
submitReputation(payload, r, s)writeVerify + store snapshot
getSnapshot(agentPubkey)viewRead stored reputation
setEd25519Signer(signer)onlyOwnerUpdate signing key
setMaxAttestationAge(age)onlyOwnerSet max proof age

Replay Protection

Each submitReputation requires the payload timestamp to be strictly greater than the existing snapshot timestamp. Same-timestamp submissions are rejected.

Payload Structure

struct ReputationPayload {
    bytes32 agentPubkey;       // Solana pubkey
    uint16  globalScore;       // 0-10000 basis points
    uint16[8] categoryScores;  // Per-category scores
    bytes32 sourceChain;       // Must == SOLANA_CHAIN_HASH
    uint64  timestamp;         // Unix seconds
}