Skip to main content
brickken agent groups the ERC-8004 identity and reputation operations. Every subcommand is prepare-only by default; add --execute to prepare, sign locally, send, and pay through x402 in one step. For the field-level semantics of each underlying method, see Agentic Methods with x402.

Shared options

These options apply to every agent subcommand:
FlagDescription
--chain <chain>Chain identifier (decimal or hex)
--signer-address <address>Signer wallet address
--gas-limit <value>Optional explicit gas limit
-f, --file <path>JSON/YAML input file (merged with CLI flags)
--executePrepare, sign locally, send, and pay through x402
--owner-email / --email is optional metadata. Agentic operations do not require a tokenizer user in the Brickken database.

agent register

Prepare or execute an ERC-8004 agent registration → backend method agentRegister. The prepare response includes info.agentUuid; save it for the follow-up set-uri and set-metadata calls.
FlagTypeRequiredDescription
--name <name>stringYesAgent display name
--description <value>stringYesAgent description
--image <url>stringYesAgent image URL or IPFS URI
--service-name <name>stringYesSingle service name
--service-endpoint <url>stringYesSingle service endpoint
--service-version <version>stringNoSingle service version
--ai-model-name <name>stringNoAI model name
--ai-model-provider <provider>stringNoAI model provider
--tag <value>stringNoDiscovery tag (repeatable)
--version <value>stringNoAgent profile version
--documentation <url>stringNoDocumentation URL
--source-code <url>stringNoSource code URL
--license <value>stringNoLicense identifier or URL
--agent-type <value>stringNoAgent type
--supported-trust <value>stringNoSupported trust capability (repeatable)
--x402-support <value>booleanNoWhether the agent advertises x402 support
--active <value>booleanNoWhether the agent is active
--owner-email <email>stringNoTokenizer owner email
--email <email>stringNoAlias for --owner-email
brickken agent register \
  --chain "$CHAIN" \
  --signer-address "$WALLET" \
  --name "Research Agent" \
  --description "On-chain AI research agent" \
  --image https://example.com/agent.png \
  --service-name A2A \
  --service-endpoint https://agent.example/.well-known/agent-card.json \
  --service-version 0.3.0 \
  --ai-model-provider OpenAI \
  --ai-model-name "Research Model" \
  --x402-support true \
  --execute \
  --json | tee register-output.json

export AGENT_UUID="$(jq -r '.prepared.info.agentUuid' register-output.json)"

agent set-uri

Prepare or execute an agent URI/profile update → agentSetURI. Run this after the registration transaction is mined; it injects the real on-chain agentId and publishes the final profile to IPFS. In addition to the shared options and all register profile flags (--name, --description, --image, --service-*, --ai-model-*, --tag, --version, --documentation, --source-code, --license, --agent-type, --supported-trust, --x402-support, --active):
FlagTypeRequiredDescription
--agent-uuid <uuid>stringYes¹Stored tokenized agent UUID
--agent-id <id>stringYes¹On-chain ERC-8004 agent ID
¹ Provide either --agent-uuid or --agent-id.
brickken agent set-uri \
  --chain "$CHAIN" \
  --signer-address "$WALLET" \
  --agent-uuid "$AGENT_UUID" \
  --name "Research Agent" \
  --description "On-chain AI research agent" \
  --tag ai-agent \
  --documentation https://docs.brickken.com \
  --source-code https://github.com/Brickken/brickken-api-cli \
  --license MIT \
  --agent-type research \
  --supported-trust feedback \
  --x402-support true \
  --active true \
  --execute \
  --json

agent set-metadata

Prepare or execute a metadata update → agentSetMetadata. Writes a single key/value pair on-chain.
FlagTypeRequiredDescription
--agent-uuid <uuid>stringYes¹Stored tokenized agent UUID
--agent-id <id>stringYes¹On-chain ERC-8004 agent ID
--metadata-key <key>stringYes²Metadata key
--metadata-value <value>stringNoMetadata value
--metadata-encoding <encoding>stringNostring (default), json, or hex
--ai-model-name <name>stringNoShortcut for metadataKey=modelName
--ai-model-provider <provider>stringNoAI model provider stored in local profile context
¹ Provide either --agent-uuid or --agent-id.  ² Or supply --ai-model-name as the key shortcut.
brickken agent set-metadata \
  --chain "$CHAIN" \
  --signer-address "$WALLET" \
  --agent-uuid "$AGENT_UUID" \
  --metadata-key capabilities \
  --metadata-value '{"tasks":["research","summarization","token-operations"]}' \
  --metadata-encoding json \
  --execute \
  --json
