Skip to main content
Two routes carry your firm’s meter. One gives the number you are billed on; the other lists the accounts that made it. They are computed from the same query the trdrs invoice is, so the second always sums to the first — which is what makes them worth reading instead of a monthly email. Both run with your partner key. They sit under Connect in the reference because the meter is one meter, whether the accounts arrived through a registration or you issued them yourself.
1

Read the month's number

Get monthly usage answers with the count, the price, and the total.
Money is in cents and integral. A null price or amount means unpriced — never a zero bill.
2

Pull the accounts behind it

List billed accounts expands the same query into one row per account that counted, ordered by account number.
Each row carries the accountNumber, the count of real fills inside the month, and firstFillAt / lastFillAt in UTC. Accounts are named by their venue account number — the identifier your firm issued. No trader identity fields appear on this surface.
3

Watch the month as it runs

Both routes default to the previous complete month — the one being invoiced. Naming the current month is allowed and answers month-to-date, which keeps moving until the month closes.
month is YYYY-MM and months are UTC. A malformed month is a 400, rejected rather than silently reset to a default — a typo in a reporting job should fail loudly, not quietly bill you for a different month.

What the meter counts

In the contract’s own words: activeAccounts is the number of distinct accounts that took at least one real fill inside the month. Three consequences follow directly from that sentence. There is no proration and no partial account: an account either printed a real fill inside the UTC month or it did not.

Reading basis before you read the number

basis says how the accounts were attributed to your firm, and it changes what the number means. The same care shows up in the refusals: a deployment without metering answers 404 rather than a zero, and the accounts route answers 404 rather than an empty list that would read as “no accounts billed”.

Reconciling an invoice

  1. Read the month’s number with basis and activeAccounts. If basis is unattributable, stop — the count is structural, not a measurement, and the invoice question is a commercial one.
  2. Pull the account list for the same month. It always sums to activeAccounts, because it is the same query expanded. If it does not match your expectation, the difference is now account-by-account rather than a single disputed total.
  3. Diff it against your own records. An account on our list and not on yours traded when you thought it was dormant. An account on yours and not ours took no real fill that month — connected-but-idle, or simulated only.
  4. Check the arithmetic. amountCents is activeAccounts × priceCentsPerActiveAccount, in cents. A null price means no price is set on your firm, which is a contract question, not a data one.
Scope is your own firm and nothing else, on both routes. The firm is resolved from your key, not from a parameter, so there is no argument that reaches another firm’s accounts — and no way to accidentally reconcile against somebody else’s month.

The refusals

Where to go deeper