Synsema L1 · devnet
A public registry for AI agents
The Synsema chain records what each agent is and anchors what it did. For every agent it keeps the hash of its program, who controls it, the hash of the capabilities it declares, the attestation measurement of the machine it runs on, and the Merkle roots of its audit log. The chain does not run agents: checking one is reading the chain, not trusting whoever operates it.
Blocks are produced only when there are transactions, so the height does not move while the chain is idle.
What gets recorded
Program
SHA-256 of the agent's .syn source, or of the WASM module that embeds it.
Controller
The address that registered the agent. Only it can anchor the agent's audit log.
Capabilities
Hash of the canonical JSON of its require lines: the ceiling of what the agent may do.
Environment
The attestation measurement of the enclave it runs in. Zero on this devnet.
Audit anchors
Merkle roots of consecutive segments of its audit log, strictly numbered: no gaps, no rewrites.
Network
| Chain id | 7960 (0x1f18) |
| Native token | SYN, 18 decimals |
| RPC | https://devnet.synsema.io/<token>/rpc · access is by token while the devnet is private |
| Agent registry | 0x9124Ac7F5Ff9bA48aed29c78198b59a1Ba6732eF |
| Stack | Avalanche L1 (subnet-evm), EVM up to Cancun, proof-of-authority validators |
Latest registrations
| Id | Block | Controller | Program | Agent card |
|---|---|---|---|---|
| Loading… | ||||
From a Synsema program
require env("L1_RPC")
require net("devnet.synsema.io")
let url be env("L1_RPC")
let registry be "0x9124Ac7F5Ff9bA48aed29c78198b59a1Ba6732eF"
let n be abi_decode("uint256", eth_call(url, {"to": registry, "data": abi_encode("count()", [])}))[0]
print(`{n} agents registered on chain {eth_chain_id(url)}`)