GRASS perps
Perp · Binance, OKX, Hyperliquid · #161 by volume
Binance USDT · 24h 0.41910 – 0.45750
- 24h volume
- $24.1M
- #161 of 914
- Open interest
- $31.1M
- +0.2% contracts · 24h
- Spread
- 2.28 bps
- median · 24h
- Size at best price
- $532
- mean · 24h
- Net taker flow
- −$1.8M
- every contract · 24h
- Funding
- +0.0050%
- per period · BIN
Aperiodic metrics · GRASS · 24 h
What does it cost to cross GRASS's spread?
L1 liquidity2.28 bps median on Binance USDT, wider than 57% of the 200 most traded perps.
- #1BTC0.015 bps
- #2ETH0.051 bps
- #3SOXL1.56 bps
- #5SOL1.25 bps
- #10AKE3.18 bps
- #25XYZ:XYZ1000.35 bps
- #50MUU5.64 bps
- #100MVLL8.76 bps
- #161GRASS2.28 bps
- #200AIN2.70 bps
l1_liquidity.spread_bpsbusiest contract · median · 24 h
How much size waits at GRASS's best price?
L1 liquidity$532 at the best bid and ask on Binance USDT, on average, thinner than 81% of the 200 most traded perps.
- #1BTC$651.7K
- #2ETH$269.8K
- #3SOXL$86.9K
- #5SOL$157.5K
- #10AKE$553
- #25XYZ:XYZ100$165.1K
- #50MUU$22.4K
- #100MVLL$13.7K
- #161GRASS$532
- #200AIN$180
l1_liquidity.total_dollar_depthbusiest contract · mean · 24 h
Where does GRASS trade?
OHLCVBinance USDT took 62% of $24.1M traded in 24 h.
volume sharespread
- Binance USDT62%2.28
- OKX USDT25%2.33
- Hyperliquid USDC13%9.26
ohlcv.volume_notionaleach contract · 24 h
Who pays funding on GRASS?
FundingLongs pay on 3 of 3 contracts; Binance USDT charges +0.0050% a period (Hyperliquid’s are hourly).
- Binance USDT+0.0050%
- OKX USDT+0.0050%
- Hyperliquid USDC+0.0013%
← shorts paylongs pay →
funding.funding_rateeach contract · per funding period · now
The hour-by-hour charts are not on the tape right now; they return with the next bar.
GRASS's 3 contracts · now
| Contract | Price | 24h | Volume 24h | Open interest | Funding | Spread | Charts |
|---|---|---|---|---|---|---|---|
| Binance USDTperpetual-GRASS-USDT:USDT | 0.42080 | -6.96% | $14.8M | $10.8M | +0.0050% | 2.28 | Charts → |
| OKX USDTperpetual-GRASS-USDT:USDT | 0.42060 | -7.01% | $6.1M | $4.7M | +0.0050% | 2.33 | Charts → |
| Hyperliquid USDCperpetual-GRASS-USDC:USDC | 0.42059 | -6.91% | $3.1M | $15.7M | +0.0013% | 9.26 | Charts → |
History · a year of 5m bars per series · busiest contract on each venue
import os
from datetime import date
from aperiodic import get_derivative_metrics, get_metrics
# aperiodic.io/markets: GRASS on Binance, OKX and Hyperliquid
# 5m bars, 2025-11-12 to 2026-11-12. Install: pip install "aperiodic[polars]"
# Needs an API key (https://aperiodic.io/home/api) on a plan with flow, basis, open_interest, funding (Pro) and l1_liquidity, l2_imbalance (Prime).
# OKX: okx-perps l1_liquidity and l2_liquidity count contracts, not coins (BTC-USDT-SWAP is 0.01 BTC each). Multiply by the contract size to match the page.
API_KEY = os.environ["APERIODIC_API_KEY"]
# timestamp="true" keys bars on capture time, as on the page; "exchange" keys them on exchange time.
PERIOD = dict(
interval="5m",
timestamp="true",
start_date=date(2025, 11, 12),
end_date=date(2026, 11, 12),
)
CONTRACTS = [
("binance-futures", "perpetual-GRASS-USDT:USDT"),
("okx-perps", "perpetual-GRASS-USDT:USDT"),
("hyperliquid-perps", "perpetual-GRASS-USDC:USDC"),
]
frames = {}
for exchange, symbol in CONTRACTS:
frames["flow", exchange, symbol] = get_metrics(
api_key=API_KEY,
metric="flow",
exchange=exchange,
symbol=symbol,
**PERIOD,
)
frames["l1_liquidity", exchange, symbol] = get_metrics(
api_key=API_KEY,
metric="l1_liquidity",
exchange=exchange,
symbol=symbol,
**PERIOD,
)
frames["l2_imbalance", exchange, symbol] = get_metrics(
api_key=API_KEY,
metric="l2_imbalance",
exchange=exchange,
symbol=symbol,
**PERIOD,
)
frames["basis", exchange, symbol] = get_derivative_metrics(
api_key=API_KEY,
metric="basis",
exchange=exchange,
symbol=symbol,
**PERIOD,
)
frames["open_interest", exchange, symbol] = get_derivative_metrics(
api_key=API_KEY,
metric="open_interest",
exchange=exchange,
symbol=symbol,
**PERIOD,
)
frames["funding", exchange, symbol] = get_derivative_metrics(
api_key=API_KEY,
metric="funding",
exchange=exchange,
symbol=symbol,
**PERIOD,
)Every number is from Aperiodic's own 5-minute bars, 15 minutes behind.