Data licence & rights
What the free tier grants, what attribution it requires, and what commercial use needs.
What you may do with a published W.E.T. benchmark value. This covers the benchmark class only —
WETGRI, WETFED, WETX, WETFRAG. Slates are the tactical class, are not served by the public
API, and are not licensed here.
The free tier exists to be quoted. Nothing below is designed to make citing a number difficult; what it draws is the line between quoting the record and productising it.
The tiers
Product = access latency + rights.
| Tier | Latency | Commercial use | Redistribution | Constituent-level | Price | Status |
|---|---|---|---|---|---|---|
| Free | Previous close only | No (editorial use excepted) | No | No | Free, no account, no key | Live |
| Pro API | Same-day close + intraday indicative | Yes | Derived works only | Yes | $99–299/mo | Planned |
| Enterprise | Real-time feed | Yes | Full, by agreement | Yes | Custom | Planned |
Planned means not purchasable. Authentication and billing are not built. Anyone who needs Pro or Enterprise rights today should email indices@worldeventtrading.com; there is no checkout to point at, and pretending otherwise would be a sales page rather than a licence.
The free tier, in full
- Attribution is required. Every use of a value carries the attribution string served with it — see below.
- Previous close only. A settlement dated
Dis released on UTC dateD+1. Today's WET Close is withheld until tomorrow. The rule is keyed on the settlement date, not on elapsed hours, so any response can be reproduced and checked rather than taken on trust. - No commercial use — with the editorial carve-out below.
- No redistribution. You may quote values; you may not re-serve the series as a feed, mirror it as an API, or ship it inside a dataset you distribute.
- No constituent-level data. The composition of an index — which canonical events, at what probability, from which venues — is a Pro right. Composition digests and checksums are free, because they are what make the record verifiable.
- Rate limit: 60 requests per 60 seconds per client IP, per endpoint. Enforced at the origin.
Every response carries
x-ratelimit-limit,-remaining,-reset(Unix seconds) and-policy; a429addsretry-after. All are exposed to browser clients via CORS — a quota you cannot read is one you discover by being blocked. Back off onretry-after, not on a guess. - No settlement reference. No tier below Enterprise permits settling a financial contract against a W.E.T. benchmark, and that permission requires a signed agreement plus governance review.
The editorial carve-out
Quoting a value in journalism, research, teaching or public commentary is always permitted with attribution, whether or not the publication is commercial. A licence that made a reporter ask permission before citing a number would defeat the purpose of publishing one. What the free tier withholds is productisation: embedding the series in a paid product, reselling it, or redistributing it as a feed.
Attribution format
Per the W.E.T. Geopolitical Risk Index (WETGRI), W.E.T. World Event Trading.
The exact string for each index is served as its attribution field, so it never has to be
retyped from this page. In a chart or a table, the index name and W.E.T. in the source line is
enough; in running prose, use the sentence above.
What the free tier withholds — and why
| Withheld | Why |
|---|---|
| Today's close | The delay is the difference between the free and paid tiers. It is stated in every response, with the date it lifts. |
| Constituents | Constituent-level composition is the Pro product. |
| Intraday indicative | The indicative series is a Pro right — and it is never a settlement, at any tier. |
| WETFED per-meeting sub-track | Constituent-level detail by another name. |
Every omission is named in the response with its reason. An undisclosed omission in a licensed feed is indistinguishable from missing data, and a consumer would have no way to tell which one they were looking at.
What we commit to
- The whole history, from genesis. The free tier serves the full settled series minus the embargoed tail — never a recent window. The checksum chain starts at the first published value, so a window would leave a consumer unable to verify a single link and nothing to do but trust us. The free tier is weaker in latency and in rights; it is never weaker in auditability.
v1is stable. Fields are added, never removed or retyped. A breaking change mintsv2and leavesv1serving.- Absence is published. A day with insufficient data returns
status: "insufficient_data"and a null value. No value is ever carried forward, interpolated, or back-filled to keep a series continuous. - Corrections are visible, and labelled. A restated value follows
restatement.md: the corrected value is appended as a new row and the original
stays in the ledger flagged
superseded: true. See "How a correction reaches you" below.
How a correction reaches you
This section exists because the earlier wording of it was wrong in a way a licensee could have built against. It said a restatement "breaks the checksum chain from the corrected date forward". It does not, and it must not: the corrective row chains off the superseded one, so a restated series still verifies end to end. Detecting a correction by watching for a broken chain would therefore have detected nothing.
What actually happens:
- The corrected value is appended as a new row. Nothing is edited in place.
- The original row stays in the ledger, flagged
superseded: true. - The corrective row carries
restates(the settlement date it corrects) andrestatementReason(why the original was wrong), both published with the number. - The chain still verifies — through the superseded row.
chainVerifiedstaystrue.
What that means for your code:
- A settlement date can carry more than one row. Key your cache on
checksum, not ondate. - Never quote a row with
superseded: true. It is the withdrawn value.latestalready excludes them, and each response reportsrestatements[]andsupersededDaysso a correction is visible without diffing the series yourself. - Do not filter superseded rows out before verifying. They are part of the chain; removing them produces a broken chain from correct data.
- If the newest released row is superseded and its correction has not been released yet, the response
returns
latest: nullwithlatestUnavailableReason: "awaiting_restatement"rather than reaching back for an older value. A known-bad number and a stale number are both wrong; publishing neither is the honest answer.
The wrong value stays visible on purpose. A restatement you cannot see is indistinguishable from history quietly changing underneath you, which is the thing the ledger exists to make impossible.
Verifying a value yourself — no licence required
Every settlement row carries a checksum chained to its predecessor's, and the exact construction is
published as checksumAlgorithm (one line) and checksumRecipe (field by field) on every history
response, with the same content rendered at /developers. It is deliberately a
short, dependency-free hash so it can be reimplemented in any language in a few lines.
What is verifiable, and what is not. The row checksum is fully reproducible from the fields served with it — that is the free tier's core promise, and it holds for every published row. The composition digest inside it is published verbatim but cannot be re-derived without the constituent list, which is a Pro right and, for a wide benchmark, impractical to publish daily regardless: WETX settled 3,835 constituents on its first close. So a stranger can prove our history has not moved. Proving the composition behind a given day is a Pro right, and pretending otherwise would be selling a verification that stops working the moment someone tries it.
Standing correction: the recipe published before 2026-08-03 described a single FNV-1a pass and could not reproduce any checksum we had ever published. It is now transcribed from the engine and has been re-derived, from the published text alone, against every published row. If a recomputation of yours still disagrees with a published checksum, that is a data error under data-errors.md and we want to hear about it — no licence, no account.
What a licence does not buy
- Not a forecast, not advice, and never a performance claim. A benchmark value describes what markets priced. It does not describe what will happen, what anyone should do, or what anyone earned. Where an accuracy scorecard is published it reports calibration, never returns.
- No guarantee of continuity. A benchmark may be suspended or ceased under cessation.md. The published history stays published regardless.
- No exclusivity, and no endorsement. Using a value does not make anyone a partner, and W.E.T. does not operate any venue it indexes (conflicts.md).
Changing these terms
Licence terms change the same way rules do: published first, prospective after. A material change to the free tier — a shorter history, a longer delay, a narrower right — is published 30 days before it takes effect. Adding a right takes effect immediately, because nobody has to re-plan around getting more.
Standing disclosure: this document has not had external legal review. It is the operating policy of the administrator, written to be honest about what is and is not permitted, and it will be reviewed before any paid tier is sold. That gap is recorded here rather than left for a licensee to discover.
Questions, and challenges
Licensing: indices@worldeventtrading.com.
To challenge a value, a rule, or a constituent — no account or licence required — see complaints.md. Nothing in this licence conditions the right to challenge a published number on paying for it.