Energy Credit Union's app shows two numbers for every checking account — current and available — and the gap between them is the whole reason a synced copy needs care. A held debit or an uncleared mobile deposit lives in that gap. Get the model wrong and a dashboard tells a member they can spend money that is not theirs yet. This brief is about reading that data out of EnergyMobile correctly and keeping it fresh, on an authorized footing.
The app belongs to Energy Credit Union, a state-chartered, NCUA-insured institution in West Roxbury, Massachusetts, established in 1931 and serving around 6,000 members per its public register listings. Its field of membership runs to National Grid New England staff and people who live or work in several eastern Massachusetts counties. Small institution, real ledger: checking, savings, mortgages, auto loans, transfers, scheduled bill payments, and photo check deposits all sit behind a member login.
Bottom line: the route we would actually run here is a member-consented read modeled on the FDX schema for balances, transactions and loan positions, plus a thin authorized-interface layer for the surfaces a read feed does not cover — transfer initiation status, deposit processing states, alert preferences. The reconciliation logic between available and current balances is where the engineering time goes, not the auth handshake.
Account data inside EnergyMobile
Every row below maps to something the app actually presents to a member, named the way EnergyMobile and the credit union's own pages name it.
| Data domain | Where it surfaces in the app | Granularity | What an integrator does with it |
|---|---|---|---|
| Deposit balances | "Monitor your checking and savings accounts (current and available)" | Per account; both current and available | Cash-position views, spendable-balance logic, low-balance triggers |
| Loan & mortgage balances | "View mortgage, auto loan and other account balances" | Per loan; outstanding balance | Debt tracking, payoff and amortization displays |
| Transaction history | Balances searchable "by date, amount, or check number" | Per transaction; posted and pending | Categorization, bookkeeping sync, reconciliation against the ledger |
| Transfers | "Transfer funds between your accounts and to other financial institutions"; person-to-person | Per transfer; internal, external (A2A), P2P | Initiate and track money movement, separate by rail |
| Bills & recurring payments | "View and manage your bills and recurring payments in one place" | Per payee; scheduled and recurring | Payment scheduling, payables reconciliation |
| Mobile check deposits | "Deposit checks by taking photos"; "Instantly view the processing deposit" | Per deposit; processing then cleared | Deposit-status tracking, funds-availability rules |
| Alerts & profile | "Set up Account Alerts"; "My profile menu to manage notifications" | Per rule; notification preferences | Event hooks, mirroring notifications into your own system |
How we reach the data, and on what footing
Two or three routes genuinely apply to a credit union this size. Each is described by what it reaches, how much work it is, how long it holds up, and what we set up to run it.
Member-consented read, FDX-aligned (the spine)
A member authorizes access to their own records; we read balances, transactions and loan positions on their behalf, either over an aggregator's rails (MX has deep credit-union coverage, with Plaid and Finicity as alternatives) or via a direct FDX-style read where the institution supports one. Reaches the bulk of what the table above lists. Moderate effort, high durability — it tracks a recognized standard rather than a private contract. We arrange the consent flow and token handling with you during onboarding.
Authorized interface integration
For the surfaces a read feed will not carry — transfer initiation status, the mobile-deposit processing lifecycle, alert preferences — we analyze the app's authenticated traffic under your authorization and implement a typed client against it. Higher effort, and it follows the app as it changes, so it comes with a re-check rhythm. The build runs against a consenting member or a sponsor test account, set up with you.
Member-initiated export (backfill)
Where a member can download statements or a transaction file, that export is the cheapest way to seed history before incremental sync takes over. Batch only, but useful for the initial backfill.
For most teams the sensible build is the consented read as the backbone, with a slim interface layer added only for the status and write surfaces that the read feed leaves out. We say which surface belongs to which route in the handover doc, so no field gets fetched twice by accident.
What you receive
The headline deliverable is code that runs against EnergyMobile's real surfaces, not a document describing one.
- Runnable read clients in Python and Node.js for the balance and transaction reads and the transfer / bill-pay status calls, with pagination, cursoring and retry/backoff already wired.
- An automated test suite built on recorded fixtures — an available-vs-current balance gap, a pending mobile deposit that later posts, a P2P transfer reaching settled state — so a schema change is caught at test time rather than in your data.
- Reconciliation and sync design: an initial bulk backfill, then incremental delta reads, with the freshness window for pending deposits and available balances written into the logic instead of left to chance.
- Event handling for alert and deposit-status changes, by poll or webhook depending on what the route exposes.
- An OpenAPI/Swagger description of the normalized surface, so your other services consume one schema.
- A protocol and auth-flow report covering the session and token-refresh chain as it behaves under the credit union's two-step verification.
- Interface documentation and data-retention / consent-record guidance for the data you keep.
A balance and transaction read, sketched
Illustrative only — the field shapes are confirmed against EnergyMobile's balance and transaction screens during the build, and normalized to the FDX-aligned schema we hand you. It is not a live endpoint.
# Member-consented session; token issued through the two-step verification flow.
GET /energy-cu/accounts
-> [
{ "accountId": "chk-****", "type": "CHECKING",
"currentBalance": 1842.55, "availableBalance": 1710.55, # holds explain the gap
"currency": "USD" },
{ "accountId": "ln-auto-****", "type": "LOAN",
"outstandingBalance": 9120.00, "nextPaymentDue": "2026-06-20" }
]
GET /energy-cu/accounts/chk-****/transactions?since=<cursor>
-> {
"transactions": [
{ "id": "...", "postedAt": "2026-06-05", "amount": -42.10,
"status": "POSTED", "checkNumber": null, "description": "..." },
{ "id": "...", "postedAt": null, "amount": 300.00,
"status": "PENDING", "source": "MOBILE_DEPOSIT" } # photo deposit, not yet spendable
],
"nextCursor": "..."
}
# Reconciliation rule: a PENDING mobile deposit is excluded from available funds
# until it flips to POSTED. The sync re-reads the account on a short window while
# any pending item is open, then closes the window once everything settles.
Reconciliation and the freshness window
This app makes the freshness problem concrete. A photo deposit appears as "processing" the instant it is captured, and a member sees it before the funds are real. So the sync treats availability as a state machine, not a single read: a deposit is processing, then cleared; a debit is authorized, then posted. We re-read the affected account on a tightening window while anything is open and stop once it settles, which keeps a derived "spendable" figure honest without polling the account around the clock when nothing is moving. External transfers to other institutions settle on a different timeline than moves between a member's own accounts, so they carry their own status rather than being folded into one "transfer done" flag.
Authorization, and where US rules actually sit
Energy Credit Union is a state-chartered institution overseen by the Massachusetts Division of Banks with NCUA share insurance. For reading a member's records, the footing we rely on is the member's own authorization — explicit consent, scoped to the accounts and fields in play, revocable, with consent records and access logs kept on our side and an NDA where the engagement needs one. Access is data-minimized to what the integration uses.
A federal rule that would standardize this is not something to build against yet. The CFPB's Personal Financial Data Rights rule under Section 1033 has been enjoined and sent back into agency reconsideration, so for a roughly 6,000-member state charter it is a forward-looking question, not present law. Where US access does converge, the FDX API schema is the likely shape — the CFPB recognized FDX as an industry standard-setting body, and its spec already carries a large share of permissioned account access in North America. That is why we model the EnergyMobile feed on FDX now: it is the cheapest way to stay aligned with wherever the rules land, without asserting obligations that are currently stayed.
Where this integration gets fiddly
Things we account for and handle, rather than hand back as conditions:
- Two balance fields, one truth. The app exposes both current and available; we carry both and model the rule that available nets out holds and pending items. We never collapse them into a single number, because that is precisely the error a member would catch first.
- The mobile-deposit lifecycle. A processing deposit is not settled cash. We represent the processing-to-posted transition explicitly and set funds-availability expectations from it, so a captured-but-uncleared check does not inflate a spendable balance.
- Two-step verification on the session. The credit union enforces two-step verification for app and online banking. We design the consent and token-refresh path around that so the feed keeps reading, and we arrange the consenting member or sponsor test account with you when the build starts.
- Transfers split by rail. Internal moves, external A2A transfers and person-to-person sends clear differently; we keep them as separate statuses so a slow external transfer is not misread as a failure.
Screens behind the mapping
The data domains above were read off the listing screenshots. Tap to enlarge.
How this brief was put together
The data domains come from EnergyMobile's Play Store description and the credit union's own mobile banking page, which together name the balance, transfer, bill-pay and deposit features. Institution facts (location, charter type, membership size) are from its public credit-union register entry. The US regulatory position is read off the CFPB's Personal Financial Data Rights reconsideration notice and the FDX standard as the schema US access is converging on. Researched and written at OpenFinance Lab; last reviewed 8 June 2026.
Comparable member-banking apps worth a unified feed
Other US credit-union apps sit in the same shape — member-held balances, transfers and deposits behind a login — and a single normalized feed can span them. Listed for context, not ranked.
- Navy Federal Credit Union — payments, transfers and mobile check deposit across a very large member base; an FDX member itself.
- Alliant Credit Union — mobile deposit, a balance-preview before login, and built-in budgeting.
- DCU (Digital Federal Credit Union) — account management with free credit-score reporting and budgeting tools.
- PenFed (Pentagon Federal) — accounts, payments and transfers, well rated on both mobile platforms.
- SchoolsFirst Federal Credit Union — member banking for the California education community.
- BECU — shows BECU accounts plus external cards, accounts and loans, with Zelle and mobile deposit.
- Suncoast Credit Union — remote deposit capture, biometric login and cash-back offers.
- Connexus Credit Union — transaction history, transfers, P2P and a balance-peek view.
- Members 1st Federal Credit Union — balances, check deposit, money movement and goal tracking.
Questions integrators ask about EnergyMobile
A mobile deposit shows as processing — how do you keep available and current balances in sync?
We model both numbers the app shows. Current balance is the posted ledger; available balance subtracts holds and pending items, including a mobile deposit that has not cleared. The sync carries each transaction's posted-or-pending status, re-reads the account on a short window while pending items are open, and only counts a deposit as spendable once it flips to posted. Downstream logic never treats a processing deposit as settled cash.
Is there a US open-banking mandate that already governs EnergyMobile data?
No mandate is in force for this institution today. The dependable legal basis for reading a member's records is the member's own authorization. The CFPB's Personal Financial Data Rights rule under Section 1033 is enjoined and back in agency reconsideration, so we do not build against it as settled law. The FDX API schema, recognized by the CFPB as an industry standard, is the shape US access is converging on, which is why we model the feed on FDX from the start.
Can you pull transaction history with check numbers and pending items from EnergyMobile?
Yes. The app lists transactions searchable by date, amount and check number, and shows mortgage, auto-loan and other balances alongside checking and savings. We return posted and pending transactions, the check number where present, and per-account current and available balances, normalized to one schema across the member's accounts.
We only have the app name — is that enough to begin work on EnergyMobile?
That, plus what you want out of a member's data. Consent flow, a sponsor or test member, and access are arranged with you during onboarding; you are not asked to clear paperwork before we start. A first working read of balances and transactions typically lands in one to two weeks.
A first working read of EnergyMobile balances and transactions usually lands within one to two weeks. You can take the result as source-code delivery — runnable Python and Node.js clients, the test suite and the interface docs — from $300, paid only once you have checked it over; or skip the build fee entirely and call our hosted endpoints, paying per call as you use them. Either way, start at our contact page with the app name and what you need from the data, and we handle the rest.
EnergyMobile — app profile
EnergyMobile is the mobile banking app of Energy Credit Union, a state-chartered, NCUA-insured credit union in West Roxbury, Massachusetts (established 1931; around 6,000 members per its public listings). It is published for Android and iOS under the package id org.energycreditunion.imobile. Members use it to monitor checking and savings balances (current and available), view mortgage, auto-loan and other balances, set account alerts, deposit checks by photo, transfer funds between their own accounts and to other institutions, send person-to-person payments, and manage bills and recurring payments. Biometric login (Touch ID / Face ID) and two-step verification protect the session. The app is free; carrier message and data rates may apply, and some features are limited to eligible accounts.