Start with the quantity the file can cover
A screenshot of the best ask is a price observation, not a quantity guarantee. This worksheet takes a saved list of levels and walks through it until either the requested base quantity is allocated or the supplied rows end. Its useful result is the split between covered and unfilled quantity, with the arithmetic visible at every level.
The list is treated as a bounded record. Calling it complete in the form records your declaration; it does not cause a quote lookup or prove that hidden, deeper or recently changed orders were captured. Leaving the declaration unknown preserves that uncertainty while still allowing arithmetic over the rows you supplied.
Keep the original 5-unit example, then test 8
The original hypothetical buy asks for 5 base units. The supplied asks contain 3 at 100 USD and 4 at 101 USD. The calculation consumes 3 at the first price and 2 at the second. The quote amount is 300+202=502 USD;502/5 gives a VWAP of 100.4 USD per base unit. Relative to the best supplied ask of 100, the difference is 40 basis points.
Now request 8 base units without adding a level. The file contains only 7: 3 at 100 plus 4 at 101. The quote amount for that covered portion is 704 USD and its VWAP is 704/7, displayed as 100.571428571429. Coverage is 87.5% ; 1 base unit remains unfilled by the supplied snapshot. The tool does not price that unit at 101 or invent another level. Its full-request price stays unknown.
Check the side, unit and aggregation before the price
For a buy, enter asks from lowest to highest price; for a sell, bids from highest to lowest. Distinct ordered prices are required. A reversed or repeated price stops the calculation so the tool cannot silently reorder a record. Even unused rows are validated and retained in the row audit.
Each quantity must already be a base amount. A product that reports contracts or quote notional needs an explicit conversion outside this schema. An order count is not a quantity multiplier. Coinbase Exchange documents aggregated sizes at a price and specifically distinguishes that size from the number of orders. Its level 1 response also illustrates why a response can contain only the best bid and ask. Those definitions apply to that API, not to every export.
Sources: Coinbase Exchange — Get product book.
A partial VWAP has a partial denominator
The weighted average is sum(consumed quantity × price) divided by covered quantity. It never divides a partial quote amount by the original request. When available size is larger than needed, the final consumed level is partial and later levels remain unused. Their unused quantities do not enter VWAP.
The best-level difference uses the first supplied level as its reference: buy=(VWAP−best)/best×10,000; sell=(best−VWAP)/best×10,000. It measures how these rows move away from their best price. It is not spread versus an independent midpoint, a live execution-quality score or a slippage claim about an actual order.
A Singapore journal can be on the next date
The hypothetical saved instant 2026-10-19T16:05:00Z converts to 2026-10-20T00:05:00+08:00. A Singapore journal dated 20 October matches; a journal dated 19 October does not. The price rows and VWAP are identical in both cases, but the record-date check catches a snapshot filed under the wrong local day. This is why the tool preserves both UTC and the Singapore rendering in its export.
The BCA timestamp specification identifies +08:00 as Singapore Standard Time. Here that notation supports a journal check only. It does not certify the source clock, the age of the book or your access to a trading service. Blank timestamp or journal date leaves the match unknown. A source label such as the original Example remains a label and is never parsed as a date.
Sources: Singapore BCA — Site Management Data Standards v1.1.
Keep saved depth separate from confirmed fills
A saved book can change before an order reaches a venue. Orders can disappear, amounts can change, and a different execution process can apply. This worksheet does not place an order, reconstruct a stream or check sequence IDs. It therefore does not borrow the conclusions of a feed-continuity audit or turn its allocated rows into confirmed fills.
For an actual average execution price, use actual fill records and their quantities. For this exercise, retain the source file, the product and unit definitions, the capture timestamp and whether you deliberately limited the depth. If the requested amount exceeds the record, the useful conclusion is that this record is insufficient to price the whole amount.
Save both the result and its boundary
Quantities are added and quote products are multiplied using decimal integer arithmetic. Quote amounts preserve exact products up to 24 fractional digits; displayed VWAP is rounded half up to 12 decimal places, and coverage percentages and basis points to 6. Those displays are arithmetic conventions, not exchange tick sizes. The exact row inputs remain available for a separate review. A nonzero ratio below the display precision is labelled as positive below that precision rather than a plain zero. Coverage rounding to 100% while a quantity remains unfilled is labelled as rounded from below; the exact remainder controls completeness.
The result CSV begins with price, available_quantity, consumed_quantity and quote_amount, preserving the original output layout before adding coverage and timestamp fields. Unknown metadata remains blank. Text beginning with spreadsheet formula characters receives a protective apostrophe. Keep the original input if exact source-label bytes matter. Download, automatic copy and a visible manual-copy field are available after a valid calculation; editing any input clears them. Precision-status columns accompany the displayed coverage, VWAP and basis-point values.
Use the worksheet before considering the offer
You can finish with a clear partial result: seven supplied units cover part of an eight-unit request, and one unit is outside the record. There is no need to invent the missing price to make the report look complete. Check the source and capture depth if your next question requires the whole request.
The publisher's existing Telegram offer concerns crypto signals, trade setups and market updates. It is a separate optional next step and does not verify your snapshot or its execution outcome. The guide and calculation are available in full before that link.
Worked examples
Example 1
- side
- buy
- requested quantity
- 5
- base asset
- BASE
- quote asset
- USD
- reference time
- Example
- csv
- price,quantity 100,3 101,4
- snapshot timestamp
- 2026-10-19T16:05:00Z
- journal date
- 2026-10-20
- depth scope
- limited
- filled quantity
- 5
- unfilled quantity
- 0
- quote amount
- 502
- vwap
- 100.4
- adverse best level bps
- 40
- snapshot sgt
- 2026-10-20T00:05:00.000+08:00
- journal date matches
- True
The original numeric example remains unchanged; the added timestamp is hypothetical.
Example 2
- requested quantity
- 8
- csv
- price,quantity 100,3 101,4
- filled quantity
- 7
- unfilled quantity
- 1
- quote amount
- 704
- covered request pct
- 87.5
- vwap
- 100.571428571429
- snapshot price for entire request
- unknown
Override the request in the first example. The price of the missing unit remains unknown.
Example 3
- side
- sell
- requested quantity
- 5
- csv
- price,quantity 100,3 99,4
- filled quantity
- 5
- unfilled quantity
- 0
- quote amount
- 498
- vwap
- 99.6
- adverse best level bps
- 40
A sell walks descending bids; the adverse difference is measured below the best bid.
Questions before you use the result
Does unfilled mean the market has no more liquidity?
No. It means the supplied rows do not cover the request. The tool does not observe other or later liquidity.
Can I use an order count as quantity?
No. Use the documented base-size field. Aggregated size must not be multiplied by the number of orders.
Does a matching Singapore date prove a fresh snapshot?
No. It only compares the supplied instant with the supplied local journal date. Neither clock accuracy nor present market freshness is checked.
Are these prices executable?
The tool calculates a saved snapshot allocation. It does not establish an executable quote or a confirmed trade.
Primary sources and scope
- Coinbase Exchange — Get product bookChecked 2026-10-20. Level1 returns best bid/ask; aggregated size and number of orders are separate fields. No live product-book request was made.
- Singapore BCA — Site Management Data Standards v1.1Checked 2026-10-20. The +08:00 timestamp notation represents Singapore Standard Time; used only for the local journal-date example.
Prepared from the sources listed above. Examples and calculations explain a method; they do not predict prices or certify an investment. Geographic time references do not establish where a trading service is available. Dated schedules can change: consult the named publisher before relying on a future event.