Agentic ID

Onchain identity for AI agents.

Built on ERC-7857 with encrypted model data, re-encryption on transfer, and TEE/ZKP-verified proofs. Register agents, authorize callers, transfer ownership with the model weights intact.

Try it without code

View on Chain Scan

§ 01 · Examples

Three self-contained examples in the agenticID-examples repo. Start with 01, then progress as needed.

§ 02 · Quickstart

Recommended

Start from the Agentic ID examples repo

Three progressive examples (beginner to advanced) with a shared Hardhat contract and TypeScript tooling. Clone, install, and run any example.

Clone starter kit

Or follow the 6 steps below to wire it up yourself.

01

Clone the Agentic ID examples

bash
git clone https://github.com/0gfoundation/agenticID-examples
cd agenticID-examples/examples/01-mint-and-manage
npm install
02

Run the beginner app

bash
# the app points to a pre-deployed contract on 0G Galileo Testnet:
# 0x2700F6A3e505402C9daB154C5c6ab9cAEC98EF1F
# optional: set a WalletConnect project id for mobile wallet support
# get one at https://cloud.walletconnect.com
# NEXT_PUBLIC_WALLETCONNECT_PROJECT_ID=...
npm run dev
# open http://localhost:3000 and connect a wallet funded on 0G Galileo
03

Register an AI agent

sol
// mint an Agentic ID token with encrypted intelligent data hashes
function mint(
address to,
string calldata encryptedURI,
bytes32 metadataHash
) external onlyOwner returns (uint256);
// each field (model, prompt, capability) is hashed on-chain
// so anyone can verify the agent without seeing its data.
04

Authorize another address to use your agent

sol
// grant per-token execution rights without transferring ownership
function authorizeUsage(
uint256 tokenId,
address executor,
bytes calldata permissions
) external;
// up to 100 authorized users per token
// revoke any time with revokeAuthorization(tokenId, executor)
05

Transfer with re-encryption

sol
// the oracle (TEE or ZKP) re-encrypts intelligent data
// for the new owner and generates a proof
function iTransferFrom(
address from,
address to,
uint256 tokenId,
bytes calldata sealedKey,
bytes calldata proof
) external;
// authorizations are cleared on transfer for security.
06

Deploy your own instance

bash
# set PRIVATE_KEY in .env (funded on 0G Galileo Testnet)
cd agenticID-examples/examples/01-mint-and-manage
npm run deploy:testnet

Note

The examples ship a simplified ERC-7857 contract. For production, use the reference implementation at 0gfoundation/0g-agent-nft with real TEE/ZKP proof verification.

§ 03 · Deep dive

§ 04 · Tutorials

§ 05 · Built with Agentic ID

View showcase →