Skip to main content
Prove your provider handles identity, ordering and evidence correctly before a single real account depends on it. A public provider is the code that lets trdrs reach a market it doesn’t run itself, written against the published provider contract. The provider self-check runs fourteen rules against it and tells you, rule by rule, what held and what didn’t. Once your provider passes, a venue can plug it in from its Providers list. Use this page if you’re building a provider. It’s a different check from the integration self-check, which measures software that calls the trdrs API; this one measures software that trdrs calls. By the end you have an evidence file listing a result for every rule. You can run it before you have a vendor account, a certificate or a network connection. The reference provider in the @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

Call runProviderSelfCheck 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.
Each rule has one of three outcomes: 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.