Fältanteckningar

Ta emot krypto i kassan

Att ta emot krypto i kassan innebär att en kund vid din disk betalar med en digital tillgång — en stablecoin som USDC eller en kryptovaluta som BTC — och att du som handlare får betalt i euro. Tillgången kunden skickar och pengarna du får är två olika saker, sammanlänkade av en kurs som fastställs i samma stund som kunden betalar. Ingenting i din kassa, din bokföring eller ditt bankkonto får veta att krypto var inblandat. Terminalen visar ett eurobelopp, kunden skannar en kod, och några sekunder senare avslutas köpet i euro — på samma rad som om det hade varit ett kort. Krypto i kassan är en betalmetod, inte en redovisningsförändring, och att hålla det så är hela det tekniska problemet.

Den inramningen är värd att slå fast först, eftersom det mesta missförståndet kring kryptobetalningar kommer av att två frågor som borde hållas isär smälts ihop: hur kunden betalar, och vilken valuta handlaren behåller. Skilj dem åt så följer resten av sig självt.

Problemet som faktiskt måste lösas

En handlare vill ha försäljningen, inte volatiliteten. Hen vill inte avsluta dagen med en säck tillgångar av osäkert värde, och vill inte att bokföraren plötsligt ska hantera två valutor. Hen vill ha ett pris som ligger fast mellan betalningen och kvittot, pengarna i euro och en avstämning som ser ut som vilken kortdag som helst. Den som tar emot krypto naivt får inget av det: man tar emot en tillgång vars pris rör sig medan kunden fortfarande bestämmer sig, parkerar den i en plånbok och ärver en andra valuta i böckerna som någon nu måste värdera och växla för hand. Designmålet är därför snävt och strikt — gör kryptot synligt på exakt ett ställe, betalningsögonblicket, och osynligt överallt annars.

En betalning: en QR-kod, en låst kurs, en euro-rad

Gå igenom flödet vid disken. Kassören slår in en varukorg på 24,00 €. Terminalen visar summan i euro och genererar en QR-kod som kodar begäran — beloppet, en destinationsadress eller faktura och ett kortlivat kurs-id. Kunden skannar den med sin egen plånbok, ser exakt vad som ska skickas och bekräftar. Terminalen bevakar nätverket efter överföringen och skriver, när den bekräftats, ut ett kvitto i euro. Ur kassörens perspektiv är rytmen identisk med ett kort: summa, visa, godkänn, kvitto. Ingen bakom disken skriver in en adress eller läser ett saldo i något annat än euro.

Att lägga begäran inuti QR-koden är det som gör det säkert att räcka den till en främlings telefon. Beloppet och destinationen färdas i koden, med kontrollsumma, så kunden kan inte betala till fel adress eller fel belopp genom att skriva fel — samma grepp som identitet-genom-konstruktion på inkassosidan, tillämpat vid en disk. En kod som går att skanna är en kod som är korrekt; det finns inget fritextfält att fylla i fel.

Avräkning i euro, så att böckerna aldrig får veta något om krypto

Mellan tillgången kunden skickar och de euro handlaren behåller sitter växlingen, och var den sitter är hela knepet. Kunden skickar USDC eller BTC; plattformen växlar och krediterar handlarens konto i EUR. Handlarens huvudbok ser bara en eurokredit och en avgiftsrad i euro — samma form som en kortavräkning — eftersom tillgången växlas hos plattformen i stället för att lämnas i en plånbok som handlaren sedan måste förvalta. Vid dagens slut är böckerna i euro från början till slut. Det finns ingen korg med mynt att värdera, ingen andra valuta i redovisningen och ingenting att off-ramp:a på måndagsmorgonen.

Kundens uppgift är att betala med det hen har. Handlarens uppgift är att föra böcker i en enda valuta. En kassa som avräknar krypto till euro är bara maskinen som ser till att de två sakerna aldrig möts.
— Protocore · Betalningsteknik

Kursen låses, den jagas inte

Volatilitet är rädslan, och en låst kurs med nedräkning är svaret. När terminalen visar eurobeloppet fastställer den också en kurs som gäller under ett angivet fönster — några få sekunder. Kunden betalar inom fönstret, mot den kursen, och de euro handlaren krediteras är de euro som står på skärmen, inte vad marknaden hann göra medan plånboken laddades. Om fönstret löper ut innan kunden bekräftar sätter terminalen en ny kurs: en ny kod, en ny nedräkning, ett uttryckligt nytt pris — aldrig en tyst förskjutning. Handlaren utsätts aldrig för rörelsen mellan betalning och bekräftelse; den risken ligger hos den som fastställde kursen, inte hos butiksägaren som bara ville sälja en kaffe.

När kunden är långsam eller terminalen är offline

Nätverk hakar upp sig och butiker tappar uppkopplingen, så offlinebeteendet måste vara tråkigt med flit. Två fall. När kunden är långsam går kursen helt enkelt ut och sätts på nytt — en betalning bekräftas antingen inom ett fönster eller så blir den inte av, och det finns ingen halvfärdig försäljning att reda ut. När terminalen själv går offline kan den fortfarande visa en begäran för ett känt belopp, men den kan inte fastställa en ny kurs eller bekräfta avräkning, så den håller köpet som väntande och stämmer av när den återansluter i stället för att låtsas att det lyckades. Huvudregeln är att kvittot skrivs ut vid bekräftelse, aldrig på hoppet: ett eurokvitto betyder att euron är redovisade, och ett köp som terminalen inte kunde bekräfta förblir öppet och synligt i operatörskonsolen i stället för att i det tysta försvinna.

Där terminalen möter gatewayen

Kassan är det fysiska ansiktet på samma betalningsstack som körs online. En krypto-betalning på plats och en pay-by-link-checkout är samma händelse under ytan — en begäran, en betalning, en euroavräkning, ett kvitto — presenterade på olika ytor. En handlare stämmer därför av krypto i butik och onlineorder på ett ställe, i euro, med samma avgiftsrader och samma exporter, i stället för att köra två böcker som måste häftas ihop vid månadsskiftet. Terminalen finns på /products/pos; onlinesidan av samma rälsar är /products/gateway; och vokabulären — kurs, avräkning, inlösare, avstämning — definieras i /glossary.

Den ärliga gränsen

Om ingen vid din disk vill betala med krypto är en kryptoterminal en lösning på ett problem du inte har — ta kort och gå vidare. Den gör nytta där en reell del av dina kunder redan äger digitala tillgångar och hellre spenderar dem än off-ramp:ar först: vissa resekorridorer, vissa onlinenativa grupper, vissa regioner där stablecoins helt enkelt är hur människor håller pengar de kan spendera. I de sammanhangen är det att tacka nej till betalningen detsamma som att tacka nej till försäljningen. Mekaniken ovan — QR-koden, den låsta kursen, avräkningen i euro, regeln att bekräfta före kvitto — är det som låter dig ta den försäljningen utan att ta på dig volatiliteten, den andra valutan eller ett bokföringsprojekt. Kryptot förblir kundens sak; euron förblir dina.

Har du ett system att bygga?

Berätta vad problemet är. Vi återkommer med en arkitektur och en plan.