← Back to homepage Product · UX · Functional Specification

The complete OffQen Q&A

All 56 questions from the OffQen Mobile App UX & Functional Specification — how the world's first offline transaction software should look, feel and behave.

Showing all 56 questions

No questions match your search.

Try a different keyword, or clear the filters to see all 56 questions.

Product & Vision

Q1What is OffQen?

OffQen is an offline-first digital payment application that allows verified users to send and receive digital value even when internet connectivity is unavailable.

The user experience should remain simple:

Select recipient → Enter amount → Authenticate → Confirm → Payment completed locally.

The complexity of cryptographic verification, Secure Transaction Packages, Chain of Custody, synchronization, risk analysis, and server settlement must remain mostly invisible to ordinary users.

Q2Should users need to understand the offline payment protocol?

No. Users should NOT need to understand:

  • STPs
  • hashes
  • digital signatures
  • transaction graphs
  • public/private keys
  • Chain of Custody
  • Two-Phase Commit
  • synchronization internals

These belong in advanced transaction details and developer/security documentation. The normal user should experience OffQen like a conventional payment app.

Q3How do users start using OffQen without an internet connection?

Download the app over the internet once, and the entire offline functionality lives on the device. No provisioning or data download is needed when connectivity is cut.

Verification is local, so authentication remains fast even when the network is down.

Q4What is the offline reserve cap?

The 50% offline reserve cap. A user should never be able to commit more than half of their wallet balance in offline transactions.

The cap is enforced locally and cannot be bypassed without an online reconcile.

Q5How is the offline wallet different from an online wallet?

An offline wallet is a partial, locally reserved subset of the full balance. It can still send, but its commit range is bounded by the reserve cap and it reconciles against the cloud when connectivity returns.

Q6What does the two-phase commit look like in the offline case?

The sender prepares the STP and commits locally (PENDING_SYNC). When connectivity returns, the host-to-host layer receives the STP, verifies the signature and hash chain, and only then promotes it to SETTLED. The receiver gets a two-phase commit so funds are not settled twice.

Q7What should the entire OffQen experience feel like?

For a normal user:

OPEN APP → SEE BALANCE → SEND / RECEIVE → SELECT PERSON → ENTER AMOUNT → AUTHENTICATE → CONFIRM → ✓ DONE

For the backend: Authentication → Device Trust → Offline Reserve Validation → Transaction Construction → STP Generation → Hash → Digital Signature → Peer Verification → Two-Phase Commit → Local Storage → Pending Synchronization → Server Upload → Graph Reconstruction → Cryptographic Verification → Risk Analysis → Conflict Detection → Settlement. The first flow is what the user sees.

Home & Wallet

Q8How does offline-first payment work?

The user selects a recipient, enters the amount, authenticates, and confirms. The transaction commits locally in under 100ms, signed and hashed, and reconciles when the network comes back.

Q9How is wallet balance displayed when offline?

The app shows the user's full balance and highlights the reserved, locally-committed portion that is available for offline spend. A small "sync pending" indicator tells them what has already reconciled and what is still queued.

Q10Can users receive money while offline?

Yes. Received STPs are stored until the sender's transaction settles. A pending-receipt notification is queued and delivered the moment reconciliation completes.

Q11Do users need an account?

No account is created for the demo concept. OffQen is a concept, not a live service.

Q12Is there a biometric login?

Biometric unlock is optional but recommended, to keep the secure enclave as the only key store the app needs to touch.

Sending Money

Q13What channels can I send money over?

Four offline transport channels: BLE, NFC, QR, and Wi-Fi Direct. Each is a different trade-off of range, friction, and device availability.

Q14When should I use BLE?

Best for close-proximity, hands-free transfers — peer-to-peer and near-field vending. Range is about 10 metres.

Q15When should I use NFC?

Tap-to-pay: range is under 4cm, so it is the most secure and friction-free option for small, face-to-face payments.

Q16When should I use QR?

Any camera at any distance. QR works with a screen, a printed receipt, or a billboard — perfect for rural merchants and point-of-sale.

Q17When should I use Wi-Fi Direct?

Infrastructure-free local area: group payments, pay walls, and merchant clusters up to 75–100 metres.

Q18How does the offline simulator demonstrate the flow?

The home-page simulator walks through prepare → verify → commit → sync, with a live log and a generated STP payload, so users can see the state machine run before they ever use the app.

Receiving Money

Q19How do I receive money offline?

Ask the sender to scan your QR or connect over BLE/NFC/Wi-Fi Direct. The received STP is stored until the transaction settles.

Q20Can I receive money from an online sender while I am offline?

Yes. Sender and receiver do not need to be online at the same time. The STP is delivered over the radio link and cached until it reconciles.

Q21What happens to a pending receipt?

It shows as pending with a sync indicator. Once the chain verifies and the server settles it, the notification is delivered and the balance updates.

Activity & Transactions

Q22How does transaction history handle offline sends?

Each transaction is time-stamped and stored locally with its STP, signature, and chain reference. Offline sends are marked PENDING_SYNC until reconciled.

Q23Can I export my transaction history?

The app can export a CSV of all transactions with their STP hashes, signatures, and settlement state.

