Skip to main content

Python client for the WZRD velocity oracle. Reads AI model adoption signals from 4 platforms. Agents stream CCM on Solana by reporting picks.

Project description

wzrd-client

Which AI model should your agent use right now? WZRD tracks real-time developer adoption across HuggingFace, GitHub, OpenRouter, and ArtificialAnalysis. 100+ models. Updated every 5 minutes. Free.

pip install wzrd-client

Pick a model (zero config)

import wzrd

model = wzrd.pick("code")           # → "Qwen/Qwen3.5-35B-A3B"
details = wzrd.pick_details("code") # trend, score, confidence
top_3 = wzrd.shortlist("code", 3)   # ranked list

No API key. No account. Works immediately.

Task types: code, chat, reasoning, math, multilingual — or any string (falls back to general ranking).

Earn CCM tokens (optional)

Agents that report which model they picked — and what happened — earn CCM tokens on Solana. The usage data makes the signal better, so WZRD pays for it.

wzrd.run_loop(keypair_path="~/.config/solana/id.json")
# authenticates → picks models → runs inference → reports → claims CCM

CCM (Concentrated Compute Merit) is a Solana token earned by contributing to the velocity oracle. It's not bought — it's earned through verified participation. Agents claim CCM through a gasless relay (no SOL needed for claiming).

