Smile logo
← Use cases / Earned wage access

Verified income, consistent risk standards — for any workforce.

Confirm exactly how much an employee has earned and how often they're paid, sourced directly from payroll, HR, or gig platforms — so an advance is sized against real earnings, not a self-reported number.

The shape · A flowing surface — earnings accrue continuously across every pay cycle.

The problem

Earned wage access lives or dies on knowing exactly what a worker has already earned this pay period. Self-reported income is unreliable, and salaried, gig, and blended workers all report pay differently — a one-size-fits-all verification flow either over-advances against gig income or under-serves salaried workers with irregular hours.

The solution

Smile connects directly to payroll, HR, and gig platforms to return a verified income figure and pay frequency in one call, applying the same risk standard whether the worker is salaried, gig, or a blend of both — so an advance is sized against confirmed earnings, not a guess.

What changes
Replace self-reported income with source-verified figures
Apply one consistent risk standard across salaried, gig, and blended workers
Size every advance against confirmed pay frequency, not an assumed schedule
How it works

From trigger to decision, in four steps.

STEP 1
Trigger the event
A worker requests a wage advance in your app, which sends their identifier and employer type to your backend.
STEP 2
Call the API endpoint
Your backend creates a user, prompts the worker to connect their payroll or gig-platform account, then sends a GET request to /incomes with the user ID.
STEP 3
Real-time processing & webhooks
Smile pulls verified income and employment data from the connected account and notifies you by webhook (TASK_FINISHED, INCOMES_ADDED) as soon as the data is ready.
STEP 4
Deliver the output
Your app receives verified income and pay frequency and calculates the worker's available advance immediately.
The code

Request in, structured data out.

Request — cURL
curl "https://sandbox.smileapi.io/v1/incomes?userId=tenant-5c1a2e8678e3494eba303ad1afa54ee8&size=1" \
  -u "$SMILE_CLIENT_ID:$SMILE_CLIENT_SECRET"
Response — 200 OK
{
  "code": "OK",
  "message": "Success",
  "requestId": "5b79399a-6852-4234-bb0e-ad472648282d",
  "data": {
    "nextCursor": "1259723474",
    "items": [
      {
        "id": "inc-17bbf36498de4d68a0d4f86c7b62f69f",
        "workItem": null,
        "employer": "ABC Corporation",
        "startDate": "2021-06-16",
        "endDate": "2021-06-30",
        "currency": "PHP",
        "frequency": "Monthly",
        "baseAmount": 8500,
        "grossAmount": 10000,
        "netAmount": 7820.25,
        "metadata": {
          "createdAt": "2021-06-30T09:30:24Z",
          "sourceId": "a-17bbf36498de4d68a0d4f86c7b62f69f",
          "sourceType": "UPLOAD",
          "userId": "tenant-5c1a2e8678e3494eba303ad1afa54ee8",
          "providerId": "abccorp"
        }
      }
    ]
  }
}
userIdThe user created for this worker. Filter by sourceId instead to read a single connected account.
frequencyHow often this worker is actually paid (Hourly, Daily, Weekly, Semimonthly, Monthly, and more) — use it to size the advance against the correct pay period.
netAmountNet, gross, and base amounts for the pay period, in the currency shown. Use whichever your advance policy is based on.
metadata.sourceTypeWhether the record came from a linked ACCOUNT or an uploaded ARCHIVE, along with the providerId it was read from.
Security & reliability

Built to be trusted in production.

Data privacy & compliance

Data is encrypted in transit and at rest, sensitive fields are tokenized rather than stored in the clear, and consent is captured at the point of collection — adapted to the data privacy regulations applicable in each market you operate.

Reliability

Idempotent requests, built-in retry support, and published rate limits mean a dropped connection or a retried request never produces a duplicate check. Each client can make up to 20 requests per second per IP address across all endpoints; anything above that returns HTTP 429.

Graceful failure

Every error returns a descriptive status code and a structured JSON body with a machine-readable code and a request ID — never a bare 500 — so a failed check is something your application can handle, not just log.

AI & data-driven decisions

How does Smile API power AI and data-driven decisions?

Smile API verifies employment and income in a structured format. Earned wage access platforms and AI agents can use it to confirm eligibility and set safe advance amounts automatically.

Data-driven decisions

Base advance amounts on verified employment and pay data, reducing manual checks and over-advancing.

Features for your models

Clean, labelled and consented attributes — identity, income, device and watchlist outcomes — ready to use as inputs for credit and fraud scoring models.

Context for AI agents

A support agent can confirm a worker's employment status and eligibility in one call before releasing an advance.

Can AI automate earned wage access eligibility?

Yes. With verified employment and income from Smile API, an AI agent or rules engine can confirm eligibility and recommend a safe advance amount without manual paperwork review.

Is Smile API data structured for machine use?

Yes. Results come back as consistent, typed JSON fields — verification statuses, scores and flags — so rules engines, machine learning models and large language model agents can read them without manual cleanup.

How is consent handled when AI uses Smile API data?

Every request carries the consent record captured from the end user, and Smile returns only the signals that consent covers. Your models and agents work with permissioned data, never scraped or self-reported guesses.
Example profile an agent receives
{
  "profile": "prf_8f21",
  "identity": "verified",
  "income": { "status": "verified", "source": "payroll" },
  "device": "trusted",
  "fraudScore": 0.07,
  "watchlists": "cleared",
  "suggestedAction": "eligible"
}
Get connected

Ready to get connected?

Start with one capability or deploy the full lifecycle — Smile plugs into your existing onboarding and underwriting flows either way.

Contact sales