402.bot
Recipe
live $0.0100 premium Social/X Research

Messari Token Conviction Brief

Use Messari context, unlocks, and twit.sh narrative checks to pressure-test an explicit token thesis or conviction question with citations.

$0.0100price
9steps
9sources
436ktokens saved
30tool calls compressed
median latency
Messaritwit.shMessari Asset DetailsMessari Asset TimeseriesMessari News FeedMessari Token UnlocksTwitsh Tweet SearchTransformGoogle Gemini Flash Structured

Endpoint: /v1/recipes/messari-token-conviction-brief/run
Capabilities: messari, market-intel, asset-research, token-conviction, thesis-check, crypto-news, token-unlocks, x-radar

Why pay for this?

This recipe turns roughly 30 separate tool operations into one paid endpoint call and saves about ~436k tokens saved.

Details + timeseries + news + unlocks + X search -> conviction or thesis brief

Creator

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

Usage and trust

Success 30d: 0%
Refund 30d: 0%
Paid runs: 0
Creator recipes: 1
Last run: No recent runs

Messari on 402.bot

Use 402.bot as the bounded execution and briefing layer for Messari asset fundamentals, news, unlocks, and twit.sh narrative checks.

Canonical guide: https://402.bot/recipes/messari-asset-intel-brief

Public sources: messari_asset_details, messari_asset_timeseries, messari_news_feed, messari_token_unlocks, messari_stablecoins, messari_funding_rounds, messari_x_users, messari_x_user_details, messari_x_users_timeseries, twitsh_tweet_search

Messari read sources run through the deployment's Base upstream x402 buyer wallet.Messari AI chat stays internal to recipes and is not exposed as a raw public passthrough in v1.402.bot does not add a separate Messari API-key lane in this iteration.

Notes: Use the provider page for identity and capability context, and the recipe page for runnable workflows. Public sources stay bounded to normalized read shapes instead of becoming a generic Messari proxy. The simple Messari recipes are designed to save tokens by flattening paid Messari data into machine-friendly snapshots before you reach for longer AI synthesis flows. This recipe cross-checks bounded Messari market context against fresh twit.sh topic search before producing a token brief.

Pipeline

Stage 1

Fetch Messari asset details

fetch_transform

Source: Messari Asset Details
Step id: asset

Stage 2

Fetch Messari timeseries

fetch_transform

Source: Messari Asset Timeseries
Step id: timeseries

Stage 3

Fetch Messari news

fetch_transform

Source: Messari News Feed
Step id: news

Stage 4

Fetch Messari token unlocks

fetch_transform

Source: Messari Token Unlocks
Step id: unlocks

Stage 5

Search recent X posts

fetch_transform

Source: Twitsh Tweet Search
Step id: recent

Stage 6

Search higher-signal X posts

fetch_transform

Source: Twitsh Tweet Search
Step id: popular

Stage 7

Prepare bounded conviction evidence

transform

Source: Transform
Step id: boundedEvidence

Stage 8

Build conviction brief

fetch_transform

Source: Google Gemini Flash Structured
Step id: structured

Stage 9

Attach generated timestamp

transform

Source: Transform
Step id: finalize

Recent runs

RunStatusTriggerQueued
No recent runs recorded yet. Runs appear here after the first paid execution.
View raw step spec

Fetch Messari asset details

{
  "id": "asset",
  "kind": "fetch_transform",
  "title": "Fetch Messari asset details",
  "request": {
    "params": {
      "assetId": "{{ $.input.assetId }}"
    },
    "sourceId": "messari_asset_details",
    "deliveryFormat": "json"
  }
}

Fetch Messari timeseries

{
  "id": "timeseries",
  "kind": "fetch_transform",
  "title": "Fetch Messari timeseries",
  "request": {
    "params": {
      "to": "{{ $.input.to }}",
      "from": "{{ $.input.from }}",
      "limit": 30,
      "assetId": "{{ $.input.assetId }}",
      "metricKey": "{{ $.input.metricKey }}"
    },
    "sourceId": "messari_asset_timeseries",
    "deliveryFormat": "json"
  }
}

Fetch Messari news

{
  "id": "news",
  "kind": "fetch_transform",
  "title": "Fetch Messari news",
  "request": {
    "params": {
      "limit": "{{ $.input.newsLimit }}",
      "assetKeys": [
        "{{ $.input.assetId }}",
        "{{ $.stepsById.asset.output.symbol }}"
      ],
      "sortOrder": "desc"
    },
    "sourceId": "messari_news_feed",
    "deliveryFormat": "json"
  }
}

