Protocol analysis and authorized data integration for EarnIn cash advances, Early Pay, Balance Shield, and Tip Yourself flows
EarnIn (com.activehours, by Activehours Inc., partnered with Lead Bank and Evolve Bank & Trust) is a US earned wage access (EWA) leader. We deliver authorized protocol analysis and OpenFinance-style API integrations so finance, HR-tech, and lending platforms can reuse the same transaction history, available-earnings, and Early Pay events that the consumer app already exposes to logged-in users.
Returns each $50/$100/$150 daily Cash Out, the chosen Lightning Speed fee, optional tip, the linked checking account masked tail, and the destination bank (Lead Bank or Evolve Bank & Trust). Use it for payday-cycle reconciliation, fraud-rules training data, or showing employees a clean repayment-deduction view.
Surfaces the "amount earned today" figure EarnIn calculates from timesheets and direct-deposit history, plus the per-pay-period limit ($1,000 cap). Drives in-app advance offers in HRIS portals or BNPL underwriting.
The 2025 Early Pay product, announced via PYMNTS, delivers paychecks up to two days early into a Lead Bank or Evolve Bank deposit account. Our wrapper exposes the deposit timestamp, expedited-fee flag, and ACH metadata for cashflow-forecasting tools.
Captures the low-balance threshold the user set, the alert that fired, and any automatic transfer EarnIn sent from earned wages to head off an overdraft. Useful for budgeting apps and treasury/HR dashboards comparing overdraft-avoidance impact.
Reads each scheduled savings transfer, the goal label, and the running balance held at Evolve Bank & Trust (0% APY). Plug into financial-wellness scorecards or net-worth aggregators.
Pulls the free Experian VantageScore 3.0 score and last-refresh date EarnIn shows in-app, so credit-monitoring dashboards or lender prequalification flows can ingest the same number the user already sees.
POST /api/v1/earnin/cashout/history
Content-Type: application/json
Authorization: Bearer <ACCESS_TOKEN>
{
"user_ref": "u_8f3a...",
"from_date": "2026-03-01",
"to_date": "2026-03-31",
"include_tips": true
}
200 OK
{
"advances": [
{
"id": "co_01HXY...",
"amount_usd": 100.00,
"lightning_fee_usd": 3.99,
"tip_usd": 1.00,
"status": "settled",
"destination_bank": "Lead Bank",
"earned_basis": "timesheet+deposit",
"settled_at": "2026-03-14T18:22:11Z"
}
],
"period_cap_usd": 1000.00,
"period_used_usd": 450.00
}
POST {your_endpoint}
X-EarnIn-Signature: sha256=...
Content-Type: application/json
{
"event": "early_pay.deposit_available",
"occurred_at": "2026-04-26T09:14:00Z",
"user_ref": "u_8f3a...",
"scheduled_payday": "2026-04-28",
"amount_usd": 1842.55,
"expedited": true,
"expedited_fee_usd": 2.99,
"deposit_partner": "Evolve Bank & Trust"
}
The following inventory maps EarnIn's user-facing screens to the OpenFinance-style endpoints we typically expose. Granularity reflects the consumer app's own data resolution after authorized login; nothing below is sourced from third parties.
| Data type | Source (screen / feature) | Granularity | Typical use |
|---|---|---|---|
| Cash Out advance ledger | Cash Out home screen | Per-transaction; amount, fee, tip, status, destination bank | Reconciliation, repayment forecasting, fraud-rules training |
| Available earnings | Home tile "amount earned today" | Daily; with $150/day & $1,000/period caps | Real-time eligibility checks in HRIS or BNPL flows |
| Early Pay deposits | Early Pay tab (2025 launch) | Per paycheck; expedited flag, partner bank, ACH timestamp | Cashflow forecasting, payroll-sync dashboards |
| Balance Shield events | Notifications + Balance Shield settings | Per alert / auto-transfer; threshold, amount, source | Overdraft-avoidance reporting, financial-wellness KPIs |
| Tip Yourself savings | Tip Yourself savings screen | Per transfer; goal label, amount, partner (Evolve Bank & Trust) | Savings habit analytics, net-worth aggregation |
| VantageScore 3.0 | Credit Monitoring screen | Score value + refresh timestamp | Credit-monitoring widgets, prequalification routing |
| Linked bank account metadata | Account & settings | Masked account tail, routing partner, ACH status | KYC continuity, multi-app account-link health checks |
| Pay-stub data (EarnIn Payroll, 2025) | EarnIn Payroll module | Gross / net / deductions; PTO; benefits | HR-tech integration, employer dashboards, audit |
A US PFM app already aggregates checking and credit cards via Plaid but wants the EarnIn-side view its users keep asking for. We pipe Cash Out advances, Early Pay deposits, Tip Yourself transfers, and Balance Shield events into the aggregator's transaction store, tagged with EarnIn-specific categories. The aggregator's net-cashflow chart now reflects EWA usage instead of leaving a gap between paydays.
A small-dollar lender needs evidence of recurring earned-wage activity before approving a $500 line. The integration returns 90 days of Cash Out history, the per-period cap utilization, the active VantageScore, and any Balance Shield interventions, so underwriters can score affordability without forcing the borrower through a separate Plaid handshake.
An HRIS vendor that adopted EarnIn Payroll (the B2B product launched in 2025, per American Banker) wants to surface usage at the population level: how many employees use Cash Out, how often Balance Shield prevents an overdraft, average savings via Tip Yourself. We aggregate the relevant endpoints and emit anonymized rollups for the employer's wellness scorecard.
Hourly and 1099 workers track Cash Out advances and tips for tax purposes. We map each EarnIn record to a QuickBooks / Xero journal entry — fees go to "service charges", tips to "optional service fees", repayments back to the linked checking account — eliminating manual CSV exports each pay period.
A neobank partner wants to detect unusual same-day stacking across multiple EWA apps. Our webhook fires on every Cash Out, includes a hashed device signal, and lets the bank's risk engine correlate against Dave / Klover / MoneyLion / Brigit / Empower events received through similar wrappers, flagging stacking before the next ACH pull.
POST /api/v1/earnin/auth/login
Content-Type: application/json
{
"phone_e164": "+1...",
"device_id": "drv_...",
"client_ts": 1714291200
}
200 OK -> { "challenge_id": "ch_...", "method": "sms_otp" }
POST /api/v1/earnin/auth/verify
{
"challenge_id": "ch_...",
"otp": "123456",
"device_attestation": "..."
}
200 OK -> {
"access_token": "...",
"refresh_token": "...",
"expires_in": 1800
}
GET /api/v1/earnin/balance-shield/events
Authorization: Bearer <ACCESS_TOKEN>
?since=2026-04-01T00:00:00Z&limit=100
200 OK
{
"events": [
{
"type": "low_balance_alert",
"fired_at": "2026-04-19T12:03:55Z",
"linked_account_tail": "4218",
"threshold_usd": 100.00,
"balance_usd": 78.41
},
{
"type": "auto_transfer_sent",
"fired_at": "2026-04-19T12:04:01Z",
"amount_usd": 50.00,
"from": "earned_wages",
"to_account_tail": "4218"
}
],
"next_cursor": "evt_01HXZ..."
}
HTTP 401 { "error":"token_expired", "hint":"refresh_then_retry" }
HTTP 409 { "error":"period_cap_reached", "cap_usd":1000.00 }
HTTP 423 { "error":"step_up_required", "step":"reauth_otp" }
HTTP 429 { "error":"rate_limited", "retry_after_s":30 }
# Suggested retry policy
- exponential backoff on 429 / 5xx (cap 60s)
- on 401: refresh once, then surface to user
- on 423: route user back to MFA, do not loop
EarnIn integrations sit at the intersection of US consumer-finance law and modern privacy regimes. Our delivery follows these anchors:
A typical pipeline is intentionally short and auditable: EarnIn mobile session → authorized integration gateway (auth, normalization, rate-limit shaping) → encrypted storage (per-tenant KMS keys, configurable retention) → client-facing API or webhook (REST / JSON, signed events) → analytics & ledger sinks (Snowflake, BigQuery, QuickBooks, internal risk engines). Each hop emits a structured audit record so compliance can replay any consumer's data trail end-to-end.
EarnIn is one of the original direct-to-consumer earned wage access apps in the United States, built primarily for hourly and salaried workers who want access to wages between paydays without payday-loan terms. The CFPB's 2024 report sized the broader employer-provided EWA market at $22.8 billion across 214 million transactions in 2022 (up from $3.2 billion in 2018), and EarnIn sits at the consumer-direct end of that curve. Core users are US-based, work in retail, healthcare, hospitality, gig, and frontline roles, and use EarnIn on Android (com.activehours) and iOS. The 2025 launch of EarnIn Payroll extends the product into B2B HR-tech, broadening the integration surface for employer dashboards.
Click any thumbnail to view the full-size screenshot.
Teams that ask for EarnIn integrations almost always end up wanting matching wrappers around adjacent earned wage access and cash-advance apps. We frame the ecosystem below not as a ranking but as an SEO-friendly map of the keyword neighborhood — if you support unified exports across these brands, your product becomes a destination for any user typing one of their names.
We are an independent technical service studio focused on App interface integration and authorized API integration for fintech, e-commerce, travel, and social apps. The team has shipped earned wage access, neobank, and open banking work for clients across North America, Europe, and Asia, with hands-on experience in Plaid, payroll-data providers, and bank-partner ACH plumbing.
To request a quote, share your target app and requirements, or kick off an EarnIn-specific integration:
Tell us your engagement model preference (source-code delivery vs. pay-per-call API) so we can scope correctly on the first reply.
What do you need from us to start?
How long does delivery take?
How do you handle EWA-specific compliance?
Can you bundle EarnIn with Dave, Klover, MoneyLion, etc.?
EarnIn (package id com.activehours, by Activehours Inc.) is a US consumer-direct earned wage access (EWA) app marketed under the tagline "Why Wait for Payday?". Headquartered at 391 San Antonio Road, Third Floor, Mountain View, CA 94040, it partners with Lead Bank and Evolve Bank & Trust (Members FDIC) to provide all banking services, and operates as an independent financial technology company unaffiliated with Dave, Beem, Self, Varo Bank, Chime (SpotMe), Instacash, Float Me, Possible Finance, Albert, Klover, or Ibotta.