Why pay for this?
This recipe turns roughly 4 separate tool operations into one paid endpoint call and saves about ~6k tokens saved.
Combines wallet cash, price history, unlocks, liquidity, and a live quote into position-sizing guardrails.
Turn wallet cash, token price history, unlock risk, liquidity, and a live quote into sizing guardrails.
Endpoint: /v1/recipes/position-sizing-guardrails-brief/run
Capabilities: trading, position-sizing, guardrails, risk-budget
This recipe turns roughly 4 separate tool operations into one paid endpoint call and saves about ~6k tokens saved.
Combines wallet cash, price history, unlocks, liquidity, and a live quote into position-sizing guardrails.
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: Bankr Balances
Step id: bankr_balances
Source: Zapper Token Price
Step id: price
Source: Messari Asset Timeseries
Step id: timeseries
Source: Messari Token Unlocks
Step id: unlocks
Source: Uniswap Token Liquidity
Step id: liquidity
Source: Uniswap Swap Quote
Step id: quote
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": "bankr_balances",
"kind": "fetch_transform",
"title": "Load Bankr balances",
"request": {
"params": {
"chains": [
"base"
]
},
"sourceId": "bankr_balances",
"deliveryFormat": "json"
}
}
{
"id": "price",
"kind": "fetch_transform",
"title": "Load token price",
"request": {
"params": {
"address": "{{ $.input.tokenAddress }}",
"chainId": "{{ $.input.chainId }}",
"currency": "USD"
},
"sourceId": "zapper_token_price",
"deliveryFormat": "json"
}
}
{
"id": "timeseries",
"kind": "fetch_transform",
"title": "Load token price history",
"request": {
"params": {
"limit": 30,
"assetId": "{{ $.input.assetSlug }}",
"frequency": "1d",
"metricKey": "price_usd"
},
"sourceId": "messari_asset_timeseries",
"deliveryFormat": "json"
}
}
{
"id": "unlocks",
"kind": "fetch_transform",
"title": "Load token unlocks",
"request": {
"params": {
"limit": 5,
"assetId": "{{ $.input.assetSlug }}"
},
"sourceId": "messari_token_unlocks",
"deliveryFormat": "json"
}
}
{
"id": "liquidity",
"kind": "fetch_transform",
"title": "Inspect token liquidity",
"request": {
"params": {
"chainId": "{{ $.input.chainId }}",
"topPools": 3,
"tokenAddresses": [
"{{ $.input.tokenAddress }}"
]
},
"sourceId": "uniswap_token_liquidity",
"deliveryFormat": "json"
}
}
{
"id": "quote",
"kind": "fetch_transform",
"title": "Quote the target entry",
"request": {
"params": {
"amount": "{{ $.input.targetEntryUsd }}",
"chainId": "{{ $.input.chainId }}",
"exactSide": "input",
"slippageBps": "{{ $.input.slippageBps }}",
"tokenInAddress": "0x833589fCD6EDB6E08f4c7C32D4f71b54bdA02913",
"tokenOutAddress": "{{ $.input.tokenAddress }}"
},
"sourceId": "uniswap_swap_quote",
"deliveryFormat": "json"
}
}
{
"id": "summarize",
"kind": "fetch_transform",
"title": "Build position sizing guardrails brief",
"request": {
"params": {
"input": {
"price": "{{ $.stepsById.price.output }}",
"quote": "{{ $.stepsById.quote.output }}",
"chainId": "{{ $.input.chainId }}",
"unlocks": "{{ $.stepsById.unlocks.output }}",
"assetSlug": "{{ $.input.assetSlug }}",
"liquidity": "{{ $.stepsById.liquidity.output }}",
"timeseries": "{{ $.stepsById.timeseries.output }}",
"tokenAddress": "{{ $.input.tokenAddress }}",
"bankrBalances": "{{ $.stepsById.bankr_balances.output }}",
"walletAddress": "{{ $.input.walletAddress }}",
"targetEntryUsd": "{{ $.input.targetEntryUsd }}",
"settlementToken": "{{ $.input.settlementToken }}"
},
"prompt": "Build a position-sizing guardrails brief. Focus on starter, base, and max sizing bands, the main guardrails, liquidity signals, the quote, and concrete next actions.",
"responseSchema": {
"type": "object",
"required": [
"walletAddress",
"chainId",
"tokenAddress",
"assetSlug",
"summary",
"sizingBandUsd",
"guardrails",
"quote",
"liquiditySignals",
"nextActions"
],
"properties": {
"quote": {
"type": "object",
"required": [
"tokenInSymbol",
"tokenOutSymbol",
"amountIn",
"amountOut",
"priceImpactBps",
"routeHops"
],
"properties": {
"amountIn": {
"type": "string"
},
"amountOut": {
"type": "string"
},
"routeHops": {
"type": "array",
"items": {
"type": "string"
}
},
"tokenInSymbol": {
"type": "string"
},
"priceImpactBps": {
"type": "number"
},
"tokenOutSymbol": {
"type": "string"
}
},
"description": "Reference quote summary.",
"additionalProperties": false
},
"chainId": {
"type": "integer"
},
"summary": {
"type": "string"
},
"assetSlug": {
"type": "string"
},
"guardrails": {
"type": "array",
"items": {
"type": "string"
},
"description": "Sizing guardrails."
},
"nextActions": {
"type": "array",
"items": {
"type": "string"
},
"description": "Suggested next actions."
},
"tokenAddress": {
"type": "string"
},
"sizingBandUsd": {
"type": "object",
"required": [
"starter",
"base",
"max"
],
"properties": {
"max": {
"type": "number"
},
"base": {
"type": "number"
},
"starter": {
"type": "number"
}
},
"additionalProperties": false
},
"walletAddress": {
"type": "string"
},
"liquiditySignals": {
"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": "Liquidity and unlock signals that affect sizing."
}
},
"additionalProperties": false
},
"systemInstruction": "You are compressing trade sizing into a bounded operator packet. Stay grounded in the supplied wallet, market, unlock, liquidity, and quote context."
},
"sourceId": "google_gemini_flash_structured",
"deliveryFormat": "json"
}
}