Float Service
The Float Service is the authority for short-term financial advances ("floats") within the FloatMe platform. It owns the full float lifecycle — from underwriting eligibility and disbursement through scheduled and event-driven collection.
What This Service Owns
| Domain | Responsibility |
|---|---|
Floats |
Float records and lifecycle — creation, status transitions, collections, and payback dates |
Collections |
Automated scheduled and webhook-driven collection engine with retry logic and distributed locking |
Prenotes |
Zero-dollar ACH verification transactions sent ahead of the due date to validate account numbers and verify the processor’s routing configuration |
Bypass |
Per-user eligibility requirement overrides with configurable expiration |
Administration |
User bans from float eligibility and QA tooling for automated float creation |
Events |
Float lifecycle events published to EventBridge for downstream service consumption |
Lambda Functions
| Function | Trigger | Purpose |
|---|---|---|
|
API Gateway (IAM + JWT) |
Primary REST API — float CRUD, bypass management, payback, collection history, admin operations |
|
EventBridge (schedule) |
Queries RDS for floats due for collection and enqueues them for processing |
|
SQS ( |
Attempts pinless debit or ACH collection; updates float status on outcome |
|
SQS ( |
Triggers collection on floats in RETRY status when income is detected |
|
SQS ( |
Triggers opportunistic collection when a balance update event is received |
|
Kinesis ( |
Processes ACH payment callbacks and updates float status; notifies users via Segment, Iterable, and AppsFlyer |
|
EventBridge (weekdays, 12:30 UTC) |
Queries RDS for |
|
SQS ( |
Fetches user identity and submits a zero-dollar USIO prenote via the Payments Service |
|
SQS ( |
Handles bulk float operations and data management tasks |
|
EventBridge (daily, 12:00 UTC) |
Generates and sends the daily float origination report to Slack |
External Dependencies
| Service | Role |
|---|---|
Payments Service |
Executes disbursements, collection attempts (pinless debit and ACH), and zero-dollar USIO prenotes |
Underwriting Service |
Validates float eligibility and determines approved amounts and fees |
User Service |
User profiles and identity data — including the first name, last name, and email submitted with each prenote |
Transactions Service |
Bank account balances queried during collection decisions |
Insight Service |
Source of income detection events that trigger webhook collection |
Subscriptions Service |
User subscription status validated during collection eligibility checks |
GrowthBook |
Feature flags controlling collection behavior, ACH routing model, and the |
EventBridge |
Float lifecycle event bus; |
Segment |
User analytics events for float creation, payback, and collection outcomes |
Iterable |
Email and in-app notifications triggered by ACH payment events |
AppsFlyer |
Mobile attribution tracking for float creation |
LOC Service |
Line-of-credit eligibility checks used in fraud detection |
Documentation
-
Architecture — System context diagrams, Lambda functions, data storage, and integration overview
-
Collections Engine — T-1 Day, Due Date, Daily Retry, webhook, and prenote flows
-
PostgreSQL Schema — Float entity schema and status reference
-
DynamoDB Tables — Collection history, locks, bypass, and single-table design
-
Feature Summary — Categorized feature reference
-
API Specification — Full OpenAPI spec (Swagger UI)