Skip to navigation

Amounts, prices and volume

View as Markdown

Signed order terms, requested fills, provisional estimates and receipt results are different facts.

FieldsMeaningUse
signedMakerAmount, signedTakerAmount, limitRatioSigned termsA limit, not an average execution price
requestedFillMakerAmount, requestedFeeArgumentCall argumentsDo not count as executed amounts or actual fees
calculationProvisional rule-based result or unavailable reasonPreserve the status; unavailable is not zero
Execution amountsNormalized receipt actualsAccount for identity and occurrence canonicality

Exact integers and units

Amounts and token IDs are decimal strings. Store them as strings or arbitrary-precision integers. JavaScript Number and binary floating point can lose precision.

grossCash, shares, fee and netCash use raw asset units. Obtain decimal scaling from verified asset configuration. As a conditional arithmetic example, with a scale of six, "1250000" means 1.25 asset units. The example does not establish a universal scale.

Multiple makers

One call can include several maker orders and a taker. Signed ratios are not a shared average execution price. Fees and rounding cannot be recovered reliably by dividing arbitrary pending arguments. Even provisional_maker_taking remains provisional.

Maker and taker executions can describe the same exchange. Do not add every fill.execution as independent market volume. resource_ids identifies shared economic resources, not additional trades. When the available fields do not support your metric, keep that result unavailable.

Redelivery and a new assessment revision are also not new volume. A revision changes the state of an existing entity. See event fields.