Skip to content

Testnet3 ERC-8004: Reputation registry linked to wrong identity registry #4

@ExpertVagabond

Description

@ExpertVagabond

Problem

On GOAT Testnet3, the Reputation Registry is linked to a different Identity Registry than what plugins/erc8004/addresses.ts specifies. This causes all giveFeedback calls to fail with ERC721NonexistentToken.

Details

Contract Address
Identity Registry (addresses.ts) 0x556089008Fc0a60cD09390Eca93477ca254A5522
Reputation Registry (addresses.ts) 0xd9140951d8aE6E5F625a02F5908535e16e3af964
Identity Registry (linked in Reputation slot 0) 0x54b8d8e2455946f2a5b8982283f2359812e815ce

Repro

// Register agent in addresses.ts identity registry
// Agent 296 created successfully at 0x5560...

// Try to give feedback
const result = await giveFeedback({ agentId: 296, value: 100, ... });
// Error: ERC721NonexistentToken(296)

// Because reputation registry checks 0x54b8..., not 0x5560...

Verification

// Reputation registry's slot 0 (linked identity):
await getStorageAt(REPUTATION, '0x0');
// Returns: 0x54b8d8e2455946f2a5b8982283f2359812e815ce

// This does NOT match addresses.ts:
// identityRegistry: "0x556089008Fc0a60cD09390Eca93477ca254A5522"

Mainnet Works

On mainnet, the registries are correctly linked:

  • Reputation slot 0: 0x8004a169fb4a3325136eb29fa0ceb6d2e539a432
  • addresses.ts identity: 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432
  • ✅ Match

Suggested Fix

Either:

  1. Update addresses.ts testnet3 identity to 0x54b8d8e2455946f2a5b8982283f2359812e815ce
  2. Or redeploy/reconfigure the testnet3 reputation registry to point to 0x5560...

Found while building goat-network-mcp.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions