Skip to main content
POST
/
x402
/
agent
/
set-metadata
Prepare ERC-8004 metadata update
curl --request POST \
  --url https://api.sandbox.brickken.com/x402/agent/set-metadata \
  --header 'Content-Type: application/json' \
  --header 'X-Payment: <api-key>' \
  --data '
{
  "chainId": "8453",
  "signerAddress": "<string>",
  "gasLimit": "<string>",
  "nonce": 123,
  "privateRpcUrl": "<string>",
  "ownerEmail": "jsmith@example.com",
  "email": "jsmith@example.com",
  "agentUuid": "<string>",
  "agentId": "<string>",
  "metadataKey": "<string>",
  "metadataValue": "<string>",
  "aiModelName": "<string>",
  "aiModelProvider": "<string>"
}
'
{
  "transactions": {},
  "txId": "<string>",
  "info": {}
}
Prepares unsigned transactions for writing an ERC-8004 agent metadata key/value pair. This facade maps to agentSetMetadata.

Authentication

Omit x-api-key. If the API returns 402 Payment Required, sign the x402 payment locally and retry with X-Payment.

Key Fields

ParameterRequiredDescription
chainIdYesTarget chain ID. Decimal and hex values are accepted.
signerAddressYesWallet that signs the prepared transaction.
agentUuid or agentIdUsuallyAgent identifier from registration or the on-chain agent ID.
metadataKeyNoMetadata key to write.
metadataValueNoMetadata value to write.
metadataEncodingNoOptional encoding descriptor for the metadata value.

Response

Returns prepared unsigned transactions and txId. Sign the transaction locally, then submit it with POST /send-transactions.

Authorizations

X-Payment
string
header
required

Base64-encoded x402 payment payload. Supported for x402-eligible agentic methods on /x402/... facades, /prepare-transactions, and eligible /send-transactions retries.

Body

application/json
chainId
string
default:8453
required

Target operation chain ID. Use 8453 on production Base or 11155111 on sandbox Sepolia.

Example:

"8453"

signerAddress
string
required

Wallet that signs the prepared blockchain transaction.

Pattern: ^0x[a-fA-F0-9]{40}$
gasLimit

Optional explicit gas limit.

nonce
number

Optional explicit nonce when managing nonces manually.

privateRpcUrl
string

Optional private RPC URL override.

ownerEmail
string<email>

Optional owner attribution email.

email
string<email>

Alias for ownerEmail where supported.

agentUuid
string

Stored tokenized agent UUID returned by agentRegister.

agentId
string

On-chain ERC-8004 agent ID.

metadataKey
string
metadataValue
metadataEncoding
enum<string>
Available options:
string,
json,
hex
aiModelName
string
aiModelProvider
string

Response

Prepared unsigned transaction payload.

transactions
object
txId
string
info
object