Skip to content
Tideline
Data license

Data license

Tideline is sold as data, not as a token. Compliance and risk teams license the attribution and enrichment layer through this API.

Access tiers

TierAuthLimitsIncludes
PublicNo key120 requests / minuteOverview, coverage, entity registry, labelled flows from the last 24 hours (50 per page).
LicensedBearer key1,200 requests / minute, metered per key per dayAttribution evidence per address, decoded protocol context per flow, 30 days of history (1,000 per page), the compliance report in JSON and CSV, and the live flow stream.
AdminBearer keyUnmeteredEverything licensed, plus curating the registry: attributions, signed attestations, disclosures and key issuance.

The compliance question, as one request

Every flow touching an entity in the last 24 hours, with the method, confidence and evidence behind each attributed address.

curl "$TIDELINE_API_URL/v1/compliance/report?entity=circle&window_hours=24" \
  -H "Authorization: Bearer $TIDELINE_API_KEY"

# The same report as CSV
curl "$TIDELINE_API_URL/v1/compliance/report?entity=circle&format=csv" \
  -H "Authorization: Bearer $TIDELINE_API_KEY" -o circle-24h.csv

Live stream

Server-sent events, one per flow, as soon as it is attributed.

curl -N "$TIDELINE_API_URL/v1/flows/stream" \
  -H "Authorization: Bearer $TIDELINE_API_KEY"

event: flow
id: 48211
data: {"id":48211,"kind":"cctp_outbound","asset":"USDC", ...}

TypeScript SDK

import { TidelineClient } from "@tideline/sdk";

const tideline = new TidelineClient({
  baseUrl: process.env.TIDELINE_API_URL!,
  apiKey: process.env.TIDELINE_API_KEY,
});

const { flows } = await tideline.flows({ entity: "circle", min_usd: 1_000_000 });
const report = await tideline.complianceReport("circle", 24);

Issue a key

Keys are shown once. Tideline stores only a hash.

# From the service host
cargo run -- keys create "Risk desk" licensed

# Or over the API, as an admin
curl -X POST "$TIDELINE_API_URL/v1/keys" \
  -H "Authorization: Bearer $TIDELINE_ADMIN_KEY" -H "content-type: application/json" \
  -d '{"name":"Risk desk","tier":"licensed"}'