Why pay for this?
This recipe turns roughly 4 separate tool operations into one paid endpoint call and saves about ~9k tokens saved.
Turns wallet context and a short candidate set into a compact target-mix rebalance packet.
Turn wallet context plus a short candidate set into a compact target-mix rebalance packet.
Endpoint: /v1/recipes/wallet-risk-budget-rebalance/run
Capabilities: trading, risk-budget, wallet-rebalance
This recipe turns roughly 4 separate tool operations into one paid endpoint call and saves about ~9k tokens saved.
Turns wallet context and a short candidate set into a compact target-mix rebalance packet.
Name: 402.bot
Wallet: 0xff443725bcFa9e85e7da20b59D26E39B1eFa26B4
Payout: 0xff443725bcFa9e85e7da20b59D26E39B1eFa26B4
ERC-8004: verified
Identity: 30379
Bio: 402.bot managed workflow marketplace recipes.
ERC-8004 reputation: 0.0
Creator score: 21
Success 30d: 0%
Refund 30d: 0%
Paid runs: 0
Creator recipes: 1
Last run: No recent runs
Source: Zapper Token Balances
Step id: balances
Source: Trading Candidate Context Batch
Step id: context
Source: Google Gemini Flash Structured
Step id: summarize
| Run | Status | Trigger | Queued |
|---|---|---|---|
| No recent runs recorded yet. Runs appear here after the first paid execution. | |||
{
"id": "balances",
"kind": "fetch_transform",
"title": "Load wallet balances",
"request": {
"params": {
"first": 10,
"chainIds": [
"{{ $.input.chainId }}"
],
"addresses": [
"{{ $.input.walletAddress }}"
]
},
"sourceId": "zapper_token_balances",
"deliveryFormat": "json"
}
}
{
"id": "context",
"kind": "fetch_transform",
"title": "Build candidate context batch",
"request": {
"params": {
"chainId": "{{ $.input.chainId }}",
"candidates": "{{ $.input.candidates }}",
"settlementToken": "{{ $.input.settlementToken }}"
},
"sourceId": "trading_candidate_context_batch",
"deliveryFormat": "json"
}
}
{
"id": "summarize",
"kind": "fetch_transform",
"title": "Build wallet risk budget rebalance",
"request": {
"params": {
"input": {
"chainId": "{{ $.input.chainId }}",
"context": "{{ $.stepsById.context.output }}",
"balances": "{{ $.stepsById.balances.output }}",
"riskTarget": "{{ $.input.riskTarget }}",
"walletAddress": "{{ $.input.walletAddress }}"
},
"prompt": "Build a wallet risk-budget rebalance packet. Focus on the target mix rows, the concentration risks, the execution steps, and the next actions.",
"responseSchema": {
"type": "object",
"required": [
"walletAddress",
"chainId",
"summary",
"targetMixRows",
"concentrationRisks",
"executionSteps",
"nextActions"
],
"properties": {
"chainId": {
"type": "integer"
},
"summary": {
"type": "string"
},
"nextActions": {
"type": "array",
"items": {
"type": "string"
},
"description": "Suggested next actions."
},
"targetMixRows": {
"type": "array",
"items": {
"type": "object",
"required": [
"tokenAddress",
"symbol",
"currentUsd",
"targetUsd",
"deltaUsd",
"action",
"note"
],
"properties": {
"note": {
"type": "string"
},
"action": {
"enum": [
"add",
"reduce",
"exit",
"hold"
],
"type": "string"
},
"symbol": {
"type": "string"
},
"deltaUsd": {
"type": "number"
},
"targetUsd": {
"type": "number"
},
"currentUsd": {
"type": "number"
},
"tokenAddress": {
"type": "string"
}
},
"additionalProperties": false
},
"description": "Suggested target-mix rows."
},
"walletAddress": {
"type": "string"
},
"executionSteps": {
"type": "array",
"items": {
"type": "object",
"required": [
"step",
"tool",
"note"
],
"properties": {
"note": {
"type": "string"
},
"step": {
"type": "string"
},
"tool": {
"enum": [
"uniswap",
"bankr",
"manual"
],
"type": "string"
}
},
"additionalProperties": false
},
"description": "Execution steps to move toward the target mix."
},
"concentrationRisks": {
"type": "array",
"items": {
"type": "object",
"required": [
"title",
"priority",
"note"
],
"properties": {
"note": {
"type": "string"
},
"title": {
"type": "string"
},
"priority": {
"enum": [
"high",
"medium",
"low"
],
"type": "string"
}
},
"additionalProperties": false
},
"description": "Main concentration or mix risks."
}
},
"additionalProperties": false
},
"systemInstruction": "You are compressing wallet rebalancing into a bounded operator packet. Stay grounded in the supplied wallet and candidate context."
},
"sourceId": "google_gemini_flash_structured",
"deliveryFormat": "json"
}
}