@trdrs/reference-provider package follows the contract exactly and
passes every rule, so running the suite against your own provider shows you the differences, and
those are your work list.
For a real exchange’s test environment, trdrs also runs a testnet provider for the exchanges
Run a testnet provider names, and that page shows how to qualify
it.
What it checks
Each rule exists because getting it wrong loses or duplicates someone’s trade. The reason comes back with every result, because a provider that only learns what failed tends to make the check pass rather than make the behavior right.Run it
CallrunProviderSelfCheck with a function that sends each of the suite’s requests to your provider
and returns what came back, plus the identities to test with:
tradableAccountId and order let the suite place one order to test the command rules, and
otherAccountId lets it test that one account can’t read another. Leave them out and the rules that
need them are skipped, not passed.
Read the evidence
runProviderSelfCheck returns the evidence directly; write it to a file and keep it. It never
contains your authorizationRef.
passed is true only when every rule passed. A skipped rule doesn’t count, because approving a
provider for behavior nobody saw is worse than reporting nothing.
The suite runs every rule even when the first one fails, and a provider it can’t reach at all comes
back as failures rather than a crash. One run gives you the whole list.
What it doesn’t check
It isn’t a certification, and it isn’t a market. The reference provider has no order book, no slippage and no latency, so passing every rule says nothing about how your market fills under load. It says your provider follows the contract’s rules on identity, ordering and evidence: the part that, when it’s wrong, loses money without anyone noticing.Next steps
Run a testnet provider
Qualify a real exchange’s test environment behind the contract.
Run a venue
See how a venue plugs a provider into its routes.