Awazon Shapes

Shape

An amount and its decimal places

Awazon market links

Supplied by the site owner and printed unchanged, with nothing added and nothing ranked. This reference contacts none of them, so it reports no availability of any kind.

Money

A written amount is a run of digits with at most one separator inside it, and the count of digits after that separator is part of the shape rather than a rounding preference.

The shape

An amount is the least exotic string in this family and the easiest to damage, because every layer it passes through believes it knows how numbers should look.

Characters
the digits 0 to 9, and separators; nothing else belongs
Decimal separator
exactly one, written . in some conventions and , in others
Places after it
fixed by the system, commonly eight, sometimes twelve
Grouping
optional, and written with whichever of the same two characters the decimal separator is not
Leading zero
present or absent; both forms occur and both are readable
Trailing zeros
part of the written shape, not decoration to be trimmed
0.12345678       eight places, digits counting up
0.123456789012   twelve places
.12345678        same shape, leading zero dropped
0.12000000       trailing zeros kept, still eight places
12345678         the separator has gone
Every digit run here counts upward, so none of these is an amount. They are shapes.

What is printed and what is kept

The string you read is a rendering. Underneath, a system that works to eight decimal places keeps a plain integer counting the smallest unit it recognises, and the separator is inserted for your benefit at the moment of display. A system working to twelve places keeps a larger integer for the same reason. Nothing about the integer changes when a display layer decides to trim trailing zeros or pad them back on.

Two consequences follow, and they pull in opposite directions. The first is that the same quantity can appear on two screens with different numbers of printed places and be identical underneath, so a difference in trailing zeros between two views is not by itself a discrepancy. The second is sharper: a string that lost its separator entirely is not the same quantity with a formatting quirk. It is a different integer, out by a power of ten, and it will be read as such by anything that parses it.

The two separator characters are the source of most of the confusion. In one convention the comma groups the thousands and the point divides the fractional part. In the other the roles are exactly swapped. The characters are the same two characters in both cases, which is why a string that carries only one of them is genuinely ambiguous when you have no context, and why the count of digits after the separator is often the only thing that resolves it.

How to check it by eye

Counting the places

  1. Find every character in the run that is not a digit. There should be one, or two if grouping is present, and no others. A space inside the digits is a third kind of thing and does not belong.
  2. Work out which separator is the decimal one. A separator with exactly three digits after it and more digits in front of it is grouping. The one nearest the right hand end, with a short tail behind it, is the decimal point.
  3. Count the digits to the right of the decimal separator in pairs, moving left to right, and compare the total against what the field says it expects.
  4. Glance at the left hand end. A missing leading zero is ordinary and changes nothing. A missing separator changes everything.
  5. Say the places out loud as positions rather than as a quantity. Reading position by position keeps you from seeing the number you were expecting to see.

What a wrong shape means

Two separators of the same kind, or a space sitting between digits, means the string travelled through something that reformatted it. Copying out of a rendered table is the usual culprit; table cells often contain a narrow space or a non breaking space that looks like an ordinary gap and behaves like a foreign character. The remedy is to go back to the source of the amount, not to delete characters until the field stops complaining.

More places than the system works to means one of two things: the amount was written for a different chain, or it carries precision that will be rounded away or refused. Fewer places is usually harmless, since trailing zeros are frequently trimmed on display.

No separator at all is the case worth stopping for. Sometimes a copy has picked up the stored integer form rather than the display form. Sometimes a paste stripped the character. Neither is evidence of anybody doing anything to you. Reformatting between layers accounts for nearly all of it, and treating it as an attack will send you looking in the wrong direction while the actual mismatch sits in a spreadsheet.

What a correct shape does not prove

An amount with the right number of places is a well formed amount. That is the entire content of the check. Open questions include the following.

  • The unit. Digits carry no currency and no chain. The same run of characters is a perfectly good amount in several systems at once.
  • Whether the precision matches the destination. Eight places is correct in one place and wrong in another, and the string looks identical either way.
  • Whether this amount corresponds to the thing you are looking at. A faultless amount can belong to a different line, a different order, or a different day.
  • Whether it was the amount at any particular moment. A rendered figure is a snapshot of when the page was built, and this site prints no figures of its own for comparison.
  • Whether it was transcribed or generated. A hand typed amount and a machine produced one are indistinguishable once written.

What this card is not

This card covers the written quantity and nothing that surrounds it. Where the quantity is going is the business of the address cards, beginning with the older Bitcoin address form. What comes back afterwards is a transaction id. An amount embedded in a payment code as a parameter is described at what a payment QR code carries. Dates and clock times attached to an amount belong to a timestamp printed on a page.

Every page on this reference