402.bot
Recipe
live $0.0075 medium Market & Prediction

Messari Asset Pulse Brief

Combine Messari fundamentals, recent price history, and news into a lighter-weight brief than the full intel recipe.

$0.0075price
5steps
6sources
248ktokens saved
17tool calls compressed
12180msmedian latency
MessariMessari Asset DetailsMessari Asset TimeseriesMessari News FeedGoogle Gemini Flash StructuredTransform

Endpoint: /v1/recipes/messari-asset-pulse-brief/run
Capabilities: messari, market-intel, asset-pulse, crypto-news

Why pay for this?

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

Details + timeseries + news -> pulse 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: 45

Usage and trust

Success 30d: 50%
Refund 30d: 50%
Paid runs: 2
Creator recipes: 1
Last run: 2026-03-16 02:54Z

Messari on 402.bot

Use 402.bot as the bounded execution and briefing layer for Messari asset fundamentals, news, unlocks, stablecoins, fundraising, X-user signals, and AI synthesis.

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

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.

Pipeline

Stage 1

Fetch Messari asset details

fetch_transform

Source: Messari Asset Details
Step id: asset

Stage 2

Fetch Messari asset 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

Build pulse brief

fetch_transform

Source: Google Gemini Flash Structured
Step id: structured

Stage 5

Attach generated timestamp

transform

Source: Transform
Step id: finalize

Recent runs

RunStatusTriggerQueued
f6778c6a-fc7c-446e-af1c-d7b338922ed1 succeeded recipe_api 2026-03-16T02:54:29.396Z
67437252-8510-42a8-aed8-645aa449bc2d failed recipe_api 2026-03-16T01:57:30.287Z
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 asset timeseries

{
  "id": "timeseries",
  "kind": "fetch_transform",
  "title": "Fetch Messari asset 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"
  }
}

Build pulse brief

{
  "id": "structured",
  "kind": "fetch_transform",
  "title": "Build pulse brief",
  "request": {
    "params": {
      "input": {
        "news": "{{ $.stepsById.news.output }}",
        "asset": "{{ $.stepsById.asset.output }}",
        "timeseries": "{{ $.stepsById.timeseries.output }}"
      },
      "prompt": "Using only the supplied Messari asset details, bounded timeseries, and recent news, produce a compact pulse brief for an operator.",
      "responseSchema": {
        "type": "object",
        "required": [
          "assetId",
          "summary",
          "trend",
          "headlines",
          "watchItems"
        ],
        "properties": {
          "trend": {
            "type": "string"
          },
          "assetId": {
            "type": "string"
          },
          "summary": {
            "type": "string"
          },
          "headlines": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Headline-level recent news signals."
          },
          "watchItems": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Operator watch items."
          },
          "latestValue": {
            "type": "number"
          }
        },
        "additionalProperties": false
      },
      "systemInstruction": "You are preparing a concise market pulse brief. Stay grounded in the supplied JSON only and avoid unsupported claims."
    },
    "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": {
        "trend": "{{ $.stepsById.structured.output.output.trend }}",
        "assetId": "{{ $.stepsById.structured.output.output.assetId }}",
        "summary": "{{ $.stepsById.structured.output.output.summary }}",
        "headlines": "{{ $.stepsById.structured.output.output.headlines }}",
        "watchItems": "{{ $.stepsById.structured.output.output.watchItems }}",
        "generatedAt": "{{ $.run.startedAt }}",
        "latestValue": "{{ $.stepsById.structured.output.output.latestValue }}"
      }
    }
  }
}