Pool identifiers
The production CNTN / USDCx pool on the Canton Network has the stable AMM ID shown below. Use it together with the venue and vault identifiers to match the pool in the public trading data.
| Pool field | Identifier |
|---|---|
Stable AMM ID (ammId) | TC CNTN/USDCx #eb7fbd068322e4d0aa67250e561edbc4-1 CL7 |
Venue (venue) | CantonSwap::122096fe076cc065af0cb38f94caa60e8ddfecbe8f0cfe10655ae7aa06fab99c66b7 |
Vault (vault) | cs-vault::1220b4cd6098eebafd4c88efd2b3986e86542bdc391060675432cd195ad26bcf013b |
These identifiers were reported in the public trading data feed on .
AMM contract IDs can differ between transactions. For the latest reported pool contract ID, use pools[].asOfSize.ammContractId in the public trading data feed. Each transaction's contract ID appears in trades[].ammContractId. Match the pool using all three identifiers above.
See the transaction transparency requirement.
How to read the data
The paths in the table identify fields in the JSON response. The symbol [] means each entry in an array. Use all three pool fields to match records: venue, vault, and ammId. These fields connect records in trades, pools, and daily.
| Requirement | JSON fields | How to read the data |
|---|---|---|
| 30-day transaction window | window.from, window.to, trades[] | The response gives the start and end of the reporting period. Each transaction has a time in trades[].time. |
| Asset symbols | trades[].baseSymbol, trades[].quoteSymbol | These fields identify the tokenized stock and the paired asset. Pool records also contain baseInstrument.symbol and quoteInstrument.symbol. |
| Transaction price and USD value | trades[].price, trades[].usdValue, trades[].sizeShares | The feed gives a price and a USD transaction value. To calculate USD value per share, divide usdValue by sizeShares. |
| Transaction size | trades[].size, trades[].sizeShares | These fields give the token quantity and share quantity. Pool records give sharesPerToken. The field usdValue gives the USD transaction amount. |
| Transaction time | trades[].time | This field gives the transaction time in Coordinated Universal Time (UTC). The letter Z at the end identifies UTC. |
| Transaction direction | trades[].direction, baseSymbol, quoteSymbol | For a buy, the trader adds the quote asset to the pool and removes the base asset. For a sell, the trader adds the base asset to the pool and removes the quote asset. |
| Pool and smart-contract identification | trades[].pool, trades[].ammContractId, pools[].asOfSize.ammContractId | These fields identify the pool and its Canton AMM contracts. The trade and the pool report each have a contract identifier. Use these ledger identifiers, not an Ethereum-style address. |
| Daily asset-pair share volume | daily[].shareVolume, daily[].usdVolume, daily[].pool | These fields give the share volume and USD volume for the pool. The fields day, windowStart, and windowEnd identify the reporting period. The field inProgress identifies an unfinished day. |
| End-of-day pool size | daily[].eodSize | This field gives the end-of-day size for the pool in daily[].pool. An unfinished day can have eodSize: null. This does not mean that the pool has a zero balance. |
| Current pool size | pools[].asOfSize | The fields baseAmount and quoteAmount give the asset balances at the reported time. The field usdValue gives the USD value. The field time gives the time of this pool report. This report is not an end-of-day report. |
Data format
The feed gives amounts as decimal strings. Use decimal arithmetic to process prices, quantities, and USD values. Use transactionId, ledgerOffset, orderContractId, and resultContractId to identify the related ledger records.
For questions about the data feed, contact contact@tokenizedstockvenue.com.
Transaction transparency requirement
Section II.G of SEC Release No. 34-106402 sets the transaction reporting requirements. TSV must give the public free access to machine-readable transaction data. The data must cover all transactions in the past 30 days. TSV must report the data in U.S. dollars (USD). TSV must update the data within ten minutes of each transaction. All market participants must have access at the same time and on the same terms.
The data must include the asset symbols, transaction price, transaction size, transaction time, and transaction direction. TSV must also report pool information, the smart-contract address, daily share volume, and end-of-day pool size for each asset pair. Footnotes 78–82 give more information about USD values, UTC time, transaction direction, and reporting periods.