> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trdrs.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Run a testnet provider

> Expose a real venue through the public provider contract and qualify it without placing a mainnet order.

The TRDRS testnet provider service wraps an existing venue connection behind the same public contract
used by every third-party provider. It currently supports Binance USD-M Futures testnet and
Hyperliquid testnet. There is no mainnet switch in this service.

## What stays inside the service

Keep the venue API key or wallet, symbol conversion, quantity rules and stream details in the
provider process. TRDRS receives the normalized manifest, accounts, snapshots, events and command
receipts. The service writes session generations, command receipts and replay cursors to its own
persistent volume; it does not write venue credentials there.

## Configure one provider account

Deploy one process for one testnet credential and account. Start from
`packages/testnet-provider-app/fly.toml.example` in the engine repository, create the
`provider_data` volume, and set the provider-specific secrets listed in
`packages/testnet-provider-app/README.md`.

Required common settings:

| Setting                        | Meaning                                                              |
| ------------------------------ | -------------------------------------------------------------------- |
| `PROVIDER_KIND`                | `binance` or `hyperliquid`                                           |
| `PROVIDER_CONNECTION_ID`       | The connection id registered with TRDRS                              |
| `PROVIDER_EXTERNAL_ACCOUNT_ID` | The account identity returned by discovery                           |
| `PROVIDER_AUTHORIZATION_REF`   | Opaque proof that this service may expose the account                |
| `PROVIDER_STATE_FILE`          | A path on the persistent volume, such as `/data/provider-state.json` |

The service refuses to start if required credentials or account identity are missing.

## Qualify it

Set `PROVIDER_ENDPOINT` to the deployed service and provide the minimum testnet order described in
the app README. Then run:

```bash theme={null}
pnpm --filter @trdrs/testnet-provider qualify
```

The command runs the same [provider self-check](/partner-platform/conformance/provider-self-check)
used for outside providers. It checks session fencing, account isolation, event replay, payload
hashes and command retry behavior. The order must use the provider's minimum testnet size.

Save the resulting JSON as test evidence. A local fixture proves the contract code; only a passing
run against the remote testnet proves the venue integration. Production remains disabled until that
evidence and the operating controls are reviewed.
