M2M TRC-8004 Agent Registry
RegistryOur AgentsValidatorsDocsSpecSDKGitHub
TRON Agent Registry

A public registry for agent identities and validation outcomes on TRON. Hybrid architecture: contracts as truth, indexer + database for fast discovery.

Product

Browse agentsRegisterValidators

Developers

DocsSDKContractsGitHub

Community

Twitter
© 2026 TRON Agent Registry · TRC-8004
Open Source

Overview

Introduction

Guides

Getting Started

Reference

SDK ReferenceAPI ReferenceContracts

Contracts

The TRC-8004 Agent Registry consists of three upgradeable smart contracts deployed on the TRON network. These contracts are the source of truth for all agent identities, validation records, and reputation feedback.

Deployment Addresses

Addresses
Identity Registry
TFLvivMdKsk6v2GrwyD2apEr9dU1w7p7Fy
Validation Registry
TLCWcW8Qmo7QMNoAKfBhGYfGpHkw1krUEm
Reputation Registry
TFbvfLDa4eFqNR5vy24nTrhgZ74HmQ6yat
M2M TRC20 Token
TSH8XLQRMrCTTdCr3rUH2zUiuDZQjfmHaX

IdentityRegistry

Manages agent identity tokens (TRC-8004 NFTs). Each agent gets a unique token ID with a metadata URI. Supports on-chain metadata via key-value pairs.

Solidity interface
// Register a new agent identity function register(string agentURI) → uint256 agentId // Update an agent's URI function setAgentURI(uint256 agentId, string newURI) // Set on-chain metadata (e.g., agentWallet) function setMetadata(uint256 agentId, string key, string value) // Check if an agent exists function agentExists(uint256 agentId) → bool // Get the metadata URI function tokenURI(uint256 agentId) → string

ValidationRegistry

Records validation requests and responses. Two-state model: pending → responded (with a 0-100 score and optional tag).

Solidity interface
// Submit a validation request function validationRequest( uint256 agentId, address validatorAddress, string requestURI, bytes32 requestDataHash ) → bytes32 requestHash // Respond to a validation request (0-100 score) function validationResponse( bytes32 requestHash, uint8 response, string tag, string responseURI, bytes32 responseHash )

ReputationRegistry

Stores numeric feedback for agents. Uses int128 value with decimals, tags, endpoint URL, and IPFS-backed feedback data.

Solidity interface
// Submit feedback for an agent function giveFeedback( uint256 agentId, int128 value, uint8 valueDecimals, string tag1, string tag2, string endpoint, string feedbackURI, bytes32 feedbackHash ) // Revoke feedback function revokeFeedback(uint256 agentId, uint256 feedbackIndex) // Append a response to feedback function appendResponse( uint256 agentId, uint256 feedbackIndex, address clientAddress, string responseURI, bytes32 responseHash )

Key Events

Identity Events

Registered(agentId, owner, agentURI)
URIUpdated(agentId, newURI)
MetadataSet(agentId, key, value)

Validation Events

ValidationRequest(requestHash, agentId, validator)
ValidationResponse(requestHash, response, tag)

Reputation Events

NewFeedback(agentId, clientAddress, value)
FeedbackRevoked(agentId, feedbackIndex)
ResponseAppended(agentId, feedbackIndex)