CryptoCompare · Arazzo Workflow

CryptoCompare Top Volume Deep Dive

Version 1.0.0

Rank coins by 24h volume, pull full data, then branch into the news feed.

1 workflow 1 source API 1 provider
View Spec View on GitHub CryptocurrencyMarket DataReference RatesNewsSocialBlockchainOn-ChainOrder BookStreamingIndexArazzoWorkflows

Provider

cryptocompare

Workflows

top-volume-deep-dive
Rank coins by total volume, read full data, and branch into news.
Reads the top coins by 24-hour total volume with full ticker data, pulls a lighter ranked-volume overview for the same quote currency, and branches into the latest news feed only when the ranking returned results.
3 steps inputs: apiKey, limit, tsym outputs: articles, rankedVolumes, topCoins
1
getTopByVolume
getTopListByTotalVolumeFull
Read the top coins by 24-hour total volume against the quote currency, including full ticker data per coin.
2
getVolumeOverview
getTopVolumesByCurrency
Read the lighter ranked-volume envelope for the same quote currency for a fast overview, then branch on whether any coins were returned.
3
getMarketNews
getLatestNewsArticles
Pull the latest news articles to add narrative context to the ranked coins, sorted by most recent.

Source API Descriptions

Arazzo Workflow Specification

cryptocompare-top-volume-deep-dive-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: CryptoCompare Top Volume Deep Dive
  summary: Rank coins by 24h volume, pull full data, then branch into the news feed.
  description: >-
    A market-scanning flow that starts from the top cryptocurrencies by 24-hour
    total volume against a quote currency, reads the lighter ranked-volumes
    envelope for a fast overview, and then branches: when the ranking returns at
    least one coin it pulls the latest news articles to add narrative context,
    and otherwise it ends cleanly. Every step spells out its request inline,
    including the api_key, so the flow can be read and executed without opening
    the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: cryptocompareMinApi
  url: ../openapi/cryptocompare-min-api-openapi.yml
  type: openapi
workflows:
- workflowId: top-volume-deep-dive
  summary: Rank coins by total volume, read full data, and branch into news.
  description: >-
    Reads the top coins by 24-hour total volume with full ticker data, pulls a
    lighter ranked-volume overview for the same quote currency, and branches
    into the latest news feed only when the ranking returned results.
  inputs:
    type: object
    required:
    - apiKey
    - tsym
    properties:
      apiKey:
        type: string
        description: CryptoCompare API key supplied as the api_key query parameter.
      tsym:
        type: string
        description: Quote currency for the volume ranking, e.g. USD.
      limit:
        type: integer
        description: Number of coins to return in the ranking.
        default: 10
  steps:
  - stepId: getTopByVolume
    description: >-
      Read the top coins by 24-hour total volume against the quote currency,
      including full ticker data per coin.
    operationId: getTopListByTotalVolumeFull
    parameters:
    - name: api_key
      in: query
      value: $inputs.apiKey
    - name: tsym
      in: query
      value: $inputs.tsym
    - name: limit
      in: query
      value: $inputs.limit
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      topCoins: $response.body#/Data
      count: $response.body#/MetaData/Count
  - stepId: getVolumeOverview
    description: >-
      Read the lighter ranked-volume envelope for the same quote currency for a
      fast overview, then branch on whether any coins were returned.
    operationId: getTopVolumesByCurrency
    parameters:
    - name: api_key
      in: query
      value: $inputs.apiKey
    - name: tsym
      in: query
      value: $inputs.tsym
    - name: limit
      in: query
      value: $inputs.limit
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      rankedVolumes: $response.body#/Data
    onSuccess:
    - name: hasResults
      type: goto
      stepId: getMarketNews
      criteria:
      - context: $response.body
        condition: $.Data.length > 0
        type: jsonpath
    - name: noResults
      type: end
      criteria:
      - context: $response.body
        condition: $.Data.length == 0
        type: jsonpath
  - stepId: getMarketNews
    description: >-
      Pull the latest news articles to add narrative context to the ranked
      coins, sorted by most recent.
    operationId: getLatestNewsArticles
    parameters:
    - name: api_key
      in: query
      value: $inputs.apiKey
    - name: lang
      in: query
      value: EN
    - name: sortOrder
      in: query
      value: latest
    - name: limit
      in: query
      value: 20
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      articles: $response.body#/Data
  outputs:
    topCoins: $steps.getTopByVolume.outputs.topCoins
    rankedVolumes: $steps.getVolumeOverview.outputs.rankedVolumes
    articles: $steps.getMarketNews.outputs.articles