> ## Documentation Index
> Fetch the complete documentation index at: https://artemis.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Syntax and Formulas

> Get started with you first =ART() formula!

## 📊 =ART()

Use `=ART()` function to get **time-series values** for one or more **symbols** (Tokens, Stablecoins, DATs, Crypto Equities) and **metrics** (such as revenue, fees, or price) over a specified **date range**.

`=ART(symbols, metrics, startDate, endDate, order, showDates, hideWeekends)`

### Pulling Live Data

`=ART("SYMBOL", "METRIC_NAME")`

Examples:

* `=ART("BTC", "PRICE")` pulls the latest Bitcoin price
* `=ART("ETH", "MC")` pulls the latest Ethereum market cap
* `=ART("SOL", "TVL")` pulls the latest Solana TVL
* `=ART("SOL", "DAU")` pulls the latest Solana daily active address count
* `=ART("MATIC", "FEES")` pulls the latest Polygon fees

### Pulling Historical Data

`=ART("SYMBOL", "METRIC_NAME", "DATE")`

Examples:

* `=ART("BTC", "PRICE", "2022-10-10")` pulls the Bitcoin price on `2022-10-10` (midnight UTC time)
* `=ART("ETH", "MC", "2022-10-10")` pulls the Ethereum market cap on `2022-10-10`

<div className="hint hint-info">
  <div className="hint-title">💡 Info</div>

  <div className="hint-content">
    For performance reasons, if you're a large amount of historical data, we recommend using the `ARTRANGE` function below.

    This will also reduce the total number of calls that count towards your daily limit in Google Sheets.
  </div>
</div>

## 📊 =ARTRANGE()

Use `=ARTRANGE()` function to get **time-series values** for one or more **symbols** (Tokens, Stablecoins, DATs, Crypto Equities) and **metrics** (such as revenue, fees, or price) over a specified **date range**.

`=ARTRANGE(symbols, metrics, startDate, endDate, order, showDates, hideWeekends)`

### Pulling a Range of Historical Data

`=ARTRANGE("SYMBOL", "METRIC_NAME", "STARTDATE", "ENDDATE")`

Example:

* `=ARTRANGE("BTC", "PRICE", "2022-01-01", "2022-10-01")` pulls the Bitcoin price from `2022-01-01` to `2022-10-01` in ascending order

#### To pull in descending order, add the param `"DESC"`.

`=ARTRANGE("SYMBOL", "METRIC_NAME", "STARTDATE", "ENDDATE", "DESC")`

Example:

* `=ARTRANGE("BTC", "PRICE", "2022-01-01", "2022-10-01", "DESC")` pulls the Bitcoin price from `2022-10-01` to `2022-01-01` in descending order (so `2022-10-01` is on top).

#### To pull in the dates associated with time-series datasets, use the param `"showDates" (`additional True / False parameter`)`.

`=ARTRANGE("SYMBOL", "METRIC_NAME", "STARTDATE", "ENDDATE", "DESC", TRUE)`

Example:

* `=ARTRANGE("BTC", "PRICE", "2022-01-01", "2022-10-01", "DESC", TRUE)` pulls the dates and the Bitcoin price from `2022-10-01` to `2022-01-01` in descending order (so `2022-10-01` is on top).

#### To hide data fields that fall on weekend dates, use the param `"hideWeekends" (`additional True / False parameter`)`.

`=ARTRANGE("SYMBOL", "METRIC_NAME", "STARTDATE", "ENDDATE", "DESC", TRUE, TRUE)`

Example:

* `=ARTRANGE("BTC", "PRICE", "2022-01-01", "2022-10-01", "DESC", TRUE, TRUE)` pulls the dates and the Bitcoin price from `2022-10-01` to `2022-01-01` in descending order (so `2022-10-01` is on top) and hides the data fields that fall on weekend dates.

## 📊 =ARTBREAKDOWN()

Use `=ARTBREAKDOWN()` function to get **breakdown** data, showing how a given **symbol/metric** is distributed across a specified **dimension** (for example, by chain, token, pool, or protocol).

`=ARTBREAKDOWN(symbol, metric, breakdown, startDate, endDate, order, showDates)`

Examples:

