curl --request POST \
--url https://mcp.echozero.app/api/v1/agents \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-signature: <x-signature>' \
--header 'x-timestamp: <x-timestamp>' \
--data '
{
"name": "My agent"
}
'{
"success": true,
"data": {
"id": "<string>",
"name": "<string>"
}
}{
"success": false,
"error": {
"code": "NOT_FOUND",
"message": "Resource not found"
}
}{
"success": false,
"error": {
"code": "NOT_FOUND",
"message": "Resource not found"
}
}Create agent
Mirrors GraphQL createAgent.
Request body schema: McpCreateAgentBodyDto — see Schemas at the bottom of this document (#/components/schemas/McpCreateAgentBodyDto). Nested types: McpCreateAgentPersonalizationDto, McpCreateAgentFeeConfigurationDto. Same field shapes as GraphQL CreateAgentInput.
curl --request POST \
--url https://mcp.echozero.app/api/v1/agents \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-signature: <x-signature>' \
--header 'x-timestamp: <x-timestamp>' \
--data '
{
"name": "My agent"
}
'{
"success": true,
"data": {
"id": "<string>",
"name": "<string>"
}
}{
"success": false,
"error": {
"code": "NOT_FOUND",
"message": "Resource not found"
}
}{
"success": false,
"error": {
"code": "NOT_FOUND",
"message": "Resource not found"
}
}Authorizations
User JWT access token issued by POST /api/auth/verify or POST /api/auth/social/verify. Routes that accept both auth modes declare api-key and bearer-jwt security schemes.
Headers
Required for API-key authenticated requests. HMAC-SHA256(secretKey, timestamp + METHOD + path + body) as lowercase hex. Omit only for JWT/OAuth session tokens or public routes.
Required with x-signature. Epoch milliseconds; rejected if drift exceeds 5 minutes. Omit only for JWT/OAuth session tokens or public routes.
Body
JSON body — OpenAPI schema McpCreateAgentBodyDto (also listed under Schemas). Pick an example below or compose from the schema; optional nested objects are personalization and **feeConfiguration**.
Display name (max 20 characters)
20"My trading agent"
"Momentum strategies on Solana memecoins"
"avatars/my-agent.png"
["SOL", "DEFI"]
Show child attributes
Show child attributes
Whether the agent is public
false
Show child attributes
Show child attributes
When true, agent is saved as draft (not fully activated)
true
subscription, success-fee, both, free x >= 00 <= x <= 22pending-review, beta, public, rejected x >= 1low, medium, high webhook, signal_group Per-agent hybrid parser: inherit (server env), off, shadow, or fallback.
inherit, off, shadow, fallback Venue lock (Jupiter or Hyperliquid). Immutable after create. OneInch/All Platforms rejected until enabled.
JUPITER, HYPERLIQUID, ONEINCH, ALL_PLATFORMS Required only for OneInch agents (BASE or ARBITRUM).
SOLANA, CHILIZ, FLOW, ARBITRUM, BASE, HYPERLIQUID Max concurrent open positions. Default 4.
x >= 1Max DCA entries per open trade. Default 3.
x >= 1