What you need to earn: A Solana keypair (solana-keygen new if you don't have one). That's it.

Why use this?

  • Save money: Models change weekly. The one you hardcoded last month might be 10x more expensive than the trending alternative.
  • Better results: Momentum is a leading indicator. Models gaining adoption fast are usually improving fast.
  • Get paid: Your usage reports make the oracle more accurate. WZRD pays for that with CCM tokens.

Raw API

GET https://api.twzrd.xyz/v1/signals/momentum

Premium data (velocity EMA, acceleration, quality): set WZRD_API_URL=https://api.twzrd.xyz/v1/signals/momentum/premium

Use as a routing prior

Read the oracle before calling an inference provider:

model = wzrd.pick("code")
models = wzrd.shortlist("chat")
details = wzrd.pick_details("reasoning")

Works with any provider. Pass the result to OpenRouter, OpenAI, Anthropic, HuggingFace, or your own router.

Candidate-aware routing

model = wzrd.pick(
    "code",
    candidates=[
        "openrouter/qwen/qwen3.5-9b",
        "openrouter/qwen/qwen3.5-35b-a3b",
        "anthropic/claude-sonnet-4.6",
    ],
)

Optional rewards while reporting

If you want an agent to authenticate, report routing decisions, and participate in WZRD rewards:

import wzrd

choice = wzrd.pick_details("code")

agent = wzrd.WZRDAgent.from_env()
session = agent.authenticate()
receipt = agent.report_pick(choice, quality_score=0.9, latency_ms=1200)
reward_status = agent.earned()

print(session.pubkey)
print(receipt["contribution_id"])
print(reward_status["signup_bonus_ccm"])

No manual onboarding is required. Agents can authenticate with their own Solana keypair, report real routing decisions, and claim rewards through the gasless relay when available.

Router wrapper

If you want a thin client wrapper, use WZRDRouter from wzrd.router. It only wraps clients that expose client.chat.completions.create(...). Explicit model names pass through unchanged. To trigger WZRD routing, pass model=None or a task sentinel like model="code" or model="chat".

Automatic reward loop

import wzrd

wzrd.run_loop()  # picks, reports, checks rewards, claims when available

run_loop() is the batteries-included path for unattended reporting. It uses the public momentum feed by default and can be pointed at premium explicitly via WZRD_API_URL.

Agent auth

WZRDAgent.authenticate() signs the exact server challenge message and sends the signature in the Solana base58 format the API expects. Keypair loading supports:

  • ~/.config/solana/id.json
  • WZRD_AGENT_KEYPAIR_PATH or SOLANA_KEYPAIR_PATH
  • WZRD_AGENT_KEYPAIR or SOLANA_KEYPAIR as a base58 secret or JSON byte array

Authenticated helpers:

  • agent.challenge() returns the nonce + message format
  • agent.authenticate() stores the Bearer token on the client
  • agent.status() reads /v1/agent/status
  • agent.earned() reads /v1/agent/earned and surfaces signup bonus + reward status
  • agent.report(...) posts a manual contribution
  • agent.report_pick(choice, ...) reports a pick_details() result with WZRD metadata attached

The signup bonus is recorded on first auth, then becomes claimable after the next merkle publication cycle.

Environment variables

  • WZRD_API_URL: signal endpoint override. Defaults to the public momentum feed.
  • WZRD_API_BASE_URL: API root for agent auth/report calls
  • WZRD_AGENT_TOKEN: existing Bearer token for WZRDAgent
  • WZRD_AGENT_KEYPAIR_PATH: path to Solana JSON keypair
  • WZRD_AGENT_KEYPAIR: Solana base58 secret or JSON byte array
  • WZRD_TIMEOUT_SECONDS: request timeout
  • WZRD_CACHE_TTL_SECONDS: cache TTL for fetched signals
  • WZRD_FEED_LIMIT: number of feed rows to request

Verify on-chain

WZRD data is published to 9 Switchboard pull oracle feeds on Solana mainnet (7 velocity + 2 price). You can verify any signal independently:

# Query the Qwen 3.5 9B velocity feed directly on-chain
solana account AepiFwnbfCvXwA5gtAysMaxoqdwsGiYCN6gFBLGqZf1S --output json

# Or view on Solscan:
# https://solscan.io/account/AepiFwnbfCvXwA5gtAysMaxoqdwsGiYCN6gFBLGqZf1S

Sample feeds (quote accounts):

Model Address
Qwen 3.5 9B AepiFwnbfCvXwA5gtAysMaxoqdwsGiYCN6gFBLGqZf1S
Llama 3.3 70B 6EgRwhE6db1Aqsxzmp9wj6QH2y5ZEji1xe1YdovwmD9g
Kimi K2.5 5xmwRtTgcCz6R2KapxpEXVjCNcZCpe24DnCC295S769w
Qwen3-Coder-Next g3RRSmg4PJjDNCq3jkTutMB8431UMMtRTNBRpc7UfVV

Full feed registry with all 7 velocity + 2 price feeds is available via wzrd.oracle.list_feeds().

What it returns

  • pick() returns a model name string
  • pick_details() returns a structured record
  • shortlist() returns ranked records
  • compare() explains the relative signal strength between two models
  • WZRDAgent authenticates an agent wallet and reports contributions for rewards

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wzrd_client-1.1.0.tar.gz (39.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wzrd_client-1.1.0-py3-none-any.whl (33.6 kB view details)

Uploaded Python 3

File details

Details for the file wzrd_client-1.1.0.tar.gz.

File metadata

  • Download URL: wzrd_client-1.1.0.tar.gz
  • Upload date:
  • Size: 39.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for wzrd_client-1.1.0.tar.gz
Algorithm Hash digest
SHA256 bd3f43e61d22297bb1fbb4a6bb9839633e860468b60912c7018c71d5dc619833
MD5 e871fe8b14c8f0960bd4d179c1e4463b
BLAKE2b-256 68d4d51c59b30e58ce4aab8f720e290d580ddf007e5170981823e4b27d45a6f8

See more details on using hashes here.

File details

Details for the file wzrd_client-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: wzrd_client-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 33.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for wzrd_client-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ee10377d970f08541cb5dc9e5c7203d6602d505224dd202df36aa6f8e6b2de0e
MD5 249a8cbbe74676f8e080c7470d253078
BLAKE2b-256 ab4c908db17af8d3a0df365b55c253221938df37af72dc0d4fd2db4d54c521bf

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page