Data-driven decisions
Base advance amounts on verified employment and pay data, reducing manual checks and over-advancing.
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.
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.
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.
curl "https://sandbox.smileapi.io/v1/incomes?userId=tenant-5c1a2e8678e3494eba303ad1afa54ee8&size=1" \
-u "$SMILE_CLIENT_ID:$SMILE_CLIENT_SECRET"{
"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"
}
}
]
}
}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.
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.
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.
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.
Base advance amounts on verified employment and pay data, reducing manual checks and over-advancing.
Clean, labelled and consented attributes — identity, income, device and watchlist outcomes — ready to use as inputs for credit and fraud scoring models.
A support agent can confirm a worker's employment status and eligibility in one call before releasing an advance.
{
"profile": "prf_8f21",
"identity": "verified",
"income": { "status": "verified", "source": "payroll" },
"device": "trusted",
"fraudScore": 0.07,
"watchlists": "cleared",
"suggestedAction": "eligible"
}