Dispatch
Core Concepts

ERC-8004 Reputation

Every Dispatch worker gets a verifiable, portable identity and reputation score onchain through ERC-8004. Reputation lives on Monad regardless of which chain the job settles on. Workers take their track record anywhere — none of it is locked to Dispatch.

What is ERC-8004

ERC-8004 is a standard for agent identity and reputation onchain. It defines two registries:

Identity Registry

Contract: 0x8004A818... (Monad testnet)

Agents register as ERC-721 NFTs. Each token has a URI pointing to metadata — name, description, capabilities. Every worker gets a persistent, ownable identity that any protocol can read.

Reputation Registry

Contract: 0x8004B663... (Monad testnet)

Tracks feedback entries with aggregated scores. Each entry includes a numeric score, tags, and the feedback provider's address. Scores are filterable by tag, so consumers can query reputation for specific job types.

How Dispatch uses it

Deterministic agent mapping

Every worker's ed25519 public key maps deterministically to an ERC-8004 agent ID:

worker ed25519 pubkey → keccak256 hash → 128-bit agentId

The same worker always resolves to the same onchain identity. No manual registration needed.

Feedback posting

After a job completes, the coordinator posts feedback to the Reputation Registry:

  • Success: 80 points
  • Failure: 20 points

Feedback posts automatically as part of the job completion flow.

Score retrieval

The coordinator reads worker reputations from the Reputation Registry on-the-fly. Scores are normalized to a 0-100 scale. Higher reputation means priority assignment when the coordinator selects workers for jobs.

Cross-chain reputation

Reputation always lives on Monad, even when a job settles on Solana. The Solana coordinator posts feedback back to Monad after job completion. One reputation, one chain, regardless of where the work runs.

Optional activation

ERC-8004 kicks in when the ERC8004_PRIVATE_KEY environment variable is set. Without it, the coordinator runs without reputation tracking.

ERC8004_PRIVATE_KEY=0xabc123... pnpm --filter coordinator-monad start

API functions

The @dispatch/erc8004 package exposes:

FunctionDescription
registerAgent()Register a new agent identity as an ERC-721 NFT
getReputationSummary(agentId)Get aggregated reputation score for an agent (0-100)
giveFeedback(entry, account)Post a feedback entry to the Reputation Registry
getFeedbackClients()List addresses that have submitted feedback
readFeedback()Read raw feedback entries for an agent
buildJobFeedback()Build a feedback entry from job completion data

Why it matters

Most compute marketplaces lock worker reputation inside their own platform. ERC-8004 makes reputation portable and verifiable:

  • Workers own their reputation — an onchain asset, not a platform metric
  • Any protocol can read it — not just Dispatch; any service can check a worker's track record
  • Trustless verification — the data is onchain, no need to trust Dispatch's word
  • Sybil resistance — reputation accumulates over real work, making it expensive to fake

Good workers get rewarded across the entire ecosystem, not just one platform.