Yhteenveto – takavarikon arvo
Lompakon varat – (0x6FFb9F1341204DE437Ea1c50796B0E624258C68e)
(Takavarikko on arvioitu purettavaksi 7.10.2025. Purkuhinnat on live hintoja 5 min viiveellä. Snapshot otetaan purkupäivänä)
Numero | Tunnus | Nimi | Kappalemäärä | Hinta 28.9.2021 | Hinta 7.10.2025 | Takavarikkosumma 28.9.2021 | Purkusumma 7.10.2025 | Muutos % |
---|
Yhteenveto – takavarikon arvo
Lompakon varat – Binance pörssi
(Takavarikko on arvioitu purettavaksi 7.10.2025. Purkuhinnat on live hintoja. Snapshot otetaan purkupäivänä)
Numero | Tunnus | Nimi | Kappalemäärä | Hinta 28.9.2021 | Hinta 7.10.2025 | Takavarikkosumma 28.9.2021 | Purkusumma 7.10.2025 | Muutos % |
---|
Tekninen toteutus – hintahaku lohkoketjusta
Tiivistelmä
Historiatiedot kryptovaluuttojen hinnoista haettiin automatisoidulla Node.js-putkella, joka laskee UTC-päivän (28.9.2021) päätöshinnan käyttämällä useita päivän sisäisiä referenssihetkiä ja valitsemalla viimeisimmän saatavilla olevan hinnan. Ensisijainen lähde on DefiLlama Prices API; puuttuville tunnisteille käytetään valvottua varajonoa (CoinGecko) throttle- ja backoff-logiikalla. Tiedot päivitetään idempotentisti MySQL-tietokantaan sarakkeisiin history_price, price_takavarikonpurku ja price_today.
Datalähteet ja tunnisteet
- DefiLlama — endpoint: /prices/historical/{timestamp}/{keys}, missä keys on esim. bsc:0x… tai coingecko:ethereum.
- CoinGecko (fallback) — /market_chart/range ketju- ja sopimusosoitekohtaisesti, vain jos DefiLlama ei palauta arvoa (rajoitukset huomioiden).
Sopimusosoitteet normalisoidaan muotoon chain:0x… (esim. bsc, ethereum, polygon). Aliaset kuten bep20 tai bnb mapataan deterministisesti bsc:ksi. Osoitteet validoidaan regexillä ^0x[0-9a-fA-F]{40}$.
Päivän päätöshinnan muodostus (UTC)
Päivän 28.9.2021 referenssihetket: 00:00, 06:00, 12:00, 18:00 sekä 29.9. 00:00 (rajapintojen dataväli huomioiden). Jokaiselle avaimelle haetaan hinnat kaikista hetkistä, ja päätöshinnaksi tallennetaan päivän viimeisin löytynyt arvo.
Kuorman hallinta, virheensieto ja fallback
- Batchaus: avaimet jaetaan ~60 kohteen paloihin.
- Exponential backoff: 429/5xx → 0.5s → 1s → 2s → 4s → 8s (max 15s).
- Alt-chain-haku: peilatuille tokeneille kokeillaan samaa osoitetta yleisillä ketjuilla.
- Manuaalinen Coingecko-ID-kartta tunnetuille pegi/bridge-tokeneille, jolloin haetaan Lamman kautta coingecko:{id}.
- Jäljelle jääneet kirjataan tiedostoon missing-keys.txt.
Tietoturva ja riippuvuuksien hallinta
- Node 20 + WHATWG fetch, TLS 1.3; järjestelmän CA-varmenteet.
- Lukittu asennus (package-lock.json) ja integrity-tarkisteet (SHA-512).
- Parametrisoidut kyselyt (mysql2/promise) ja taulunimien whitelist palvelimessa.
- PM2-valvonta ja lokitus (pm2 logs).
Tietokanta ja idempotentit päivitykset
Päivitys tehdään rivikohtaisella UPDATE-lauseella (idempotentti). Hinnat kvantisoidaan neljään desimaaliin (esim. DECIMAL(18,4)).
UPDATE <taulu>
SET history_price = ?
WHERE id = ?;
Laadunvarmistus
- Ristiintarkistus Lamman ja fallbackien välillä.
- Aikavyöhyke aina UTC back-endissä.
- Jäljitettävyys: jokaisesta ajosta loki + puuttuvat avaimet listaan.
Sivuston toteutus
- Node.js + Express (portti 3011, reverse proxy Nginx)
- Tailwind CSS v4 (dark UI, sininen aktiivisävy)
- MySQL (mysql2/promise), taulut:
tokens_68e
jatokens_bin
- PM2 prosessinhallinta
- HTTPS Let’s Encrypt (Nginx), asset-cache
Farmaustulot ajalta 1.1.2021–28.9.2021 – (0x6FFb9F1341204DE437Ea1c50796B0E624258C68e)
Cakes → Farmaus — veroperustelut
Takavarikkopäivänä (28.9.2021) 0x6FFb…C68e-lompakon varojen arvo oli $ 2,906,693.12. Ajanjakson 1.1.–28.9.2021 farmaustuloja kertyi $ 2,018,611.33. Näistä $ 337,547.80 vaihdettiin BNB/WBNB-varoiksi, $ 66,182.37 muihin kryptoihin ja takavarikossa on myymättömiä CAKE-tokeneita $ 102,489.49. Kaikki nämä erät ovat olleet poliisin hallussa takavarikosta lähtien (Binancessa CAKEa 0). Niitä ei tule verottaa toistamiseen, koska ne sisältyvät jo takavarikkopäivän varallisuuteen eikä niihin ole ollut määräysvaltaa verovuoden päättyessä.
Laskelma
- Takavarikkosumma (28.9.2021): $ 2,906,693.12
- Farmaustulot yhteensä: $ 2,018,611.33
- Takavarikkoon jo sisältyvät farmauserät:
- CAKE → BNB/WBNB: $ 337,547.80
- CAKE → muut kryptot: $ 66,182.37
- Takavarikossa olevat myymättömät CAKEt: $ 102,489.49
- Yllä olevien summa: $ 506,219.66
- Verotettava “loppuosa” enintään: $ 2,018,611.33 − $ 506,219.66 = $ 1,512,391.67
$ 2,906,693.12 + $ 2,018,611.33 = $ 4,925,304.45
vaikka todellinen varallisuus takavarikkohetkellä oli vain $ 2,906,693.12. Erotus olisi samaa rahaa kahdesti.
Miksi kyse on kaksinkertaisesta verotuksesta
- Realisaatio & määräysvalta: tulo syntyy vasta, kun hyöty on realisoitunut ja verovelvollisen määräysvallassa. Takavarikko katkaisee määräysvallan eikä luo realisoitua tuloa.
- Sama varallisuus, kaksi kertaa: BNB/WBNB-osuus ($ 337,547.80), CAKE → muut kryptot ($ 66,182.37) ja takavarikossa olevat myymättömät CAKEt ($ 102,489.49) sisältyvät jo takavarikkosummaan. Niiden erillinen verotus olisi kaksinkertaista verotusta.
- Periaatteet: verotus perustuu todelliseen tuloon ja veronmaksukykyyn; veroperustetta ei tule kasvattaa yli takavarikkohetken varallisuuden.
Ei määräysvaltaa = ei verotettavissa
- Kun varat eivät olleet hallinnassasi verovuoden päättyessä, niitä ei tule lukea veronalaiseksi tuloksi.
- Oikeus- ja verotuskäytännössä varoihin, joihin ei ole määräysvaltaa, ei kohdisteta tuloverotusta.
Takavarikon luonne
- Poliisi otti varat haltuun ennen vuoden 2021 loppua → varat poissa määräysvallastasi, eikä realisoitunutta hyötyä syntynyt.
Esimerkkilausuma verotukseen / oikaisuun
“Lompakosta 0x6FFb9F1341204DE437Ea1c50796B0E624258C68e on 28.09.2021 otettu takavarikkoon $ 2,906,693.12. Ajanjakson farmaustulot ovat yhteensä
$ 2,018,611.33, joista $ 337,547.80 on vaihdettu BNB/WBNB:ksi, $ 66,182.37 muihin kryptoihin ja $ 102,489.49 on takavarikossa myymättöminä CAKE-tokeneina. Nämä erät sisältyvät jo takavarikkovarallisuuteen, eikä niitä tule verottaa erikseen tulona. Kyseinen ‘loppuosa’ ($ 1,512,391.67) ei lisää veropohjaa — se on jo takavarikossa. Sen verottaminen erikseen loisi keinotekoisen kaksoisverotuksen”
Farmaustulot / päivä
CAKE-claimit / päivä
Cake hinta / päivä
CAKE → BNB/WBNB / päivä
Cake → Swap → Muut cryptot
Pitkäaikaiset omistukset (Top 15)
CAKE → BNB/WBNB / päivä
Yhteenveto – Analyysi lohkoketjutiedoista
Kooste: mitä tehtiin ja miksi
Tavoitteena oli rekonstruoida lompakon 0x6FFb9F1341204DE437Ea1c50796B0E624258C68e farmaustuotot, päivittäiset CAKE-claimit sekä CAKE → BNB/WBNB ja CAKE → muut kryptot -vaihdot ajanjaksolla 1.1.–28.9.2021. Tulokset normalisoitiin UTC-päiville ja arvotettiin päivän päätöshintaan, jotta luvut ovat vertailukelpoisia ja liitettävissä veroperusteisiin.
CAKE-claimien haku (päiväkohtaiset kertymät)
- Haettiin lompakon sisään tulleet farmatuista sopimuksista peräisin olevat CAKE-siirrot (allowlistatuista sopimuksista). Mukaan laskettiin claim/harvest-tapahtumat sekä palkkioiden siirrot, ei itseltä itselle tehtyjä siirtoja.
- Normalisoitiin tapahtumat UTC-päivälle kenttään day_utc, ja summattiin päivittäinen määrä kenttään cake_claimed.
- Vältettiin tuplalaskenta tunnistamalla restake-loopit (claim → välitön talletus takaisin) ja sisäiset siirrot (internal tx).
/api/metrics/claims/daily
ja sitä käytetään suoraan
“Farmaus tulot / päivä” -kaavioon.
Farmaustuottojen arvottaminen (USD)
Päivittäiset CAKE-määrät arvotettiin päivän päätöshinnalla. Hintahaku: ensisijaisesti DefiLlama, fallbackina CoinGecko (ks. “Tekninen toteutus”).
- Hinnat haettiin UTC-päivän referenssihetkistä (00, 06, 12, 18, 24) ja päätöshinnaksi otettiin viimeisin saatavilla oleva arvo.
- Päivän USD-arvo = cake_claimed × price_usd. Kumulatiivinen summa näkyy koosteessa “Farmaustulot koko ajanjaksolta”.
// Pseudokoodi
for day in days:
cake = sum(cake_claimed[day])
px = last_non_null([px00, px06, px12, px18, px24])
usd = cake * px
emit({ day_utc: day, cake_claimed: cake, value_usd: usd })
Swapit: CAKE → BNB/WBNB ja CAKE → muut kryptot
- Tunnistettiin Swap-tapahtumat, joissa polussa esiintyy CAKE ja vastapuolella BNB tai WBNB. BNB ja WBNB käsiteltiin yhtenä (BNB=WBNB).
- Erotteltiin erikseen CAKE → muut kryptot (esim. stablet tai muut tokenit) ja laskettiin näiden nettovaikutus USD-arvossa takavarikkopäivänä.
- Summat aggregoitiin päiväkohtaisesti endpointteihin /api/metrics/swaps/daily ja /api/metrics/others/net.
Laatu, rajaukset ja virheensieto
- Poistettiin duplikaatit (mm. päällekkäiset event-polut samaan tx:ään).
- Ohitettiin “dust”-siirrot (alle minimiraja) ja sisäiset siirrot lompakon omien osoitteiden välillä.
- Kaikki aikaleimat normalisoitu UTC:iin. Arvotus tehdään aina päivän päätteeseen.
- Hinnat ristiintarkistettiin Lamma ↔ CoinGecko; puuttuvat avaimet logitetaan.
Lataukset (JSON)
- CAKE-claimit / päivä
- CAKE-hinta / päivä
- Swapit: CAKE → BNB/WBNB / päivä
- CAKE → muut kryptot (netto, USD)
- Lompakon varat (68e) taulukko
- Binance-varat taulukko
- EUR/USD (kurssi)
Huom: jos haluat erillisiä staattisia snapshot-tiedostoja (esim. /data/*.json), voidaan julkaista rinnalle; linkit voidaan lisätä tähän samaan listaan.
Jäljitettävyys ja toistettavuus
- Kaikki aggregaatit ovat johdettavissa suoraan endpointien raakadatasta (päivä, määrä, arvo). Arvotuslogiikka on kuvattu yllä ja dokumentoitu koodissa; tulokset ovat toistettavissa.
- Päivittäiset arvot käyttävät aina saman UTC-päivän päätöshinnan; näin vältetään aikavyöhyke- ja kellonaika-harha laskelmissa.
- Muutostenhallinta: hinnat haetaan idempotentisti ja puuttuvat rivit raportoidaan logeissa.