Satoshi не отдельный token, а denomination того же актива: 1 sat = 0,00000001 BTC. Bitcoin Core использует целый CAmount; wallet показывает BTC или sats. Lightning учитывает millisatoshi, но on-chain settlement даёт целые satoshi.
1 BTC = 100 000 000 sat, а 1 sat = 0,00000001 BTC; 0,001 BTC — 100 000 sat. Курс fiat этого не меняет.
Bitcoin Core определяет CAmount как 64-битное целое, COIN как 100 000 000. Consensus избегает floating point; десятичный BTC — отображение.
BTC, sat и sats — масштабы одного актива. Пересчёт не создаёт монеты, не меняет private key и не перемещает UTXO; название чтит Satoshi Nakamoto.
Output содержит целое значение и Script. UTXO может нести 1 sat или много BTC, wallet суммирует несколько; sat не отдельная физическая монета.
Subsidy считается в целых satoshi, halving отсекает до нуля. MAX_MONEY — граница проверки, не обещание ровно 21 млн доступных BTC; потерянные ключи снижают доступ.
Сумма получателя в outputs; fee = inputs минус outputs. Change возвращается другим output, ошибка единицы ведёт к переплате.
sat/vB — satoshi за virtual byte. Общая fee зависит от vbytes и inputs/outputs, а не процента суммы.
1 sat допустим, но dust policy зависит от будущей стоимости и Script. Это не общий consensus minimum и не on-chain делимость.
Lightning использует 1 sat = 1 000 msat для HTLC и fees. Это учёт канала; закрытие округляет до целых satoshi.
Проверяйте единицу, знаки, сумму и fee отдельно. BIP 321 задаёт amount в десятичных BTC; переводите в integer sat, избегайте floating point и смотрите outputs до подписи. Источники: Bitcoin Core — consensus amount.h; Bitcoin Developer Reference — Glossary: denominations and outputs; BIP 321 — URI Scheme; Lightning BOLT #1 — Base Protocol: amount types; Lightning BOLT #3 — Transactions: whole-satoshi settlement.
Для полной картины прочитайте эту статью вместе с Bitcoin, Лимит 21 миллион, Unit of Account, Lightning Network, UTXO, Комиссии за транзакции. На эту статью также ссылаются Bitcoin Pizza Day, Chain Surveillance, Cashu, Nostr Wallet Connect.