Fetch Messari token unlocks

{
  "id": "unlocks",
  "kind": "fetch_transform",
  "title": "Fetch Messari token unlocks",
  "request": {
    "params": {
      "limit": "{{ $.input.unlockLimit }}",
      "assetId": "{{ $.input.assetId }}"
    },
    "sourceId": "messari_token_unlocks",
    "deliveryFormat": "json"
  }
}

Search recent X posts

{
  "id": "recent",
  "kind": "fetch_transform",
  "title": "Search recent X posts",
  "request": {
    "params": {
      "phrase": "{{ $.input.assetId }}"
    },
    "sourceId": "twitsh_tweet_search",
    "deliveryFormat": "json"
  }
}

Search higher-signal X posts

{
  "id": "popular",
  "kind": "fetch_transform",
  "title": "Search higher-signal X posts",
  "request": {
    "params": {
      "phrase": "{{ $.input.assetId }}",
      "minLikes": 20
    },
    "sourceId": "twitsh_tweet_search",
    "deliveryFormat": "json"
  }
}

Prepare bounded conviction evidence

{
  "id": "boundedEvidence",
  "kind": "transform",
  "title": "Prepare bounded conviction evidence",
  "request": {
    "mode": "clean_json",
    "source": {
      "kind": "json",
      "value": {
        "news": {
          "count": "{{ $.stepsById.news.output.count }}",
          "items": [
            {
              "url": "{{ $.stepsById.news.output.items[0].url }}",
              "title": "{{ $.stepsById.news.output.items[0].title }}",
              "source": "{{ $.stepsById.news.output.items[0].source }}",
              "summary": "{{ $.stepsById.news.output.items[0].summary }}",
              "publishedAt": "{{ $.stepsById.news.output.items[0].publishedAt }}"
            },
            {
              "url": "{{ $.stepsById.news.output.items[1].url }}",
              "title": "{{ $.stepsById.news.output.items[1].title }}",
              "source": "{{ $.stepsById.news.output.items[1].source }}",
              "summary": "{{ $.stepsById.news.output.items[1].summary }}",
              "publishedAt": "{{ $.stepsById.news.output.items[1].publishedAt }}"
            }
          ]
        },
        "asset": {
          "name": "{{ $.stepsById.asset.output.name }}",
          "tags": "{{ $.stepsById.asset.output.tags }}",
          "symbol": "{{ $.stepsById.asset.output.symbol }}",
          "assetId": "{{ $.stepsById.asset.output.assetId }}",
          "metrics": {
            "priceUsd": "{{ $.stepsById.asset.output.metrics.priceUsd }}",
            "marketCap": "{{ $.stepsById.asset.output.metrics.marketCap }}"
          },
          "summary": "{{ $.stepsById.asset.output.summary }}"
        },
        "unlocks": {
          "count": "{{ $.stepsById.unlocks.output.count }}",
          "items": [
            {
              "category": "{{ $.stepsById.unlocks.output.items[0].category }}",
              "valueUsd": "{{ $.stepsById.unlocks.output.items[0].valueUsd }}",
              "supplyPct": "{{ $.stepsById.unlocks.output.items[0].supplyPct }}",
              "unlockDate": "{{ $.stepsById.unlocks.output.items[0].unlockDate }}"
            }
          ],
          "assetId": "{{ $.stepsById.unlocks.output.assetId }}"
        },
        "timeseries": {
          "count": "{{ $.stepsById.timeseries.output.count }}",
          "assetId": "{{ $.stepsById.timeseries.output.assetId }}",
          "frequency": "{{ $.stepsById.timeseries.output.frequency }}",
          "metricKey": "{{ $.stepsById.timeseries.output.metricKey }}",
          "recentPoints": [
            {
              "value": "{{ $.stepsById.timeseries.output.points[0].value }}",
              "timestamp": "{{ $.stepsById.timeseries.output.points[0].timestamp }}"
            },
            {
              "value": "{{ $.stepsById.timeseries.output.points[1].value }}",
              "timestamp": "{{ $.stepsById.timeseries.output.points[1].timestamp }}"
            },
            {
              "value": "{{ $.stepsById.timeseries.output.points[2].value }}",
              "timestamp": "{{ $.stepsById.timeseries.output.points[2].timestamp }}"
            }
          ]
        },
        "recentResults": {
          "count": "{{ $.stepsById.recent.output.count }}",
          "tweets": [
            {
              "url": "{{ $.stepsById.recent.output.tweets[0].url }}",
              "text": "{{ $.stepsById.recent.output.tweets[0].text }}"
            }
          ]
        },
        "operatorPrompt": {
          "thesis": "{{ $.input.thesis }}",
          "question": "{{ $.input.question }}"
        },
        "popularResults": {
          "count": "{{ $.stepsById.popular.output.count }}",
          "tweets": [
            {
              "url": "{{ $.stepsById.popular.output.tweets[0].url }}",
              "text": "{{ $.stepsById.popular.output.tweets[0].text }}"
            }
          ]
        }
      }
    }
  }
}

