Earned Wage Access

Earned Wage Access (EWA) allows employees to withdraw earned wages before payday, offering financial flexibility. Clients can choose between a one-time withdrawal or a permanent setup for automatic payouts. The system calculates the maximum possible payout based on payroll data and ensures seamless repayment once the salary is credited to the account.

Traditionally, employees receive wages on a fixed schedule (e.g., bi-weekly or monthly). However, Earned Wage Access (EWA) offers a more flexible approach, allowing employees to withdraw wages they’ve already earned at any point before their usual payday. This provides financial flexibility to cover unexpected expenses before the next paycheck.

User Story:

Client expresses interest in EWA: The client indicates they want to use Earned Wage Access.

Check for Direct Deposit: The system verifies if the client is connected to Direct Deposit.

  • If not connected, the system prompts the client to register.
  • Refusal to register results in denial of EWA access.
  • Successful registration continues the process (verified via webhook).

Data Retrieval and Calculation: The system retrieves relevant employee and payment data to calculate the potential EWA amount:

  • Employment status, termination date, pay frequency, last payroll deposit dates, and amounts.
  • Uses these to estimate the next payroll deposit date and the maximum possible EWA payout based on average salary and time until payday.

Eligibility Criteria: To proceed, the client must:

  • Be an active employee (no termination date).
  • Have a semi-monthly, bi-weekly, monthly, or weekly pay frequency.
  • Have a full or partial paycheck connected to Direct Deposit.

EWA Modes: Two EWA options are available:

  • One time: Clients can withdraw wages up to 3 days before payday, with a single transaction per cycle.
  • Every Paycheck: Automatically deposits funds every cycle, 3 days before payday.

Configure EWA: Clients choose their EWA mode and amount (up to the calculated maximum) and confirm the transaction via SMS or MFA.

Fund Transfer: A transaction is made from the Product Funding to the client’s account.

Monitoring and Direct Deposit Lock: The system monitors incoming direct deposit funds and locks changes to Direct Deposit settings until the process is completed.

Repayment: Once salary is credited, funds are withdrawn from the Product Funding. If insufficient, attempts are made to recover the remaining balance from the client’s accounts.

Process Completion: Once repayment is successful, the process completes, unlocking Direct Deposit settings.


EWA (Earned Wage Access) Process Flow

Step 1 – Initiate Direct Deposit Verification

  • API Reference: Direct Deposit Check

  • Validation:

    • If connected → Proceed.
    • If not connected → Prompt user to connect account.
    • If user refuses → Deny EWA access.
    • If user accepts → Wait for confirmation, then proceed.

Step 2 – Payroll Connection via Pinwheel Link

  • API Flow:

    1. Call Direct Deposit Check API to retrieve a Pinwheel Token from 1st step.
    2. Pass this token to your Pinwheel iframe or button to display the service form.
  • Purpose:Pinwheel Link enables users to seamlessly authenticate with their payroll or merchant accounts.

  • Development Guidance:Leverage Pinwheel SDKs for React, React Native, Android, iOS, or Flutter.

  • Docs Reference:


Step 3 – Retrieve Payroll Data

  • Data Collected:

    • employment_status
    • termination_date
    • pay_frequency
    • Last two payroll deposit dates and amounts

Step 4 – Calculate Eligibility & Maximum Amount

  • Next Payday: Determined from pay_frequency.

  • Calculation:

    Max Payout = 0.5 × frequency_coefficient × average(last 2 payroll amounts)
  • Frequency Coefficient:

    • Represents the portion of the pay cycle already completed.

Step 5 – Eligibility Criteria Validation

  • User must meet all:

    • Active employment.
    • No termination date.
    • Supported pay frequency: weekly, bi-weekly, or monthly.
    • Direct Deposit connection (full or partial).
  • Mode Options:

    • One-Time:

      • Available 3 days before payday.
      • Limited to 1 request per pay cycle.
    • Every Paycheck:

      • Auto-deposit enabled 3 days before each payday.
      • Cannot modify mode or set up a new request while repayment is pending.

Step 6 – EWA Setup

  • API Reference: EWA Setup

  • User Actions:

    • Select mode: One-Time or Permanent (based on days to payday).
    • Enter amount (must be ≤ Max payout).
    • Confirm transaction via SMS/MFA.

Step 7 – Underwriting Review

  • System Review:

    • Underwriting team (or logic) validates final eligibility.
  • Outcomes:

    • Approved → Proceed to funding.
    • Declined → Exit process and deny access.

Step 8 – Funding

  • Action: Funds disbursed from Product Funding account to user's bank account.

Step 9 – Deposit Confirmation

  • On Payday:

    • System checks for incoming payroll deposit.

Step 10 – Lock Settings

  • Until Repayment:

    • Direct Deposit settings are locked (cannot be changed).

Step 11 – Repayment

  • Validation:

    • If payroll deposit received → Auto-withdraw repayment from Product Funding account.

    • If there's a shortfall:

      • Attempt collection from all linked client accounts.
      • Escalate if repayment is still incomplete.

Step 12 – Check status EWA

  • Information:

    • Check Direct Deposit Status - API Check EWA Status
    • Retrieves the current direct deposit status for a user’s financial account.