Arhitektura platforme

Jedno jezgro, mnogo površina — kako platforma zaista radi.

Obilazak platforme od knjige (ledger) naviše: računi, KYC, kartice i kripto koji dele jedno jezgro sa dvojnim knjiženjem, put jednog plaćanja od kreiranja do usaglašavanja, i mesto aplikativnog sloja, operatorske konzole i regulisane linije.

Jezgro

Jedan ledger ispod svega.

U središtu platforme je jedinstvena knjiga računa (ledger). Svaki račun — korisnički wallet, saldo trgovca, račun za naknade, račun za namiru — čvor je u toj knjizi, a svako kretanje vrednosti je knjiženje po principu dvojnog knjigovodstva: jedan račun se zadužuje, drugi odobrava, a obe strane su uvek jednake. Ledger je append-only. Stavke se nikada ne menjaju niti brišu; ispravka je nova, suprotna stavka, pa se cela istorija nastanka svakog salda uvek može rekonstruisati. Računi, KYC status, izdate kartice i kripto adrese vezani su za isti model računa, zbog čega autorizacija kartice, bankovni prenos i on-chain uplata mogu da se knjiže na jedan saldo bez sloja za usaglašavanje koji spaja odvojene sisteme.

  1. 01Dvojno knjiženje: svako knjiženje je u ravnoteži, dugovanja jednaka potraživanjima
  2. 02Append-only: ispravke su nove stavke, nikad izmene
  3. 03Jedan model računa za fiat, kartice i kripto
  4. 04KYC status putuje sa računom, a ne u pomoćnoj tabeli

Plaćanje od početka do kraja

Jedno plaćanje, od kreiranja do usaglašavanja.

Plaćanje nije jedan poziv, već kratak životni ciklus, a svaka faza je stanje koje vide i ledger i vaši sistemi. Svaka promena stanja šalje webhook, a svaki upis je idempotentan — isti ključ daje isti rezultat, pa ponovljen zahtev nikada ne naplaćuje dvaput.

  1. 01

    Kreiranje

    Otvara se intent: iznos, valuta, uključeni računi. Ništa se još nije pomerilo — ledger beleži stavku na čekanju.

  2. 02

    Autorizacija

    Kanal proverava sredstva i rizik i postavlja blokadu. Kod kartice to je autorizacija; kod prenosa se rezerviše zaduženje.

  3. 03

    Capture

    Blokirani iznos se potvrđuje. Ledger knjiži dvojni unos koji zaista prenosi vrednost između dva računa.

  4. 04

    Namira

    Sredstva se obračunavaju preko osnovnog kanala — kartične šeme, banke ili lanca — a računi za namiru se usaglašavaju sa stvarnim novcem.

  5. 05

    Usaglašavanje

    Platforma upoređuje sopstvena knjiženja sa izveštajem o namiri sa kanala; sve što se ne poklapa biva označeno, a ne sakriveno.

Webhook-ovi i idempotentnost prisutni su na svakoj ivici ovog toka. Vaši sistemi saznaju da se plaćanje desilo prijemom događaja, a ne pollingom, a svaki zahtev koji ponovite nakon timeout-a vraća, uz svoj ključ idempotentnosti — isti rezultat, pa ponavljanje nikad ne naplaćuje dvaput. Servis koji izvršava autorizaciju i capture je payment gateway.

Aplikativni sloj

Whitelabel aplikacije na vrhu, jedna platforma ispod.

Jezgro izlaže funkcionalnosti, a aplikativni sloj ih pretvara u proizvode. Svaka aplikacija okrenuta korisniku — web i mobilna — whitelabel je klijent koji iste račune, plaćanja i kartice prikazuje kroz sopstveni brend. Teme se zasnivaju na tokenima: boje, tipografija, zaobljenja i razmaci dolaze iz sistema dizajn tokena (PDS), pa operator menja izgled cele površine izmenom tokena, a ne forkovanjem aplikacije. Ista platforma može da se usmeri u veoma različitim pravcima — neobanka za potrošače, aplikacija za acquiring trgovaca, program izdavanja kartica, kripto on/off-ramp ili interni operativni alat — a da ne postane pet odvojenih proizvoda. To je jedna platforma u različitim ruhom, svaka konfigurisana, a ne iznova pravljena.

  1. 01Whitelabel web i mobilni klijenti na zajedničkim API-jima
  2. 02Teme zasnovane na tokenima (PDS): izgled se menja konfiguracijom, ne forkom
  3. 03Pet primera pravaca — neobanka, acquiring, issuing, ramp, ops
  4. 04Nove površine se konfigurišu, ne grade ispočetka

Operacije

Upravljajte iz konzole, uz razlog u zapisniku.