* `=ARTBREAKDOWN("hype","open_interest","token","2025-10-01","2025-10-05")` pulls the **open interest** for **hyperliquid**, broken down by **token**, over the period October 1–5, 2025
* `=ARTBREAKDOWN("stg","treasury","chain","2025-10-01","2025-10-05","desc",TRUE)` pulls the **treasury** for **stargate**, broken down by **chain**, over the period October 1–5, 2025, with the dates displayed in descending order

<div className="hint hint-info">
  <div className="hint-title">💡 Info</div>

  <div className="hint-content">
    Use <code>=ARTINFO("SYMBOL","supported-breakdowns","METRIC\_NAME")</code> to get a list of all available breakdowns for the given symbol/metric.

    <ul>
      <li><code>=ARTINFO("hype","supported-breakdowns","open\_interest")</code> returns <code>TOKEN, TOKEN\_TYPE</code></li>
      <li><code>=ARTINFO("stg","supported-breakdowns","treasury")</code> returns <code>TOKEN, CHAIN</code></li>
    </ul>
  </div>
</div>

## 🆕 =ARTFINANCIALS()

Use `=ARTFINANCIALS()` function to retrieve company financial statements (Income Statement, Balance Sheet, Cash Flow).

`=ARTFINANCIALS(ticker, statement, period, order)`

* `ticker`: Company ticker symbol prefixed with "EQ-" (e.g., "EQ-HOOD", "EQ-COIN")
* `statement`: Optional statement type: ALL (default), INCOME/IS, BALANCE/BS, CASH\_FLOW/CF
* `period`: Optional time period: QUARTERLY/Q (default), ANNUAL/A
* `order`: Optional column order: ASC (oldest first, default), DESC (newest first)

Examples:

* `=ARTFINANCIALS("eq-coin","is","a")` pulls the **annual income statement** for **Coinbase**, with the dates displayed in ascending order
* `=ARTFINANCIALS("eq-hood","all","q","desc")` pulls all **quarterly statements** for **Robinhood**, with the dates displayed in descending order

## ℹ️ =ARTINFO()

### Overview

`ARTINFO()` is a flexible lookup function used to retrieve information about assets, categories, metrics, market-cap rankings, and supported analytical structures. It can perform both broad queries across the entire asset universe and detailed lookups for a specific symbol.

### Function Signature

`ARTINFO(param1, param2, param3?, param4?)`

* **param1** — Defines query scope (`"all"`, a specific symbol, or a category for top-N queries).
* **param2** — Specifies the information type to retrieve.
* **param3** — Optional modifier (meaning depends on the query type).
* **param4** — Optional comma-separated list of symbols to exclude.

## Parameter Definitions

### **param1 — Scope Selector**

Accepts:

* `"all"` — Query across the entire asset universe.
* `<symbol>` — A specific asset symbol (e.g., `"btc"`, `"uni"`, `"osmo"`).
* `<category>` — Used only for `"topN-symbols"` queries (e.g., `"defi"`, `"stablecoin"`).

### **param2 — Information Type**

Valid values depend on `param1`.

#### When `param1 = "all"`:

* `"symbols"` — All asset symbols + names.
* `"topN-symbols"` — Top N symbols by market cap (e.g., `"top100-symbols"`).
* `"metrics"` — All metric identifiers + descriptions.
* `"categories"` — All asset categories.
* `"equities"` — All equity tickers + names.

#### When `param1 = <symbol>`:

Returns the related property for that symbol:

* `"asset-name"`
* `"categories"`
* `"sub-categories"`
* `"coingecko-id"`
* `"mc-rank"`
* `"supported-metrics"`
* `"supported-breakdowns"` → requires `param3 = <metric name>`

### **param3 — Optional Modifier**

Depends on `param2`:

#### If `param2 = "topN-symbols"`:

* `TRUE` / `"TRUE"`\
  Apply default filters:
  * Exclude `"stablecoin"`
  * Exclude `"staked, bridged, or wrapped asset"`
* `FALSE` or omitted\
  No category filtering.

#### If `param2 = "supported-breakdowns"`:

* Must be the metric name (e.g., `"open_interest"`).

### **param4 — Optional Exclusion List**

A comma-separated list of symbols to exclude.\
Example: `"TUSD,USDC,$RCGE"`

Used only with `"topN-symbols"`.

## Behavioral Rules

### **When `param1 = "all"`**

* `"symbols"` → Returns all symbols + names.
* `"topN-symbols"` → Returns top N by market cap\
  Processing order:
  1. Apply default filters if `param3 = TRUE`
  2. Remove any symbols in `param4`