Q24How are STPs stored?

Each STP is stored in a sealed, encrypted local store with its hash chain, so a transaction can be re-verified at any time — even years later.

Sync & Settlement

Q25When do offline transactions sync?

They sync as soon as the device reconnects. The server is notified, the transaction graph is rebuilt, and the transaction is auto-settled if the risk score is low.

Q26What is graph reconstruction?

The server rebuilds the transaction graph from the hash chain, verifying each link is contiguous and that no double spend exists in the reconciled set.

Q27How does risk analysis work?

The server scores each pending transaction based on frequency, chain continuity, device trust, and amount. A low score auto-settles; a high score is held for manual review.

Q28What happens to a transaction that fails to sync?

It stays PENDING_SYNC and retries on the next reconnect. The user is never notified as settled unless the server has confirmed it.

Q29Can the server reject a transaction?

Yes — if the hash chain breaks, the signature is invalid, or the risk score exceeds the threshold. Rejected transactions are surfaced to the user with a clear reason.

Limits, TTL & Expiry

Q30What is the offline reserve cap?

50% of the wallet balance. A user can never commit more than half their funds to offline transactions until they reconcile.

Q31What is the per-transaction limit?

There is no single fixed transaction limit in the concept; each transaction is validated against the reserve cap and the sender's balance locally.

Q32How long does a pending transaction stay?

It stays queued until the sender reconnects or the receiver comes online. There is no expiry that would risk a payment being lost.

Security & Risk

Q33How are transactions signed?

Each transaction is signed with the sender's ECDSA key (TEE-backed when available), hashed with SHA-256, and chained to the previous transaction.

Q34How is replay prevented?

Every STP carries a unique device nonce and timestamp. A transaction that is re-sent with the same nonce fails verification at the receiver's device.

Q35How is tampering detected?

The SHA-256 hash spans the full transaction plus the chain reference. Any change to amount, receiver, or chain breaks the hash, and verification fails.

Q36What if my device is lost or stolen?

The user can revoke the device key remotely, which invalidates all unsigned outstanding STPs. A new device is enrolled and syncs the reconciled history.

Q37Is data encrypted?

Yes — transaction history and balance are encrypted at rest with AES-256-GCM. Device keys never leave the secure enclave.

Q38Should I share my private key?

Never. The private key stays in the secure enclave and is never exported. Only the public signature is shared with the receiver.

Q39How does compliance/CURA work?

Compliance is a required future work stream. KYC/AML and licensing are listed as needed, but the demo concept is not a licensed institution and is not live.

Devices & Recovery

Q40Can I use OffQen on multiple devices?

Yes — each device holds its own key pair and reconciles with the shared chain. Unsigned pending STPs are invalidated if a device is revoked.

Q41How do I recover my wallet on a new device?

Back up your seed, re-enrol on the new device, and the server reconciles your reconciled history. Unsettled pending transactions are re-uploaded by the sender.

Q42Is biometric always required to unlock?

No — a PIN or pattern is accepted. Biometric is a convenience toggle, not a requirement.

Merchants & Refunds

Q43How do merchants accept offline payments?

A merchant app shows a QR code (or a BLE/NFC beacon). The customer scans it, confirms the amount, and the payment commits locally. The terminal buffers until reconciliation.

Q44What if a merchant's terminal has no data?

The terminal still accepts payments over radio and buffers receipts locally, then reconciles when connectivity returns.

Q45How does a refund work offline?

A refund is a signed STP in the reverse direction. It follows the same prepare → transmit → reconcile path, and the chain references the original receipt.

Q46Do refunds need the original receiver online?

No. The refund is its own transaction and reconciles independently.

Errors & Edge Cases

Q47What if the QR code is scannable?

The app validates the QR payload before confirming. An invalid or expired code is rejected with a clear error.

Q48What if my device runs out of battery?

Pending STPs remain in the sealed store. There is no risk of a payment being lost because the transaction is signed and hashed before it is persisted.

Q49What if the network comes back but the receiver never syncs?

The sender's ledger is still settled after reconciliation; the receiver's balance is updated when they next open the app and the host-to-host layer catches up.

Q50Can I cancel an offline transaction?

Only if it is still PENDING_SYNC and has not been received by the other side. Once SETTLED, it cannot be reversed by the user.

Q51What is the "offline reserve cap" 50%?

It is the maximum a user can commit offline: half of their balance. It keeps a reserve of claims anchored online even when the phone is cut off.

Q52What happens if sync fails twice?

The app surfaces the transaction in the activity list, flags it for manual review, and keeps it retrievable. It never silently disappears.

Notifications & Accessibility

Q53What notifications appear offline?

Pending-receipt and sync-complete notifications are queued and delivered on reconnect. The app uses in-app banners only, so no silent data is sent.

Q54Is the app accessible?

It follows the WCAG 2.1 AA pattern: high-contrast palette, large tap targets, and clear error messages that do not depend on colour alone.

Q55Does it support screen readers?

All dynamic status updates carry ARIA live regions, and every interactive element has a visible focus state.

End of specification

Q56That's the end of the Q&A?

This page contains 56 Q&A entries about the OffQen demo concept.