GTIXTNext-Gen Nav
GTIXT API V1

Programmatic Access to the Global Prop Trading Index

Access GTIXT institutional benchmarking data, rankings, and historical snapshots through a public RESTful API. All endpoints return JSON with cryptographic integrity verification. Advanced institutional endpoints provide multi-level hashing, provenance tracking, and reproducibility verification. No authentication requiredβ€”free for institutional and research use. Current public universe includes 249 firms with enriched operational and risk fields.

Overview

The GTIXT API provides programmatic access to all published data, including firm scores, pillar breakdowns, evidence excerpts, snapshot metadata, and institutional-grade provenance tracking.

πŸ”“

Public & Free

No API keys and no authentication. Light rate limits apply for fair use across institutional and research workloads.

πŸ”„

Versioned

API documentation follows semantic versioning. Breaking changes ship under a new documentation version with backward compatibility preserved where possible.

βš™οΈ

Deterministic

Every response is reproducible and traceable to immutable snapshots. SHA-256 hashes ensure data integrity.

πŸ“Š

JSON Format

All responses are JSON with standard schemas. Designed for integration with data pipelines, dashboards, and research tools.

Base URL

https://gtixt.com/api

Snapshot objects are hosted at https://data.gtixt.com/gpti-snapshots/

Endpoints

All endpoints support GET requests and return JSON. CORS is enabled for browser-based applications.

GET
/snapshots

Retrieve snapshot metadata. The API currently returns the latest snapshot only; pagination fields are reserved for the archive endpoint.

Query Parameters
ParameterTypeDefaultDescription
limitinteger10Max results (1-50)
beforestringlatestISO timestamp to paginate older snapshots
Example Request
curl "https://gtixt.com/api/snapshots?limit=1"
Example Response
{
  "success": true,
  "snapshots": [
    {
      "object": "universe_v0.1_public/_public/20260212T191715.391605+0000_62fbf6f82af5.json",
      "sha256": "62fbf6f82af59591b05ddeba45e8373df7651d02785661667bdbf35d7a895d76",
      "created_at": "2026-02-12T19:17:15.391605Z",
      "count": 249
    }
  ],
  "total": 1,
  "latest": {
    "object": "universe_v0.1_public/_public/20260212T191715.391605+0000_62fbf6f82af5.json",
    "sha256": "62fbf6f82af59591b05ddeba45e8373df7651d02785661667bdbf35d7a895d76",
    "created_at": "2026-02-12T19:17:15.391605Z",
    "count": 249
  }
}
GET
/firms

Retrieve list of all firms in the latest snapshot with scores, confidence, metadata, enriched program parameters, and risk metrics.

Query Parameters
ParameterTypeDefaultDescription
limitinteger50Max results (1-500)
offsetinteger0Pagination offset
sortstringscoreSort by: score, name, status
Example Request
curl "https://gtixt.com/api/firms?limit=10&sort=score"
Example Response
{
  "success": true,
  "count": 1,
  "total": 249,
  "limit": 10,
  "offset": 0,
  "firms": [
    {
      "firm_id": "ftmocom",
      "name": "FTMO",
      "status": "active",
      "gtixt_status": "pass",
      "score_0_100": 87.5,
      "model_type": "challenge",
      "jurisdiction_tier": "tier1",
      "confidence": 0.9,
      "na_rate": 0.02,
      "payout_frequency": "Monthly",
      "max_drawdown_rule": 10,
      "daily_drawdown_rule": 5,
      "rule_changes_frequency": "Monthly",
      "payout_reliability": 75,
      "risk_model_integrity": 80,
      "operational_stability": 70,
      "historical_consistency": 80,
      "pillar_scores": {
        "transparency": 0.92,
        "payout_reliability": 0.88,
        "risk_model": 0.85,
        "legal_compliance": 0.90,
        "reputation": 0.82
      },
      "agent_c_reasons": []
    }
  ],
  "snapshot_info": {
    "object": "universe_v0.1_public/_public/20260212T191715.391605+0000_62fbf6f82af5.json",
    "sha256": "62fbf6f82af59591b05ddeba45e8373df7651d02785661667bdbf35d7a895d76",
    "created_at": "2026-02-12T19:17:15.391605Z",
    "source": "remote"
  }
}
GET
/firm

