Skip to main content
POST
Prepare agent ERC-20 deployment
Prepares unsigned transactions for deploying an agent-owned ERC-20 token. This facade maps to agentCreateToken.

Authentication

Preparing charges the first half of the operation price, and POST /send-transactions charges the rest. Each paid call answers 402 Payment Required with a PAYMENT-REQUIRED header describing the chain, asset, transfer method, amount, recipient, and timeout. Sign each payment locally and retry with X-PAYMENT. A valid x-api-key is accepted instead of paying, on both steps. See Authentication for the full credential matrix.

Key Fields

Response

Returns prepared unsigned transactions and txId. Sign the transaction locally and submit it to POST /send-transactions as { txId, signedTransactions }. Use the deployment receipt to recover the deployed tokenAddress.

Next step

Preparing does not touch the chain. The response gives you txId, the unsigned transactions, and an x402Requirements quote.
1

Choose who broadcasts

client-signed (the default) — you sign the transaction and Brickken broadcasts it. client-broadcast — you sign and broadcast it yourself, then confirm with txHash. Either way the operation price is split evenly: half at prepare, half at send.
2

Submit it and settle the payment

POST to /send-transactions. The first attempt answers 402 Payment Required; read PAYMENT-REQUIRED, sign the payment locally, and retry with X-PAYMENT. An x-api-key is accepted here instead of paying.
3

Poll until it confirms

Call GET /get-transaction-status with the txId. Your payment settles only after the operation confirms, and is released if it reverts.
See Authentication for the payment handshake and Pricing for the per-operation cost.

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"

name
string
required
symbol
string
required
Pattern: ^[A-Z0-9]{2,11}$
agentWallet
string
required

Wallet that owns and mints the agent token.

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.

premint

Human-readable premint amount.

decimals

Token decimals. Defaults to 18 when omitted.

Response

Prepared unsigned transaction payload.

transactions
object
txId
string
info
object