Iza svake aplikacije stoji operatorska konzola. Tu agent podrške pronalazi račun, analitičar rizika zamrzava karticu, a rukovodilac operacija storniranjem poništava knjiženje. Pristup za čitanje je širok, privilegovane akcije nisu. Sve što pomera novac, menja limite ili dotiče sredstva klijenta zahteva navedeni razlog pre izvršenja i upisuje nepromenljivu stavku u audit log — ko je postupao, nad čim, kada i zašto. Pristup sledi princip najmanjih privilegija, pa svaki operator vidi i radi samo ono što mu uloga dozvoljava. Tako radi Protocore Center, operatorska konzola, a isti pristup ugrađen je u svaki sistem na platformi: osetljive akcije su promišljene, pripisive i proverljive naknadno.

  1. 01Široko čitanje, kontrolisano pisanje — privilegovane akcije su izuzetak
  2. 02Obavezan razlog pre svake akcije koja dotiče sredstva
  3. 03Nepromenljiv audit trag: ko, šta, kada, zašto
  4. 04Najmanje privilegije po ulozi operatora

Kripto most

Kripto i fiat u istom ledgeru.

Kripto na platformi nije zaseban silos; kripto adresa je samo još jedan račun u istom ledgeru. On/off-ramp pretvara fiat u digitalnu imovinu i obrnuto na ivici sistema — klijent puni saldo karticom ili prenosom i dobija kripto, ili prodaje kripto i isplaćuje na bankovni račun. On-chain vrednost može da se namiri sve do bankovnog kanala: dolazna on-chain uplata se knjiži na račun, konvertuje i isplaćuje na IBAN, pa primalac vidi običan novac na običnom bankovnom računu. Pošto se obe noge knjiže u jedan ledger sa dvojnim knjiženjem, transakcija koja počinje on-chain, a završava bankovnim prenosom, jedna je usaglašena istorija, a ne dva sistema koja se usaglašavaju ručno.

  1. 01Kripto adresa je račun kao i svaki drugi
  2. 02On/off-ramp: fiat i digitalna imovina se konvertuju na ivici
  3. 03On-chain namira sve do isplate na IBAN
  4. 04Jedna usaglašena istorija za obe noge

Površina za razvoj

API-ji, webhook-ovi i sandbox za razvoj.

Sve što aplikacije rade, rade preko dokumentovanog API-ja — kreiranje računa, otvaranje plaćanja, izdavanje kartice, pokretanje ramp-a. Ilustrativni pozivi izgledaju ovako: POST /v1/wallets ili POST /v1/payments; stil je REST, sa idempotency ključem na svakom upisu. Promene stanja stižu kao webhook-ovi, pa vaši sistemi reaguju na događaje umesto da ih stalno proveravaju. Razvoj se odvija na sandbox tenantu — izolovanoj kopiji platforme sa test kanalima, gde možete da pokrenete ceo tok od kreiranja do usaglašavanja bez pomeranja pravog novca. Šta vam svaki proizvod izlaže i na kom nivou, određuje njegov pristupni opseg (access band); stranice proizvoda detaljno navode šta pojedini opseg uključuje.

  1. 01Dokumentovan REST API, idempotentni upisi
  2. 02Webhook za svaku promenu stanja — vođeno događajima, bez pollinga
  3. 03Sandbox tenant sa test kanalima, izolovan od produkcije
  4. 04Obim i limiti određeni pristupnim opsezima po proizvodu

Iskrena granica

Protocore gradi softver. Licenca drži regulisanu liniju.

Platni proizvod sastoji se od dve spojene stvari: regulatorne dozvole da se novac drži i prenosi, i softvera koji ga nalaže, beleži i usaglašava. Protocore gradi softver. Regulisana delatnost — držanje sredstava klijenata, otvaranje računa, prenos novca preko platne šeme — ostaje na licenci samog operatora ili licenciranog partnera: banke, EMI ili platne institucije. Platforma je napravljena da se uklopi u regulisane kanale koje donesete i da podatke o karticama zadrži na kanalu, tako da nikada ne dospeju na vaše servere; ona nije, kao ni bilo koji softver, zamena za tu dozvolu. Gde će proći regulisana linija odlučujete zajedno sa partnerom, a arhitektura je projektovana da besprekorno stoji sa obe njene strane.

  1. 01Softverski sloj, a ne licenca
  2. 02Regulisana delatnost ostaje kod operatora ili licenciranog partnera
  3. 03Podaci o karticama ostaju na kanalu, van vaših servera
  4. 04Napravljeno da se uklopi u regulisane kanale koje donesete

Želite arhitekturu za svoj projekat?

Recite nam šta gradite. Vratićemo se sa dizajnom sistema i mestom regulisane linije — ne sa prezentacijom.