For complex metadata payloads, prefer a --file to avoid shell-quoting issues. See the raw tx flow for the file-based pattern.

agent set-wallet

Prepare or execute an agent wallet update → agentSetWallet. The new wallet must sign an authorization first.
FlagTypeRequiredDescription
--agent-uuid <uuid>stringYes¹Stored tokenized agent UUID
--agent-id <id>stringYes¹On-chain ERC-8004 agent ID
--new-wallet <address>stringYesNew agent wallet address
--signature <signature>stringYesAuthorization signature from the new wallet
--deadline <value>numberYesUnix timestamp deadline for the signature
¹ Provide either --agent-uuid or --agent-id.
brickken agent set-wallet \
  --chain "$CHAIN" \
  --signer-address "$WALLET" \
  --agent-uuid "$AGENT_UUID" \
  --new-wallet 0xNewAgentWallet \
  --signature 0xSignatureFromNewWallet \
  --deadline 1800000000 \
  --execute \
  --json

agent feedback give

Prepare or execute reputation feedback → agentGiveFeedback.
FlagTypeRequiredDescription
--agent-uuid <uuid>stringYes¹Target agent UUID
--agent-id <id>stringYes¹Target on-chain agent ID
--value <value>stringYesFeedback value
--value-decimals <value>stringYesDecimals used to interpret value
--email <email>stringNo²Feedback owner email
--tag1 <value>stringNoFeedback tag 1
--tag2 <value>stringNoFeedback tag 2
--endpoint <url>stringNoService endpoint related to feedback
--feedback-uri <uri>stringNoFeedback URI
--feedback-hash <hash>stringNo32-byte feedback hash (defaults to zero hash)
¹ Provide either --agent-uuid or --agent-id.  ² Required when the API cannot infer tracking context from the agent reference.
brickken agent feedback give \
  --chain "$CHAIN" \
  --signer-address "$WALLET" \
  --agent-id 7 \
  --email reviewer@example.com \
  --value 9500 \
  --value-decimals 2 \
  --tag1 quality \
  --endpoint https://agent.example/.well-known/agent-card.json \
  --execute \
  --json

agent feedback revoke

Prepare or execute feedback revocation → agentRevokeFeedback.
FlagTypeRequiredDescription
--agent-id <id>stringYesOn-chain ERC-8004 agent ID
--feedback-index <index>numberYesFeedback index to revoke
--email <email>stringYesFeedback owner email
brickken agent feedback revoke \
  --chain "$CHAIN" \
  --signer-address "$WALLET" \
  --agent-id 7 \
  --feedback-index 0 \
  --email reviewer@example.com \
  --execute \
  --json

agent feedback respond

Prepare or execute a feedback response → agentAppendFeedbackResponse.
FlagTypeRequiredDescription
--agent-id <id>stringYesOn-chain ERC-8004 agent ID
--client-address <address>stringYesOriginal feedback client address
--feedback-index <index>numberYesFeedback index to respond to
--response-uri <uri>stringYesURI of the off-chain response payload
--response-hash <hash>stringNo32-byte response hash (defaults to zero hash)
--email <email>stringYesAgent owner email
brickken agent feedback respond \
  --chain "$CHAIN" \
  --signer-address "$WALLET" \
  --agent-id 7 \
  --client-address 0xReviewerWallet \
  --feedback-index 0 \
  --response-uri ipfs://QmResponseCID \
  --email owner@example.com \
  --execute \
  --json
For multi-step agent flows (registerset-uriset-metadata), wait for each transaction to be mined before preparing the next one. Preparing dependent transactions before the previous one is mined can produce nonce conflicts. See the end-to-end guide.