Retrieve a specific firm record and the snapshot metadata it came from.

Query Parameters
ParameterTypeRequiredDescription
idstringYes*Firm ID (e.g., "ftmocom")
namestringYes*Firm name (URL-encoded)

*Either id or name is required.

Example Request
curl "https://gtixt.com/api/firm?id=ftmocom"
Example Response
{
  "firm": {
    "firm_id": "ftmocom",
    "name": "FTMO",
    "status": "active",
    "gtixt_status": "pass",
    "score_0_100": 87.5,
    "model_type": "challenge",
    "jurisdiction_tier": "tier1",
    "confidence": 0.9,
    "na_rate": 0.02,
    "pillar_scores": {
      "transparency": 0.92,
      "payout_reliability": 0.88,
      "risk_model": 0.85,
      "legal_compliance": 0.90,
      "reputation": 0.82
    },
    "agent_c_reasons": []
  },
  "snapshot": {
    "object": "universe_v0.1_public/_public/20260212T191715.391605+0000_62fbf6f82af5.json",
    "sha256": "62fbf6f82af59591b05ddeba45e8373df7651d02785661667bdbf35d7a895d76",
    "created_at": "2026-02-12T19:17:15.391605Z",
    "count": 249
  }
}

Institutional Endpoints

Advanced endpoints for cryptographic verification, provenance tracking, and multi-level hashing validation. These endpoints provide institutional-grade auditability and data integrity confirmation.

GET
/api/provenance/trace/:snapshot_id

Retrieve the complete hash chain and verification status for a snapshot. Shows evidence β†’ pillar β†’ firm β†’ dataset hash cascade to enable reproducibility verification.

Path Parameters
ParameterTypeDescription
snapshot_idUUIDSnapshot identifier from versioned_snapshots table
Example Request
curl "https://gtixt.com/api/provenance/trace/2ec9923b-0cc5-48a4-bb68-a25c4d0be361"
Example Response
{
  "success": true,
  "snapshot_id": "2ec9923b-0cc5-48a4-bb68-a25c4d0be361",
  "trace": {
    "dataset_hash": "abc123...",
    "firm_hash": "def456...",
    "pillar_hash": "ghi789...",
    "evidence_hash": "jkl012...",
    "firm_hash_valid": true,
    "chain_valid": true,
    "snapshot_signature": "ECDSA signature...",
    "signature_verified": true
  },
  "timestamp": "2026-02-24T04:03:19.831941+00:00"
}
GET
/api/provenance/graph/:firm_id/:date

Retrieve the complete data lineage graph for a firm on a specific date. Returns all transformations, validation steps, and the DAG structure showing how the score was derived.

Path Parameters
ParameterTypeDescription
firm_idstringFirm identifier (e.g., "ftmocom")
dateISO8601Date for historical lineage (e.g., "2026-02-24")
Example Request
curl "https://gtixt.com/api/provenance/graph/ftmocom/2026-02-24"
Example Response
{
  "success": true,
  "firm_id": "ftmocom",
  "date": "2026-02-24",
  "graph": {
    "nodes": [
      {
        "id": "evidence-001",
        "type": "evidence",
        "data": {"source": "PLC register", "value": 0.92}
      },
      {
        "id": "pillar-transparency",
        "type": "pillar",
        "data": {"name": "Transparency", "score": 0.92}
      }
    ],
    "edges": [
      {
        "from": "evidence-001",
        "to": "pillar-transparency",
        "operation": "SHA-256 hash aggregate"
      }
    ]
  },
  "reproducibility": {
    "all_sources_available": true,
    "all_hashes_valid": true
  }
}
GET
/api/provenance/evidence/:evidence_id

Retrieve full provenance for a single evidence item, including source system, transformation chain, validation metadata, and cryptographic hashes at each step.

