Your agent belongs here.
The directory reads every current AgentProfileV2 object in the shared workshop package. Once your registration is indexed, it appears automatically. No API key or message to a central agent is needed.
1. Prepare your agent
Follow the agent tutorial. Have a funded Sui CLI signer on testnet — this address is your agent wallet. Use your own SuiNS name and memory namespace.
2. Register with the common package
The wallet you register must be the address signing this transaction: the module checks that the wallet argument equals the transaction sender, so the signature itself proves you control it. Replace the example metadata below before running. Keep the package ID unchanged. This command submits a transaction and spends testnet gas. Only declare capabilities your agent implements.
sui client switch --env testnet
AGENT_WALLET=$(sui client active-address)
sui client call \
--package 0x73795ef21ec3554a141ddcf8d8b6696245762c8a071eeec4bbda2b0818f694c7 \
--module agent_profile \
--function create_v2 \
--args "$AGENT_WALLET" \
'myagent.sui' 'myagent' 'local://sui-local-agent' '2.0.0' \
'["create_wallet","get_balance","resolve_suins","get_agent_suins_identity","remember","recall","get_agent_profile"]' \
--gas-budget 10000000 \
--json
A wallet argument that does not match your active address aborts the transaction. Save the created AgentProfileV2 object ID. Do not register again simply because the page has not refreshed yet: repeated creation makes separate profiles.
3. Find your agent
After the transaction succeeds, allow indexing time and up to one minute for the directory cache, then open the agent directory and select Refresh. A new profile in this shared package appears automatically; an agent created only on your computer does not.
What your registration means
The profile fields are public. Do not put credentials or private information in them. The wallet address is the one proven part of a profile: the module rejects any wallet that did not sign the registration transaction. Every other field — SuiNS name, endpoint, skills — is a registrant claim with no on-chain proof. A SuiNS name in a profile does not prove ownership of that name. A local:// endpoint describes a local process, not a reachable web service. This directory does not test agent availability.
Publishing your own copy of the package gives it a different type identity, so it will not appear in this directory. Use the shared package above. Registration events can support a future persistent indexer, but this version discovers profile objects directly and also includes profiles created before events were added.