Skip to main content
This is a different ruleset from the API-consumer conformance. That one measures an integration CALLING the trdrs API. This one measures a provider service IMPLEMENTING the provider contract — the thing an adapter developer writes so that trdrs can reach a venue. You can run it before you have a vendor account, a certificate, or a network. The reference provider in this repository implements the contract exactly, and the suite passes against it; run the suite against your own service and the differences are your work list.

What it measures

Fourteen rules. Each one exists because getting it wrong loses or duplicates somebody’s trade, and the reason travels with the result — a provider that only learns what failed tends to make the check pass rather than make the behaviour right.

Running it

The evidence

runProviderSelfCheck returns the artifact directly; write it to a file and it is the evidence bundle. It never contains your authorizationRef.
Three outcomes, and the third one matters:
  • pass — the rule was observed to hold.
  • fail — the rule was observed not to hold, with what was seen.
  • skipped — the rule could not be attempted. No tradable account was supplied, or your account fits in one page so there was no partial page to check.
passed is true only when every rule passed. A skipped rule does not count toward it, because certifying a provider for behaviour nobody observed is worse than reporting nothing at all. The suite runs every rule even when the first one fails, and a provider it cannot reach at all comes back as failures rather than a crash. One run should give you the whole list, not the first item on it.

What it does not measure

It is not a certification and it is not a market. There is no book, no slippage and no latency anywhere in the reference, and passing every rule says nothing about whether your venue fills the way you expect under load. It says your service follows the contract’s rules about identity, ordering and evidence — which is the part that, when wrong, loses money silently.