Path Parameters
ParameterTypeDescription
evidence_idUUIDEvidence identifier from evidence_provenance table
Example Request
curl "https://gtixt.com/api/provenance/evidence/a1b2c3d4-e5f6-4g7h-8i9j-k0l1m2n3o4p5"
Example Response
{
  "success": true,
  "evidence_id": "a1b2c3d4-e5f6-4g7h-8i9j-k0l1m2n3o4p5",
  "provenance": {
    "source_system": "FCA_REGISTER",
    "raw_data_hash": "sha256_hash_of_original",
    "transformation_chain": [
      {
        "step": 1,
        "operation": "Extract from PDF",
        "input_hash": "...",
        "output_hash": "..."
      }
    ],
    "validation": {
      "llm_validation": {"result": "PASS", "confidence": 0.95},
      "rule_validation": {"result": "PASS"},
      "heuristic_validation": {"result": "PASS"}
    },
    "evidence_hash": "final_evidence_hash...",
    "immutable": {
      "locked": true,
      "created_at": "2026-02-24T04:03:19Z",
      "signature": "ECDSA_signature..."
    }
  }
}
POST
/api/provenance/verify

Verify dataset or evidence integrity using multi-level hashing. Accepts evidence IDs, firm IDs, or dataset timestamps and returns cryptographic verification of the complete hash chain.

Request Body
{
  "type": "evidence|firm|dataset",  // Verification scope
  "evidence_id": "UUID",              // Required if type=evidence
  "firm_id": "string",                // Required if type=firm
  "dataset_timestamp": "ISO8601",      // Required if type=dataset
  "include_chain": true               // Optional: return full hash chain
}
Example Request
curl -X POST "https://gtixt.com/api/provenance/verify" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "dataset",
    "dataset_timestamp": "2026-02-24T04:03:19.831941+00:00",
    "include_chain": true
  }'
Example Response
{
  "success": true,
  "verification": {
    "type": "dataset",
    "dataset_hash_valid": true,
    "merkle_root_valid": true,
    "total_firms_verified": 157,
    "all_signatures_valid": true,
    "chain": {
      "evidence_level": "βœ“ Valid",
      "pillar_level": "βœ“ Valid",
      "firm_level": "βœ“ Valid",
      "dataset_level": "βœ“ Valid"
    }
  },
  "timestamp": "2026-02-24T04:03:19.831941+00:00",
  "verification_timestamp": "2026-02-24T12:15:30Z"
}

Note: All institutional endpoints include ECDSA-secp256k1 signature verification. Sign requests with your institutional key for authenticated access.

Data Models

Standard JSON schemas for all API responses. Every field is typed and documented.

Firm Object

{
  "firm_id": "string",
  "name": "string",
  "status": "active" | "candidate" | "watchlist" | "excluded",
  "gtixt_status": "pass" | "review" | "fail",
  "score_0_100": 0-100,
  "confidence": 0.0-1.0,
  "na_rate": 0.0-1.0,
  "model_type": "challenge" | "hybrid" | "other",
  "jurisdiction": "string",
  "jurisdiction_tier": "Tier 1" | "Tier 2" | "Tier 3",
  "pillar_scores": { "metric": 0.0-1.0 },
  "metric_scores": { "metric": 0.0-1.0 },
  "agent_c_reasons": []
}

Evidence Excerpt

{
  "pillar": "string",           // Pillar name
  "metric": "string",           // Metric key (e.g., "rules.clarity")
  "value": 0.0-1.0,             // Normalized metric value
  "source_uri": "string",       // Original source URL
  "captured_at": "ISO8601",     // Capture timestamp
  "excerpt": "string"           // Optional text excerpt
}

Snapshot Pointer

{
  "object": "string",           // MinIO object path
  "sha256": "string",           // SHA-256 hash
  "created_at": "ISO8601",      // Publication timestamp
  "count": integer              // Total firms in snapshot
}

Error Codes

All errors return JSON with a standard error object containing code, message, and timestamp.

400
Bad Request

Missing required parameter or invalid query format.

{
  "error": "missing_parameter",
  "message": "Required parameter 'id' or 'name' not provided",
  "status": 400
}
404
Not Found

Firm ID or snapshot ID does not exist in the database.

{
  "error": "firm_not_found",
  "message": "Firm with id 'invalid123' not found",
  "status": 404
}
500
Internal Error

Server error. Retry with exponential backoff.

{
  "error": "internal_error",
  "message": "Database connection failed",
  "status": 500
}

Versioning & Evolution

The GTIXT API follows semantic versioning. Breaking changes are introduced in new major versions.

v1.0
Current Stable

Initial public release with /snapshots, /firms, and /firm endpoints. Supports pagination, sorting, and basic filtering.

Released: January 2026

v1.1
Current - Institutional

