klout Oracle v0

The first Social Engagement Oracle powering Social Dynamic Bonding Curves (SDBCs) and tweet‑to‑trade execution on klout.bet - built to make attention verifiable, timestamped, and tradable across platforms.


Overview

The Klout Oracle started as a fix for tweet‑to‑trade execution issues - API limits, delayed responses, and inconsistent engagement reads. We needed a way to pull tweet metrics fast, verify them, and make sure every trader saw the same numbers at the same block height.

It quickly became much more: a verifiable attention layer for any app wanting to build on top of real‑time social engagement.


Quick Start

What it does

  • Pulls engagement metrics from X: likes, reposts, replies, quotes, and views.

  • Signs + timestamps each observation off‑chain.

  • Publishes a proof on Solana that other contracts can verify.

  • Exposes the same data via REST + WebSocket APIs.

Who it’s for

  • Bonding curve markets (SDBCs)

  • Prediction / attention trading platforms

  • Indexers, dashboards, or risk engines

5‑Minute Integration Example (yes example)

Output example:


Why It Exists

We’ve built klout.bet around the idea that attention is an asset. But assets need verifiable data to be priced and traded correctly.

API calls from X aren’t deterministic, you can’t settle a market on something that might change or be rate‑limited. So the Oracle signs every observation, publishes it on‑chain, and gives both traders and developers a common source of truth.

This is what allows tweet‑to‑trade markets to execute fairly and lets other projects use the same engagement proofs without trusting our servers.


Architecture

  • Ingestor: pulls tweet metrics directly from X API shards.

  • Normalizer: cleans data, deduplicates, and calculates velocity/decay.

  • Signer: hashes and signs observations with Ed25519 keys held in an HSM.

  • Relayer: submits Merkle roots to Solana.

  • API Layer: streams verified observations over REST + WebSocket.

Program ID: KLOUTORACLE1111111111111111111111111111111 (placeholder)


Data Model

Example log during signing:


REST + WS API

REST

Returns latest signed observation.

WebSocket

Pushes real‑time engagement updates within ~250ms of change.

Example stream message:


Verification and Security

  • Signatures: Ed25519 over canonical JSON (blake3 hash).

  • Freshness: observations expire after 2 minutes unless refreshed.

  • Replay Protection: unique (tweetId, nonce) pair.

  • Key Rotation: controlled by Klout governance, dual‑sign grace period.

  • Hardware Signing: keys inside a dedicated HSM node.

  • Merkle Proofs: periodically pinned on-chain for auditability.


Deterministic Transforms

We keep transforms public so anyone can recompute the same price:

All constants (alpha, beta, etc.) are versioned and pinned in the SDK for reproducibility.


Tweet‑to‑Trade Execution

This Oracle directly fixes the issues we had with early tweet‑to‑bet orders:

  • Before: API delays caused missed fills when a tweet blew up.

  • Now: trades settle against the latest verified observation signed and timestamped at block height.

Example:


Governance & Roadmap

Governance: parameter updates, key rotations, and curve coefficients are proposed through Klout governance. All SDKs pin to parameter epochs to ensure determinism.

Roadmap:

  • v0 — tweet observations → Solana proofs (live)

  • v0.1 — creator‑level streams (aggregated per account)

  • v0.2 — cross‑chain relay to EVM

  • v1 — multi‑platform data (TikTok, YouTube)


Contact

  • Dev support: @faxonchain on X


© Klout.bet — built by humans obsessed with making attention tradable.

Last updated