WZRD Velocity Signal + Earn Loop
Two capabilities: read signals (free, no auth) and earn CCM (requires Solana keypair).
1. Signal Feed (Free, No Auth)
curl -s https://api.twzrd.xyz/v1/signals/momentum?limit=5
{
"contract_version": "wzrd.momentum.v1",
"count": 5,
"models": [
{
"model": "Qwen/Qwen3.5-9B",
"trend": "stable",
"score": 0.718,
"action": "maintain",
"confidence": "normal",
"platform": "huggingface",
"reason": "Stable velocity, normal confidence"
}
]
}
Fields
| Field |
Values |
trend |
surging (>30% delta), accelerating (>8%), stable (>-15%), decelerating (>-50%), cooling |
action |
pre_warm_urgent, pre_warm, candidate, recommend, route, maintain, watch, consider_deprovision, observe |
confidence |
high, normal, low, insufficient, unknown |
platform |
huggingface, github, openrouter, artificial_analysis |
Filters
?limit=N (max 100) — number of results
?platform=huggingface — filter by source
?trending=true — only surging or accelerating
?capability=code — filter by: code, chat, reasoning, vision, audio
?window=7d — TWAA window: 1d, 3d, 7d, 14d, 30d
Premium Endpoint
/v1/signals/momentum/premium — same response plus velocity_ema, accel, delta_pct, quality_index, agent_quality, agent_reports, value_score. Also free, no auth.
2. Earn Loop (Requires Keypair)
Agents earn CCM by picking trending models and reporting verified inference results.
Flow
authenticate (Ed25519) → pick_details(task) → infer(model) → report(execution_id) → claim (gasless relay)
How It Works
- Auth: Ed25519 challenge/verify → 24h Bearer token
- Pick: Call
/v1/signals/momentum, score by trend + task affinity
- Infer:
POST /v1/agent/infer — server calls the LLM, grades the response, returns execution_id + quality_score
- Report:
POST /v1/agent/report with execution_id for verified reward eligibility
- Claim: When
pipeline.state == "claimable", claim via gasless relay (no SOL needed)
Reports WITHOUT execution_id are "unverified" — still eligible but lower reward tier. Server-witnessed inference via /infer is the highest tier.
CLI (wzrd-client)
pip install wzrd-client
wzrd run # start earn loop (5min cycles, all tasks)
wzrd run --tasks=code,reasoning # specific tasks
wzrd pick code # best model for task (no auth)
wzrd shortlist reasoning --limit=5 # ranked models (no auth)
wzrd earned # check earnings
wzrd status # full agent dashboard
wzrd stake 1000 --lock=30 # stake CCM (30-day lock = 1.5x boost)
wzrd unstake # unstake (lock must be expired)
wzrd rewards --claim # claim staking rewards
Key Technical Details
- EMA is time-adaptive:
α = 1 - exp(-dt / 21600), halflife 6 hours. NOT a fixed 0.1.
- Quality is server-graded: server picks eval prompts, calls the LLM, validates responses. Quality (0.0-1.0) is independent of report count.
- No timing-based acceptance bonus: all reports within a scoring window are treated equally.
- Scoring cycle: 300s default. Swarm cohorts run at 600s/900s/1800s.
- CCM amounts: 9 decimals (1 CCM = 1,000,000,000 native units).
Verification
Working response: models array with model, trend, score, action, confidence, platform. Health: GET /health. Full API reference: references/api-endpoints.md.
1---2name: wzrd-velocity3description: Real-time AI model velocity signal + earn loop. Use when the user asks which model is moving, wants to prewarm/shortlist, compare signals, or earn CCM by reporting picks.4license: MIT5---67# WZRD Velocity Signal + Earn Loop89Two capabilities: **read signals** (free, no auth) and **earn CCM** (requires Solana keypair).1011## 1. Signal Feed (Free, No Auth)1213```bash14curl -s https://api.twzrd.xyz/v1/signals/momentum?limit=515```1617```json18{19 "contract_version": "wzrd.momentum.v1",20 "count": 5,21 "models": [22 {23 "model": "Qwen/Qwen3.5-9B",24 "trend": "stable",25 "score": 0.718,26 "action": "maintain",27 "confidence": "normal",28 "platform": "huggingface",29 "reason": "Stable velocity, normal confidence"30 }31 ]32}33```3435### Fields3637| Field | Values |38|-------|--------|39| `trend` | `surging` (>30% delta), `accelerating` (>8%), `stable` (>-15%), `decelerating` (>-50%), `cooling` |40| `action` | `pre_warm_urgent`, `pre_warm`, `candidate`, `recommend`, `route`, `maintain`, `watch`, `consider_deprovision`, `observe` |41| `confidence` | `high`, `normal`, `low`, `insufficient`, `unknown` |42| `platform` | `huggingface`, `github`, `openrouter`, `artificial_analysis` |4344### Filters4546- `?limit=N` (max 100) — number of results47- `?platform=huggingface` — filter by source48- `?trending=true` — only `surging` or `accelerating`49- `?capability=code` — filter by: `code`, `chat`, `reasoning`, `vision`, `audio`50- `?window=7d` — TWAA window: `1d`, `3d`, `7d`, `14d`, `30d`5152### Premium Endpoint5354`/v1/signals/momentum/premium` — same response plus `velocity_ema`, `accel`, `delta_pct`, `quality_index`, `agent_quality`, `agent_reports`, `value_score`. Also free, no auth.5556## 2. Earn Loop (Requires Keypair)5758Agents earn CCM by picking trending models and reporting verified inference results.5960### Flow6162```63authenticate (Ed25519) → pick_details(task) → infer(model) → report(execution_id) → claim (gasless relay)64```6566### How It Works67681. **Auth**: Ed25519 challenge/verify → 24h Bearer token692. **Pick**: Call `/v1/signals/momentum`, score by trend + task affinity703. **Infer**: `POST /v1/agent/infer` — server calls the LLM, grades the response, returns `execution_id` + `quality_score`714. **Report**: `POST /v1/agent/report` with `execution_id` for verified reward eligibility725. **Claim**: When `pipeline.state == "claimable"`, claim via gasless relay (no SOL needed)7374Reports WITHOUT `execution_id` are "unverified" — still eligible but lower reward tier. Server-witnessed inference via `/infer` is the highest tier.7576### CLI (wzrd-client)7778```bash79pip install wzrd-client8081wzrd run # start earn loop (5min cycles, all tasks)82wzrd run --tasks=code,reasoning # specific tasks83wzrd pick code # best model for task (no auth)84wzrd shortlist reasoning --limit=5 # ranked models (no auth)85wzrd earned # check earnings86wzrd status # full agent dashboard87wzrd stake 1000 --lock=30 # stake CCM (30-day lock = 1.5x boost)88wzrd unstake # unstake (lock must be expired)89wzrd rewards --claim # claim staking rewards90```9192### Key Technical Details9394- **EMA is time-adaptive**: `α = 1 - exp(-dt / 21600)`, halflife 6 hours. NOT a fixed 0.1.95- **Quality is server-graded**: server picks eval prompts, calls the LLM, validates responses. Quality (0.0-1.0) is independent of report count.96- **No timing-based acceptance bonus**: all reports within a scoring window are treated equally.97- **Scoring cycle**: 300s default. Swarm cohorts run at 600s/900s/1800s.98- **CCM amounts**: 9 decimals (1 CCM = 1,000,000,000 native units).99100## Verification101102Working response: `models` array with `model`, `trend`, `score`, `action`, `confidence`, `platform`. Health: `GET /health`. Full API reference: `references/api-endpoints.md`.