GK One keeps about ten days of transaction history visible in the app, per its store listing — a short rolling window over an account that has handled close to J$300 million in Western Union remittances since launch, by GraceKennedy's own count. That gap between what the backend holds and what the screen shows is exactly the problem an integrator inherits. The reliable way to hold a complete record is to poll the authenticated session on a cursor and persist each entry yourself before it scrolls off. Everything below is built around that delta-sync spine.
The account behind the app is real financial state: a wallet balance, a prepaid Visa linked to it, remittance payouts identified by Money Transfer Control Number, and bill payments to more than a hundred billers. None of it is offline scratch data. A third party that wants to mirror, reconcile, or feed it into another system has a concrete target here.
What the account actually holds
Each row below is a surface a GK One user sees, mapped to where it comes from and what an integrator would do with it.
| Data domain | Where it shows up | Granularity | Integrator use |
|---|---|---|---|
| Wallet balance & ledger | Home / Check balance | Running balance, per-entry movements | Spendable-funds checks, internal ledgering |
| Transaction history | Transaction History view (~10-day window in-app) | Timestamped debits and credits | Statement building, persisted beyond the app window |
| Western Union receipts | Receive money (MTCN) | Per payout: amount, MTCN, status | Remittance reconciliation, payout matching |
| Prepaid Visa card | Card management | Card status, masked details, controls | Card-state dashboards, lock/replace flows |
| Bill payments | Pay bills (100+ billers) | Biller, amount, pending/settled state | Payables tracking, settlement reconciliation |
| GK Value Rewards | Rewards / GKVR | Points balance and accrual events | Loyalty sync into a partner program |
| Profile & verified identity | Onboarding (Microsoft Entra ID identities, per Microsoft's customer story) | KYC-verified attributes | Consented identity reuse |
Routes to the data
Two routes genuinely fit GK One today, with a third as a backstop.
Consent-based interface integration
We work against the app's authenticated session under the account holder's authorization, map the request and token flow, and read the same surfaces the user reads. Reach is broad — wallet, history, receipts, card state, bill payments. Effort is moderate; durability is medium, since the client can shift. Access is arranged with you during onboarding against a consenting account or a sandbox profile. This is the route we would run first, because it gets a usable feed quickly and covers every domain above.
Regulated open-finance as the Jamaican regime matures
The Bank of Jamaica runs its FinTech Regulatory Sandbox and is amending the Payment, Clearing and Settlement Act of 2010 toward a licensing regime for payment service providers. As that framework firms up, a consent-driven, supervised data path becomes the durable long-run option. We track it and design the build so it can move onto a regulated channel without a rewrite.
Native artifacts as a fallback
Where the user can pull statements, notifications, or export an entry, we treat those as a low-frequency supplement to fill gaps the live poll misses. Useful, but thin on its own.
The poll surface, in practice
This is the shape of the delta-sync loop we build — illustrative field names, with the exact paths confirmed during the build against a consenting account. The session token follows the app's Microsoft Entra ID sign-in; we refresh it on the same schedule the app does.
# Cursor-based poll of the GK One wallet ledger (illustrative)
GET /wallet/ledger?since_cursor=<last_seen>&limit=100
Authorization: Bearer <entra_id_session_token>
200 OK
{
"entries": [
{ "id": "txn_8841", "type": "wu_receipt",
"mtcn": "1234567890", "amount": 25000.00, "currency": "JMD",
"status": "completed", "posted_at": "2026-05-29T14:02:11Z" },
{ "id": "txn_8842", "type": "bill_payment",
"biller": "JPS", "amount": 4870.50, "currency": "JMD",
"status": "pending", "posted_at": "2026-05-30T08:11:40Z" }
],
"next_cursor": "c_8842",
"balance": { "available": 19129.50, "currency": "JMD" }
}
# Reconcile rule: a bill_payment stays open until a later poll
# returns status=settled; a wu_receipt is matched on its mtcn so an
# overlapping window resolves to the same record, not a new one.
What lands at the end
The headline deliverable is code you can run, not a report you have to act on.
- Runnable source — a Python or Node.js client for the wallet poll, Western Union receipt matching, bill-payment state tracking, and card-state reads, with the cursor and persistence logic wired in.
- A delta-sync ingestion design: poll cadence, cursor storage, backfill for history older than the in-app window, and pending-to-settled reconciliation.
- An automated test harness covering the parse, the dedupe-by-MTCN path, and the settlement transitions, so a change in the upstream shape shows up as a failing assertion.
- A normalized schema mapping GK One's surfaces to clean entities you can store.
- Secondarily: an OpenAPI description of the modelled surface, a protocol and auth-flow write-up of the Entra ID token chain, and data-retention guidance for the Jamaican context.
Things we account for on this app
Two specifics shape the build, and we handle both on our side.
- The in-app history is a short rolling window — roughly ten days per the listing. We size the poll cadence below that and persist every entry into your store, so the record you keep outlives what the phone shows.
- Bill payments settle between thirty minutes and twenty-four hours, per GraceKennedy Money Services. We model that lag as an explicit pending state and reconcile it on later polls rather than trusting the submit moment.
- Western Union payouts carry the ten-digit MTCN. We treat it as the dedupe key when poll windows overlap, so a re-fetch lands on the existing payout instead of writing a duplicate.
Consent and the Jamaican rules
GK One has run inside the Bank of Jamaica FinTech Regulatory Sandbox; GK One Send emerged from it and launched in February 2025, per the Jamaica Gleaner. Personal data is governed by Jamaica's Data Protection Act, 2020, under the Office of the Information Commissioner. The basis we rely on is the account holder's own authorization to reach their data — we capture and log that consent, scope it to the domains actually needed, honor revocation by stopping the poll and dropping cached tokens, and keep only what the use case requires. NDAs are signed where a client needs them. This is how the studio operates, on every engagement.
Where this gets used
- A remittance-heavy fintech reconciling inbound Western Union payouts against its own books, matched on MTCN.
- A lender pulling a consenting applicant's wallet and bill-payment history as an affordability signal beyond the ten-day in-app view.
- An accounting tool giving a GraceKennedy customer a continuous statement that the app itself does not retain.
Interface evidence
Screenshots from the public store listing, used to map the surfaces above. Tap to enlarge.
Related apps in the same space
Useful when a single integration needs to span more than one Jamaican or Caribbean wallet. Named for context, not ranked.
- Lynk — NCB's mobile wallet, the most widely used in Jamaica; holds balances, P2P transfers and merchant payments.
- MyCash — NCB's prepaid and cash-management product, with card and transaction records.
- NCB Mobile Banking — full-account banking app: balances, statements, transfers and bill pay.
- Scotia Caribbean — Scotiabank's regional app holding account balances and transaction history.
- JN Bank (JN LIVE) — Jamaica National's banking app with accounts, transfers and payments.
- JMMB Moneyline — JMMB's banking and investment app spanning deposit and brokerage data.
- Sagicor Bank Jamaica — banking app with account, card and payment records.
- Remitly — cross-border remittance app holding transfer histories and recipient records.
- Wise — multi-currency wallet with balances, conversions and transfer history.
Questions an integrator asks
GK One only shows roughly the last ten days in the app. How do you keep a full ledger?
We run a scheduled poller against the wallet and transaction surfaces with a stored cursor, and persist every entry into your own store as it appears. The in-app view is a short rolling window per the store listing; our copy is durable, so the ledger you hold keeps growing after entries roll off the phone.
Can the integration tell a settled bill payment from a pending one?
Yes. GK One bill payments to the 100-plus billers settle asynchronously — GraceKennedy Money Services notes accounts update between thirty minutes and twenty-four hours. We model the pending to settled transition explicitly and reconcile on later polls, so a submitted payment is never reported as final until the status confirms it.
How are Western Union payouts identified so they are not counted twice?
Each Western Union receipt carries the ten-digit Money Transfer Control Number. We use the MTCN as the natural key when a poll window overlaps an earlier one, so an overlapping fetch matches the existing record instead of writing a second payout.
Which regulator covers GK One, and what is the legal basis for the access?
GK One has run in the Bank of Jamaica FinTech Regulatory Sandbox, and personal data in Jamaica falls under the Data Protection Act, 2020, overseen by the Office of the Information Commissioner. The dependable basis we build on is the account holder's own authorization to reach their data; we log consent and minimize what is collected.
Sources and how this was put together
Checked in May–June 2026 against the public store listings, GraceKennedy's own announcements, Jamaican press, the Bank of Jamaica's sandbox material, and Microsoft's customer story on the app's Azure and Entra ID build. Primary references:
- GK One on Google Play — feature list, history window, KYC notes.
- Jamaica Gleaner — GK One Send emerges from sandbox — sandbox status, launch date, build team.
- Bank of Jamaica — FinTech Regulatory Sandbox — regime and PSP framework.
- Microsoft customer story — GK ONE on Azure — Entra ID identities, infrastructure.
Compiled by OpenFinance Lab — interface mapping, reviewed 2026-06-01.
App profile — GK One at a glance
GK One is GraceKennedy's all-in-one financial app for Jamaica (package com.gracekennedy.gkone, iOS id 1593938821 per the App Store). It offers a free prepaid Visa card, Western Union remittance receive via MTCN, bill payments to over a hundred billers, First Global Bank credit-card applications, GKGI motor insurance, online shopping, GK Value Rewards points, and transaction history with balance checks. Identity onboarding uses Microsoft Entra ID, and the product has been tested in the Bank of Jamaica FinTech Regulatory Sandbox. This page is an independent integration write-up by OpenFinance Lab and is not affiliated with or endorsed by GraceKennedy.
One engagement starts at $300 for runnable source delivered to you and paid only after delivery once you are satisfied; the other is a hosted API you call and pay per call, with nothing upfront. Either way the cycle is one to two weeks, and you only need to bring the app name and what you want from its data — tell us the requirement here and we arrange access and the rest.