* `"metrics"` → Returns all metric identifiers + descriptions
* `"categories"` → Returns all categories
* `"equities"` → Returns all equity symbols + names

### **When `param1` is a specific symbol**

Return the requested data for that symbol:

| `param2`                 | Returned Value                                     |
| ------------------------ | -------------------------------------------------- |
| `"asset-name"`           | Asset display name                                 |
| `"categories"`           | Primary category                                   |
| `"sub-categories"`       | Sub-category list                                  |
| `"coingecko-id"`         | Coingecko identifier                               |
| `"mc-rank"`              | Current market cap rank                            |
| `"supported-metrics"`    | Metrics available for this asset                   |
| `"supported-breakdowns"` | Breakdown list for the metric provided in `param3` |

## Examples

* `ARTINFO("ALL", "METRICS")`\
  → Returns every metric identifier + its description.

* `ARTINFO("UNI", "ASSET-NAME")`\
  → `"Uniswap"`

* `ARTINFO("OSMO", "COINGECKO-ID")`\
  → `"osmosis"`

* `ARTINFO("all", "top100-symbols")`\
  → Returns the top 100 symbols by market cap.

* `ARTINFO("all", "top100-symbols", TRUE)`\
  → Applies default filtering (excludes stablecoins + staked/bridged/wrapped assets).

* `ARTINFO("all", "top100-symbols", TRUE, "TUSD,USDC,$RCGE")`\
  → Same filters as above, additionally removing listed symbols.

* `ARTINFO("all", "top100-symbols", FALSE, "TUSD,USDC,$RCGE")`\
  → Only excludes the listed symbols; no default category filters.

* `ARTINFO("hype", "supported-breakdowns", "open_interest")`\
  → Returns breakdowns supported for the `open_interest` metric on `hype`.

### Pulling Lots of Data

`=ARTRANGE(<cells containing symbols>,<cells containing metric names>,"DATE")`

`=ART` and `=ARTRANGE` both support pulling multiple symbols, metrics, and dates all at once so you can fetch hundreds of datapoints in one go--**this is great for keeping your spreadsheet performant.**

Examples:

#### Pulling multiple symbols and metrics for a single date:

* `=ARTRANGE(B6:B10,C5:I5,B4)` (see a live example [here](https://docs.google.com/spreadsheets/d/1_LYhYDv5scNv_n6Aj8Lugpelov93z9AkIg_jGSDLuc4/edit#gid=0))
* `=ART(B6:B10,C5:I5,B4)`

#### Pulling multiple metrics and dates for a single symbol:

* `=ARTRANGE(B3,C5:I5,B43,B6,"DESC")` (see a live example [here](https://docs.google.com/spreadsheets/d/1_LYhYDv5scNv_n6Aj8Lugpelov93z9AkIg_jGSDLuc4/edit#gid=709708675))
* `=ART(B3,C5:I5,B43,B6,"DESC")`

#### Pulling multiple symbols and dates for a single metric:

* `=ARTRANGE(C5:F5,B3,B43,B6,"DESC")` (see a live example [here](https://docs.google.com/spreadsheets/d/1_LYhYDv5scNv_n6Aj8Lugpelov93z9AkIg_jGSDLuc4/edit#gid=1235545109))
* `=ART(C5:F5,B3,B43,B6,"DESC")`

\
**NOTE:** you can only pick 2 out of the 3 (symbol, metric, date) as a range of cells. Otherwise, the data output would be three-dimensional and would not output correctly in GSheet or Excel.

## Duplicate symbols

In case of duplicate symbols, use the Coingecko ID in ART formulas with the prefix `CG-`

Example:

* `=ART("CG-DEGATE", "PRICE")` pulls the DeGate (symbol: DG) price
* `=ART("CG-DECENTRAL-GAMES", "PRICE")` pulls the Decentral Games (symbol: DG) price

The Coingecko ID can be found by using `=ARTINFO("symbol", "COINGECKO-ID")`or in the Coingecko token page, in API id field.

<img src="https://mintcdn.com/artemis-db73460d/Jhn2-D12Xd4obDZb/images/image%20(132).png?fit=max&auto=format&n=Jhn2-D12Xd4obDZb&q=85&s=dcd00ce53ff6d2f2fc7e895808813e6a" alt="" width="1289" height="512" data-path="images/image (132).png" />
