curl --request PATCH \
--url https://mcp.echozero.app/api/v1/users/me/subscriptions/{agentId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-signature: <x-signature>' \
--header 'x-timestamp: <x-timestamp>' \
--data '
{
"isPaused": true
}
'{
"success": true,
"data": {
"success": true,
"message": "<string>",
"subscription": {
"agent": "<string>",
"subscribedAt": "2023-11-07T05:31:56Z",
"subscriptionType": "AUTO_TRADING",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"tradeMode": "AUTO_TRADING",
"walletContext": "virtual",
"walletMode": "VIRTUAL",
"allocationMode": "PERCENTAGE_RANGE",
"allocationPercentageMin": 123,
"allocationPercentageMax": 123,
"allocationAmountUsd": 123,
"allocationAmountSol": 123,
"allocatedUsd": 123,
"inUseUsd": 123,
"withdrawableUsd": 123,
"currentBalanceUsd": 123,
"availableUsd": 123,
"inTradesUsd": 123,
"feeBufferUsd": 123,
"lockedInPositionsUsd": 123,
"venue": "JUPITER",
"hyperliquidTotalEquityUsd": 123,
"hyperliquidFreeMarginUsd": 123,
"bridgeStatus": "PENDING_BRIDGE",
"bridgeTransactionId": "<string>",
"pendingDeltaUsd": 123,
"minAllocationUsd": 123,
"minTradeUsd": 123,
"minPerTradePercent": 123,
"recommendedPerTradePercent": 123,
"maxConcurrentPositions": 123,
"maxEntriesPerTrade": 123,
"allocationBalanceAudit": {
"depositedUsd": 123,
"realizedPnlUsd": 123,
"unrealizedPnlUsd": 123,
"lockedMarginUsd": 123,
"feeBufferUsd": 123,
"ledgerAvailableUsd": 123,
"dustUsd": 123,
"pendingDeltaUsd": 123,
"reconciliationStatus": "IN_SYNC",
"netRealizedProfitUsd": 123,
"pendingPlatformFeeUsd": 123,
"pendingCreatorFeeUsd": 123,
"estimatedSuccessFeeUsd": 123,
"estimatedPlatformFeeUsd": 123,
"estimatedCreatorFeeUsd": 123,
"netUserPayoutUsd": 123,
"venueEquityUsd": 123,
"venueFreeMarginUsd": 123,
"venueGapUsd": 123,
"bridgeStatus": "PENDING_BRIDGE"
},
"goLiveUponConfirmation": true,
"isPaused": true
},
"agentName": "<string>",
"agentImageUrl": "<string>",
"strategyCount": 123
}
}Update agent subscription configuration
Request body schema: McpUpdateAgentSubscriptionBodyDto — mirrors GraphQL UpdateAgentSubscriptionInput (without agentId; taken from path). closeAllTrades: true exits open positions in the current wallet context (pause close-all or FULL → ALERTS). Omit to keep them open; ALERTS keep-open is self-managed.
curl --request PATCH \
--url https://mcp.echozero.app/api/v1/users/me/subscriptions/{agentId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-signature: <x-signature>' \
--header 'x-timestamp: <x-timestamp>' \
--data '
{
"isPaused": true
}
'{
"success": true,
"data": {
"success": true,
"message": "<string>",
"subscription": {
"agent": "<string>",
"subscribedAt": "2023-11-07T05:31:56Z",
"subscriptionType": "AUTO_TRADING",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"tradeMode": "AUTO_TRADING",
"walletContext": "virtual",
"walletMode": "VIRTUAL",
"allocationMode": "PERCENTAGE_RANGE",
"allocationPercentageMin": 123,
"allocationPercentageMax": 123,
"allocationAmountUsd": 123,
"allocationAmountSol": 123,
"allocatedUsd": 123,
"inUseUsd": 123,
"withdrawableUsd": 123,
"currentBalanceUsd": 123,
"availableUsd": 123,
"inTradesUsd": 123,
"feeBufferUsd": 123,
"lockedInPositionsUsd": 123,
"venue": "JUPITER",
"hyperliquidTotalEquityUsd": 123,
"hyperliquidFreeMarginUsd": 123,
"bridgeStatus": "PENDING_BRIDGE",
"bridgeTransactionId": "<string>",
"pendingDeltaUsd": 123,
"minAllocationUsd": 123,
"minTradeUsd": 123,
"minPerTradePercent": 123,
"recommendedPerTradePercent": 123,
"maxConcurrentPositions": 123,
"maxEntriesPerTrade": 123,
"allocationBalanceAudit": {
"depositedUsd": 123,
"realizedPnlUsd": 123,
"unrealizedPnlUsd": 123,
"lockedMarginUsd": 123,
"feeBufferUsd": 123,
"ledgerAvailableUsd": 123,
"dustUsd": 123,
"pendingDeltaUsd": 123,
"reconciliationStatus": "IN_SYNC",
"netRealizedProfitUsd": 123,
"pendingPlatformFeeUsd": 123,
"pendingCreatorFeeUsd": 123,
"estimatedSuccessFeeUsd": 123,
"estimatedPlatformFeeUsd": 123,
"estimatedCreatorFeeUsd": 123,
"netUserPayoutUsd": 123,
"venueEquityUsd": 123,
"venueFreeMarginUsd": 123,
"venueGapUsd": 123,
"bridgeStatus": "PENDING_BRIDGE"
},
"goLiveUponConfirmation": true,
"isPaused": true
},
"agentName": "<string>",
"agentImageUrl": "<string>",
"strategyCount": 123
}
}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.
Path Parameters
Body
AUTO_TRADING, ALERTS_ONLY, TEST_TRADING, FULL_TRADING PERCENTAGE_RANGE, USD_AMOUNT, SOL_AMOUNT When true, the agent starts trading immediately after configuration
When true, pause the agent subscription from executing trades
When true, close all open trades for this agent in the current wallet context (pause close-all, or FULL/TEST → ALERTS). Omit or false keeps them open. Real FULL → ALERTS keep-open is self-managed (agent stops SL/TP), like unsubscribe. Virtual never requires this sheet.