Which AI model should I use? WZRD picks the fastest-growing model in real time. Velocity signals from 4 platforms, on-chain oracle on Solana, earn CCM by reporting.
Project description
wzrd-client
Which AI model should I use? WZRD tells you — in real time.
pip install wzrd-client
import wzrd
model = wzrd.pick("code") # → "Qwen/Qwen3.5-9B" (right now)
WZRD tracks adoption velocity of 100+ open-source AI models across HuggingFace, GitHub, OpenRouter, and ArtificialAnalysis. It measures which models developers are actually moving to — not benchmarks, not vibes, real momentum.
Automatic earn loop
import wzrd
wzrd.run_loop() # picks, reports, earns CCM, claims — runs forever
One function turns any Python script into an earning agent on Solana. No SOL required for claims (gasless relay). CCM tokens accumulate in your wallet automatically.
Use as a routing prior
model = wzrd.pick("code") # best model for code tasks
models = wzrd.shortlist("chat") # top 5 models for chat
details = wzrd.pick_details("reasoning") # full signal with trend, confidence, score
Works with any inference provider. Pass the result to OpenRouter, OpenAI, Anthropic, HuggingFace — wherever you route your LLM calls.
On-chain oracle
15 Switchboard feeds on Solana mainnet. Any program can read model velocity data. 2 price feeds (CCM/USD, vLOFI/USD) for DeFi composability.
Earn CCM While Routing
The full self-serve loop is:
import wzrd
choice = wzrd.pick_details("code")
agent = wzrd.WZRDAgent.from_env()
agent.authenticate()
agent.report_pick(choice, quality_score=0.9)
print(agent.earned()["signup_bonus_ccm"])
No manual onboarding. No founder approval. An agent can discover the package, authenticate with its own Solana keypair, report real routing decisions, and enter the CCM reward loop on its own.
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".
Install
pip install wzrd-client
Quick start
import wzrd
model = wzrd.pick("code")
print(model)
Agent auth and CCM loop
If you want an agent to authenticate, report routing decisions, and enter the CCM reward loop:
import wzrd
choice = wzrd.pick_details("code")
agent = wzrd.WZRDAgent.from_env()
session = agent.authenticate() # uses ~/.config/solana/id.json by default
status = agent.status()
receipt = agent.report_pick(choice, quality_score=0.9, latency_ms=1200)
print(session.pubkey)
print(status["next_step"])
print(receipt["contribution_id"])
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.jsonWZRD_AGENT_KEYPAIR_PATHorSOLANA_KEYPAIR_PATHWZRD_AGENT_KEYPAIRorSOLANA_KEYPAIRas a base58 secret or JSON byte array
Authenticated helpers:
agent.challenge()returns the nonce + message formatagent.authenticate()stores the Bearer token on the clientagent.status()reads/v1/agent/statusagent.earned()reads/v1/agent/earnedand surfaces both signup bonus + signal rewardsagent.report(...)posts a manual contributionagent.report_pick(choice, ...)reports apick_details()result with WZRD metadata attached
The signup bonus is recorded on first auth, then becomes claimable after the next merkle publication cycle.
Candidate-aware routing:
import wzrd
model = wzrd.pick(
"code",
candidates=[
"openrouter/qwen/qwen3.5-9b",
"openrouter/qwen/qwen3.5-35b-a3b",
"anthropic/claude-sonnet-4.6",
],
)
If you want the metadata for logging or telemetry, use:
choice = wzrd.pick_details("code")
print(choice.model, choice.score, choice.trend, choice.confidence)
Environment variables
WZRD_API_URL: signal endpoint overrideWZRD_API_BASE_URL: API root for agent auth/report callsWZRD_AGENT_TOKEN: existing Bearer token forWZRDAgentWZRD_AGENT_KEYPAIR_PATH: path to Solana JSON keypairWZRD_AGENT_KEYPAIR: Solana base58 secret or JSON byte arrayWZRD_TIMEOUT_SECONDS: request timeoutWZRD_CACHE_TTL_SECONDS: cache TTL for fetched signalsWZRD_FEED_LIMIT: number of feed rows to request
What it returns
pick()returns a model name stringpick_details()returns a structured recordshortlist()returns ranked recordscompare()explains the relative signal strength between two modelsWZRDAgentauthenticates an agent wallet and reports contributions into the CCM loop
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file wzrd_client-0.5.2.tar.gz.
File metadata
- Download URL: wzrd_client-0.5.2.tar.gz
- Upload date:
- Size: 22.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6a7a57c9fdbabd38a22404b36ab898b43af2ad31f91118ed4512ecba6ecbe72d
|
|
| MD5 |
1c594fc77cdca9d5ba4ba1863828c544
|
|
| BLAKE2b-256 |
c9ff5b83a8c9f3d9c79ccb762073bef122b292449a2d7747f28a4837011d3cde
|
File details
Details for the file wzrd_client-0.5.2-py3-none-any.whl.
File metadata
- Download URL: wzrd_client-0.5.2-py3-none-any.whl
- Upload date:
- Size: 18.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3d88e7eb0e1083195ede300956afb4cf5d93c462f29cd75cc220447c972e21b6
|
|
| MD5 |
15cb9633aeea1b66a9effe6307966f3d
|
|
| BLAKE2b-256 |
21465a41756a4449aa24e0e387ad55fef3bc3a0d806f8c2ad2677d7325357506
|