Build conviction brief

{
  "id": "structured",
  "kind": "fetch_transform",
  "title": "Build conviction brief",
  "request": {
    "params": {
      "input": {
        "news": "{{ $.stepsById.boundedEvidence.output.data.news }}",
        "asset": "{{ $.stepsById.boundedEvidence.output.data.asset }}",
        "unlocks": "{{ $.stepsById.boundedEvidence.output.data.unlocks }}",
        "timeseries": "{{ $.stepsById.boundedEvidence.output.data.timeseries }}",
        "recentResults": "{{ $.stepsById.boundedEvidence.output.data.recentResults }}",
        "operatorPrompt": "{{ $.stepsById.boundedEvidence.output.data.operatorPrompt }}",
        "popularResults": "{{ $.stepsById.boundedEvidence.output.data.popularResults }}"
      },
      "prompt": "Using only the supplied bounded token evidence bundle, evaluate the operator question or thesis when one is provided. This recipe is for explicit conviction checks, not broad market overviews. Prefer Messari asset context and recent news as the core evidence, and use X only when it clearly confirms or challenges that evidence. Return a short conviction summary, a simple price-trend label, up to two citations, and at most two watch items.",
      "responseSchema": {
        "type": "object",
        "required": [
          "assetId",
          "latestValue",
          "convictionLevel",
          "convictionSummary",
          "priceTrend",
          "citations",
          "watchItems"
        ],
        "properties": {
          "assetId": {
            "type": "string"
          },
          "citations": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "label",
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string"
                },
                "label": {
                  "type": "string",
                  "maxLength": 120
                },
                "source": {
                  "type": "string",
                  "maxLength": 32
                }
              },
              "additionalProperties": false
            },
            "maxItems": 2
          },
          "priceTrend": {
            "enum": [
              "up",
              "down",
              "flat",
              "mixed"
            ],
            "type": "string"
          },
          "watchItems": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 120
            },
            "maxItems": 2,
            "description": "Highest-value watch items."
          },
          "latestValue": {
            "type": "number"
          },
          "convictionLevel": {
            "enum": [
              "supportive",
              "mixed",
              "cautious"
            ],
            "type": "string"
          },
          "convictionSummary": {
            "type": "string",
            "maxLength": 280
          }
        },
        "additionalProperties": false
      },
      "systemInstruction": "You are preparing a compact token conviction memo. Stay grounded in the supplied JSON, avoid price targets, avoid tangential social chatter, and never invent citations. If an explicit thesis is present, say whether the evidence looks supportive, mixed, or cautious rather than drifting into a generic pulse brief. latestValue should reflect asset.metrics.priceUsd when available."
    },
    "sourceId": "google_gemini_flash_structured",
    "deliveryFormat": "json"
  }
}

Attach generated timestamp

{
  "id": "finalize",
  "kind": "transform",
  "title": "Attach generated timestamp",
  "request": {
    "mode": "clean_json",
    "source": {
      "kind": "json",
      "value": {
        "assetId": "{{ $.stepsById.structured.output.output.assetId }}",
        "citations": "{{ $.stepsById.structured.output.output.citations }}",
        "priceTrend": "{{ $.stepsById.structured.output.output.priceTrend }}",
        "watchItems": "{{ $.stepsById.structured.output.output.watchItems }}",
        "generatedAt": "{{ $.run.startedAt }}",
        "latestValue": "{{ $.stepsById.structured.output.output.latestValue }}",
        "convictionLevel": "{{ $.stepsById.structured.output.output.convictionLevel }}",
        "convictionSummary": "{{ $.stepsById.structured.output.output.convictionSummary }}"
      }
    }
  }
}