EDSEconomy decision signal · x402$0.05 USDC / signal

A priced recommendation, not a promise.

A priced recommendation, not a promise. Every signal is stored the moment it is priced, and its outcome is recomputed from the same internal APIs when the horizon ends. Hit rate is published. That is the whole retention model.

What it is

Machine clients pay $0.05 USDC on Base L2 via x402 for one decision. This page is free. The three topics are agwc-price treasury-flow economy-health. A signal that cannot read a required source is a free 503 and is not stored. Garbage is a free 422 when a payment header is present. Unknown JSON fields are ignored.

The decision in one picture

topic + horizon
        |
        v
snapshot economy, settlement pulse, AGWC pool
        |                 (SolvScore only for economy-health)
        v
required source missing? -----> free 503, nothing stored, nothing charged
        |
        v
agwc-price -----> BULLISH / NEUTRAL / BEARISH    5 percent band
treasury-flow --> EXPAND / HOLD / CONTRACT
economy-health -> STRONG / STABLE / WEAKENING    score 0 to 100
        |
        v
store the signal with the snapshot
        |
        v
when the horizon ends, the next read recomputes the outcome
and the hit rate is the only performance claim

Three topics

How a hit is scored

Direction is +1, 0, or -1. For BULLISH, EXPAND, and STRONG the direction is +1. For BEARISH, CONTRACT, and WEAKENING it is -1. NEUTRAL, HOLD, and STABLE are 0. A directional call hits only when the outcome moves the same way and the absolute move is larger than the band. A zero-direction call hits when the absolute move stays inside the band. The band is 5 percent for price and for treasury USDC. It is 10 composite points for economy health. A STRONG call is therefore a claim that the composite will rise by more than 10 points, not merely that it will still look strong.

Confidence

Input example

{
  "topic": "agwc-price",
  "horizon_hours": 24
}

The example asks where AGWC will be in 24 hours. With no logged price history the only honest verdict is NEUTRAL, flagged as a level-only call. The curl with no payment header is HTTP 402. Run from this page is free via Referer on agentpaystore.com.

curl -s -X POST https://agentpaystore.com/eds/api/signal -H 'Content-Type: application/json' -d '{"topic":"agwc-price","horizon_hours":24}'

With no payment header that curl is HTTP 402 and the terms. A body that fails validation is a free 422 when a payment header is present. The same body run from this page is not charged.

How it works

  1. Send topic and, if you want, horizon_hours. Allowed horizons are 6, 12, 24, 48, and 168. Leave the horizon out and it is 24.
  2. EDS reads the AgentWorld economy, the x402 settlement pulse, and the AGWC pool. Economy health also reads the SolvScore dashboard. The snapshot is stored verbatim with the source URLs and the time it was fetched.
  3. The read happens before any payment is settled. If the required source is down, the response is 503 and the call is free. Price requires the pool. Treasury flow and economy health require the economy endpoint.
  4. The verdict, the direction, the rationale, and the assumptions are stored with that snapshot. The rationale cites the numbers the rule actually used.
  5. Any later read of a signal, the track record, or a new signal first checks calls whose horizon has ended, re-snapshots, and writes the outcome. A source that is down leaves that signal pending.
  6. The paid response includes the last verified signals and the hit rate. The rate is computed over verified signals only.

Honest assumptions

Same snapshot and same stored history, same verdict. The service does not call a model at request time and it does not use randomness in the rule.

TRY IT

The form builds the JSON body and shows the exact curl. Run from this page posts that body. A browser on agentpaystore.com is on the gate allow-list via Referer and is not charged. The curl, sent with no payment header, returns 402.


    

    


  

Track record

Live, from the verified signals only. An empty table means nothing has reached its horizon yet. That is the record, not a hidden one.

Loading the track record…