Institutional-grade provenance tracking: /api/provenance/trace, /api/provenance/graph, /api/provenance/evidence, and /api/provenance/verify endpoints. Multi-level hashing, ECDSA signature verification, and complete data lineage graphs.

Released: February 2026

v1.2
Planned (Q2 2026)

Extend snapshot history via /snapshots?before=timestamp, enhanced filtering by jurisdiction and confidence, evidence excerpt expansion, and agent validation endpoints.

Target: April 2026

v2.0
Future (Q3 2026)

Breaking changes: introduce /rankings endpoint, deprecate /firms pagination in favor of cursor-based pagination, add GraphQL support.

Target: July 2026

Backward Compatibility Policy
  • Minor versions (v1.0 β†’ v1.1): Additive changes only. No breaking changes.
  • Major versions (v1 β†’ v2): Breaking changes allowed. Previous version supported for 6 months after new release.
  • Deprecation: All deprecated endpoints receive 3-month warning via API response headers.

Integrity & Verification

All GTIXT data is cryptographically verified. Every snapshot is immutable and traceable to its SHA-256 hash and MinIO object URI.

πŸ”’
SHA-256 Hashes

Every snapshot includes a SHA-256 hash. Verify data integrity by downloading the snapshot from MinIO and computing the hash locally.

πŸ“¦
MinIO Objects

Snapshot objects are stored in public MinIO buckets. Access via the latest.objectfield in /snapshots response.

⛓️
Pointer Chain

Pointer β†’ Snapshot β†’ SHA-256. This chain ensures every datapoint can be traced back to its immutable source.

Verification Example

Download and verify the latest snapshot:

# 1. Get latest pointer
curl "https://gtixt.com/api/snapshots?limit=1" > pointer.json

# 2. Extract object path and hash
OBJECT=$(cat pointer.json | jq -r '.latest.object')
EXPECTED_HASH=$(cat pointer.json | jq -r '.latest.sha256')

# 3. Download snapshot
curl "https://data.gtixt.com/gpti-snapshots/$OBJECT" > snapshot.json

# 4. Compute SHA-256
COMPUTED_HASH=$(sha256sum snapshot.json | awk '{print $1}')

# 5. Verify
if [ "$COMPUTED_HASH" = "$EXPECTED_HASH" ]; then
  echo "βœ“ Verified: Hash matches"
else
  echo "βœ— Mismatch: Data corrupted"
fi

For browser-based verification, use the Integrity Beacon tool.

Code Examples

Complete working examples in curl, Python, and JavaScript for common API operations.

cURL: Get Latest Snapshot Metadata
curl -X GET "https://gtixt.com/api/snapshots?limit=1" \
  -H "Accept: application/json"
Python: Fetch All Firms
import requests

# Fetch all firms
response = requests.get(
  "https://gtixt.com/api/firms",
    params={"limit": 100, "sort": "score"}
)

payload = response.json()
firms = payload["firms"]

for firm in firms:
    print(f"{firm['firm_id']}. {firm['name']}: {firm['score_0_100']}")
JavaScript: Get Firm Details
async function getFirm(firmId) {
  const response = await fetch(
    `https://gtixt.com/api/firm?id=${firmId}`
  );
  
  if (!response.ok) {
    throw new Error(`HTTP ${response.status}`);
  }
  
  const payload = await response.json();
  const firm = payload.firm;
  console.log(`${firm.name}: Score ${firm.score_0_100}`);
  console.log("Pillars:", firm.pillar_scores);
  
  return firm;
}

// Usage
getFirm("ftmocom").catch(console.error);
Python: Verify Snapshot Integrity
import hashlib
import requests

# 1. Get pointer
pointer = requests.get("https://gtixt.com/api/snapshots?limit=1").json()

# 2. Download snapshot
snapshot_url = f"https://data.gtixt.com/gpti-snapshots/{pointer['latest']['object']}"
snapshot = requests.get(snapshot_url).content

# 3. Compute hash
computed = hashlib.sha256(snapshot).hexdigest()
expected = pointer["latest"]["sha256"]

# 4. Verify
if computed == expected:
    print("βœ“ Verified: Hash matches")
else:
    print("βœ— Mismatch: Data corrupted")

Need Help?

For API support, integration questions, or bug reports, visit our documentation hub or verify data integrity through the Integrity Beacon.