Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.ivory.finance/llms.txt

Use this file to discover all available pages before exploring further.

Authentication

Authorization: Bearer <access_token>

curl https://api.ivory.finance/v1/rtdb/instance \
  -H "Authorization: Bearer $IVORY_JWT"
{
  "status": "active",
  "provisioned_at": "2026-03-10T09:00:00Z",
  "connectivity": {
    "ilp_tcp": {
      "host": "rtdb-acme.ivory.finance",
      "port": 9009,
      "description": "Line Protocol over TCP — highest throughput ingestion"
    },
    "ilp_http": {
      "url": "https://rtdb.ivory.finance/acme/write",
      "method": "POST",
      "description": "Line Protocol over HTTP — simpler client setup"
    },
    "rest_sql": {
      "url": "https://rtdb.ivory.finance/acme/exec",
      "description": "SQL over HTTP GET — ?query=SELECT ..."
    },
    "postgresql_wire": {
      "host": "rtdb-acme.ivory.finance",
      "port": 8812,
      "description": "PostgreSQL wire protocol — any psql/JDBC/SQLAlchemy client"
    },
    "web_console": "https://rtdb.ivory.finance/acme"
  },
  "storage": {
    "allocated_gb": 50
  },
  "tiering": {
    "description": "Data older than 7 days is automatically exported as Parquet to your IOMETE lakehouse",
    "parquet_prefix": "tenants/acme/questdb/",
    "destination": "IOMETE Lakehouse (Cloudflare R2)"
  }
}

Ingesting data with ILP

InfluxDB Line Protocol (ILP) is the fastest way to write data into QuestDB:
table_name,tag_col=tag_val field_col=field_val timestamp_ns
# pip install questdb
from questdb.ingress import Sender, TimestampNanos

with Sender(ilp_host, ilp_port) as sender:
    sender.row(
        "trades",
        symbols={"ticker": "AAPL", "exchange": "NASDAQ"},
        columns={"price": 185.42, "volume": 1000},
        at=TimestampNanos.now(),
    )
    sender.flush()