approveAgent action authorizes an agent — a separate hot wallet — to sign trading operations on your behalf. Agents can submit orders, cancellations, modifies, and TP/SL requests without requiring your master account’s private key to be present. This lets you keep your master key in cold storage while running automated strategies with a dedicated API wallet.
Each master account supports up to 1 anonymous agent and 3 named agents. Re-approving an already-authorized address refreshes its expiry without consuming an additional quota slot. If you approve a named agent with a name that matches an existing named agent, the new entry overwrites the old one.
Endpoint
Request
All requests must include an ECDSA signature and a millisecond-precision nonce. This request must be signed by the master account.Action fields
string
required
Fixed value:
"approveAgent".string
required
The Ethereum address of the wallet to authorize as an agent. Must be a valid checksummed or lowercase hex address in the format
0x followed by 40 hex characters.string
A human-readable label for this agent. Omit or pass an empty string to use the anonymous agent slot. Named agents consume one of the 3 named quota slots. If a named agent with the same name already exists, this request overwrites it.
int64
Expiry timestamp as Unix milliseconds. Pass
0 or omit entirely to create a permanent authorization that does not expire.Response
Success
Response fields
string
The address of the agent that was approved, echoed back for confirmation.
Error reference
Rejections returnstatus: "ok" with an errorCode and errorMessage in data.