Skip to main content
POST
/
x402
/
agent
/
register
Prepare ERC-8004 agent registration
curl --request POST \
  --url https://api.sandbox.brickken.com/x402/agent/register \
  --header 'Content-Type: application/json' \
  --header 'X-Payment: <api-key>' \
  --data '
{
  "chainId": "8453",
  "signerAddress": "<string>",
  "name": "<string>",
  "description": "<string>",
  "image": "<string>",
  "services": [
    {
      "name": "<string>",
      "endpoint": "<string>",
      "version": "<string>"
    }
  ],
  "gasLimit": "<string>",
  "nonce": 123,
  "privateRpcUrl": "<string>",
  "ownerEmail": "jsmith@example.com",
  "email": "jsmith@example.com",
  "metadata": {},
  "aiModelName": "<string>",
  "aiModelProvider": "<string>",
  "tags": [
    "<string>"
  ],
  "version": "<string>",
  "documentation": "<string>",
  "sourceCode": "<string>",
  "license": "<string>",
  "agentType": "<string>",
  "supportedTrust": [
    "<string>"
  ],
  "x402Support": true,
  "active": true,
  "registrations": [
    {}
  ]
}
'
{
  "transactions": {},
  "txId": "<string>",
  "info": {}
}
Prepares unsigned transactions for registering an ERC-8004 agent identity. This facade maps to agentRegister.

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.
nameYesHuman-readable agent name.
descriptionYesAgent description.
imageYesAgent image URL.
servicesYesService descriptors such as A2A endpoints.
aiModelName, aiModelProviderNoAI model metadata published with the agent profile.
x402Support, activeNoAgent capability and status flags.

Response

Returns prepared unsigned transactions and txId. Save info.agentUuid from the response for future URI, metadata, and wallet updates. 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}$
name
string
required
description
string
required
image
string<uri>
required
services
object[]
required
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.

metadata
object
aiModelName
string
aiModelProvider
string
tags
string[]
version
string
documentation
string<uri>
sourceCode
string<uri>
license
string
agentType
string
supportedTrust
string[]
x402Support
boolean
active
boolean
registrations
object[]

Response

Prepared unsigned transaction payload.

transactions
object
txId
string
info
object