Closed beta · run Worlds on your machineBrowse worlds →

Worlds / Payments and billing / Plaid

Plaid world

A local Plaid with Items, linked accounts, balances and a transaction feed with pending and posted entries. Test the agent that syncs transactions, checks balances and handles broken bank links.

ItemsBalancesTransactions SyncAuthWebhooks
Book a demo
Plaid · Transactions · acct_chk_01Illustrative
DateNameAmountState
Oct 24Blue Bottle$6.50PendingPosted
Oct 24Uber$18.20PendingRemoved
Oct 23Payroll ACME-$2,450.00Posted
Oct 23Whole Foods$84.12PostedPosted x2
Oct 22Con Edison$96.40Posted

fig. 1 · illustrative replica · the agent's changes land as you scroll

What's in this world

What you get when you open Plaid. Seeded, local, yours to break.

Seeded records

items
40 across 12 institutions, 3 in ITEM_LOGIN_REQUIRED
accounts
95 checking, savings and credit
transactions
6,000 with 120 pending
auth
Routing and account numbers for 30 checking accounts

Agent jobs you can test

  1. Sync transactions with the cursor and handle removals
  2. Check available balance before a payout
  3. Flag Items that need the user to log in again

What your agent can get wrong here

The reply sounds right. The record is what counts.

ActionWhat the world recordsCommon mistake
Sync transactionsadded, modified and removed against the stored cursorRestarts from an old cursor and stores the same transaction twice
Reconcile pendingpending_transaction_id on the posted transactionKeeps both the pending and posted copy
Check balancebalances.available against the payout amountUses balances.current and approves a payout that overdraws
Handle a broken linkItem error code and the user noticeDeletes the Item instead of asking for update mode

Example test

Describe the job. Review the checks before anything runs.

Brief · plain EnglishIllustrative

Bring every Item's transactions up to date. Drop pending entries that were removed and do not double count ones that posted. Flag Items that need a login instead of deleting them.
Drafted test · reviewDrafting
  1. 01Stored cursor advanced for every healthy Item
  2. 02No transaction_id stored twice
  3. 03Removed pending Uber charge deleted from the ledger
  4. 043 Items flagged for update mode, none removed
  5. 05Payout check used balances.available

fig. 2 · illustrative brief and drafted checks

Failures you can inject

Make it a bad day on purpose.

effectCalls return ITEM_LOGIN_REQUIRED for one Itemfires before the handler · state untouched · same result every run

Evidence

StatusIncluded in the closed beta, like every world in the catalog. Apply and tell us the workflow you want to test.Known limitations