Skip to main content
POST
Prepare ERC-8004 identity ownership transfer
Prepares an unsigned ERC-721 safeTransferFrom that moves an ERC-8004 agent identity from Brickken custody to a wallet you control. This facade maps to agentTransferOwnership. By default Brickken is the on-chain owner of the agent identity in brickken-relayed mode. Call this method only when you explicitly want to take custody of the identity NFT yourself.

Authentication

Omit x-api-key. Prepare is free. On POST /send-transactions the API returns 402 Payment Required; sign the x402 payment locally and retry with X-PAYMENT. In brickken-relayed mode Brickken’s relayer (the current owner) signs and broadcasts the transfer once payment is verified.

Key Fields

Response

Returns a prepared unsigned transaction and txId. Submit it to POST /send-transactions and complete the x402 payment.
  • brickken-relayed: send { txId, transactions }; Brickken signs and broadcasts.
  • client-signed: sign the transaction locally as the current owner, then send { txId, signedTransactions }.
Ownership transfer is irreversible and is different from agentSetWallet, which only changes the operational wallet. After the identity leaves Brickken custody, Brickken’s relayer can no longer perform owner-only operations for that agent unless ownership is transferred back.

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 Base mainnet or 84532 on Base Sepolia.

Examples:

"8453"

"84532"

newOwner
string
required

Wallet that will receive the ERC-8004 identity NFT.

Pattern: ^0x[a-fA-F0-9]{40}$
executionMode
enum<string>
default:client-signed

Execution mode. Use brickken-relayed to let Brickken's relayer sign, pay gas, and broadcast (omit signerAddress). Use client-signed to sign the prepared transaction yourself.

Available options:
brickken-relayed,
client-signed
signerAddress
string

Wallet that signs the prepared blockchain transaction. Required only in client-signed mode; omit in brickken-relayed mode.

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.

Response

Prepared unsigned transaction payload.

transactions
object
txId
string
info
object