Events

Event contracts for the Transactions Service: what it publishes to the EventBridge default bus and what it consumes. Flow behavior lives on the domain pages linked from each row.

Published

Every event is an fmsdk envelope (id, type, version = v1, payload) on the default bus of the deploy region.

Event Source Publisher Payload When Consumers

new_bank_account_added

txn-service.api

api

user_id, account_id

An item is saved with a non-empty main_account_id by add (v1, v2), update v2, or prequal — Post-Save Actions

underwriting-api, insight-service, entitlements-service

primary_bank_account_changed

txn-service.api

api

user_id, item_id, account_id, institution_id

Update v1 with a non-empty main_account_id — Update Item

entitlements-service

audit-log

TXN

api

Category audit-log, action update-main-account, user_id

Every main-account update (v1 and v2)

Audit log consumers

user_new_txns_batch_completed

txn-service.refiner

refiner

user_id (string)

The last Kinesis page of a mine that carried at least one transaction — Refiner

underwriting-api, insight-service

new_account

txn-service.feeder

feeder

Account model plus is_main

Every ACCOUNT insert or modify on site-txn-transactions — Feeder

float-service, subscription-service, loc-service, insight-service

plaid_item_connection_lost

txn-service.miner

miner

user_id, item_id, institution_id, error_code

ITEM / ERROR webhook with a connection-lost code — Item webhooks

float-service

plaid_item_connection_revoked

txn-service.miner

miner

user_id, item_id, institution_id, reason

ITEM / USER_PERMISSION_REVOKED or USER_ACCOUNT_REVOKED webhook

float-service

The API’s item events are best effort: a rejected entry is retried up to 3 attempts only for InternalFailure or ThrottlingException, every outcome is metered as txn.item.event.publish, and a dropped event is never redelivered. Consumers treat user_id as the only guaranteed field and re-read current state from this service.

Source: pkg/api/items.go, pkg/eventbridge/publish.go, pkg/refiner/refiner.go, pkg/feeder/feeder.go, pkg/miner/events.go

Consumed

Event Source Transport Handled by

Auth0 login (gd_auth_succeed, sepft, sertft)

Auth0 log stream

EventBridge site-auth0 → SQS site-txn-listener-eventbridge

listener — Listener

Plaid webhooks

Plaid

API Gateway site-floatme-webhook-api → SQS site-txn-plaid-webhooks

miner — Miner Routing

Raw Plaid records

miner, throttle-miner

Kinesis site-txn-plaid-transactions

refiner — Refiner

Table changes

site-txn-transactions, site-txn-plaid

DynamoDB Streams

feeder — Feeder