Opening gFinOS

Securing your workspace…

Developer docs

gFinOS Tap — native card protocol

The gFinOS card runs entirely on our own rails. Any NFC-capable smartphone can pay — no Apple Wallet, no Google Wallet, no third-party issuer required. External providers are optional add-ons, never dependencies.

How a tap actually works

  1. 1. Mint. The payer calls mintTapToken. The server returns a signed HMAC-SHA256 payload capturing { card, user, currency, cap, nonce, exp, deviceHash }.
  2. 2. Broadcast. On Android Chrome we write the token to an NDEF url record via the Web NFC API — the phone becomes an NFC tag. On iOS or older phones the identical token is displayed as a QR code. Both paths carry the same signed bytes.
  3. 3. Read. The merchant terminal (any device with NFC or a camera) reads the token, adds its own ARQC challenge(sandbox EMV, HMAC-SHA256 over UN + ATC + amount + currency + pairing code).
  4. 4. Verify. verifyTapAndAuthorize checks signature, expiry, per-card daily limit, terminal ARQC, device velocity (5 taps / 5 min triggers step-up), and mints a card authorization.
  5. 5. Capture & settle. Immediate or delayed capture debits the payer wallet in local platform currency, contributes 0.5% to the Cooperative Treasury, and emits tap.verified, tap.authorization_created, tap.captured, tap.failed webhooks.

Phone compatibility matrix

DevicePathWallet app needed?
Android + Chrome/Edge (NFC)Web NFC (NDEF)No
Android without NFCOn-screen QRNo
iOS (any Safari)On-screen QRNo
Feature phones w/ camera scannerQRNo
Any phone paired to gFinOS POSSandbox EMV / ARQCNo

Provider strategy — native default, third-parties optional

1 of 6 providers active. The native rail is guaranteed; everything else is off unless explicitly enabled.

Security model

Try tap →API reference