Card & Bank Accounts · Early Access

Card and bank account activity

Link a cardholder's card account and receive the activity the issuer maintains there — payments, credits and refunds, foreign transaction and FX fees, interest, annual and late charges, and post-hoc adjustments. Delivered on the same API and webhooks as your network feed. A bank account can be linked the same way.

What a record looks like

Account activity arrives on banktransaction.created, in the same envelope as your network transactions. Below, an annual membership fee — posted by the issuer against the card, with no purchase behind it.

POST /webhooks — banktransaction.created
{
  "id": "7b3e8f2a-1c4d-4e5f-9a6b-8c7d0e1f2a3b",
  "bankAccountId": "a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
  "cardId": "884820d4-1b11-4dfd-ab83-988f754712da",
  "date": "2026-02-01",
  "amount": -395.00,
  "currency": "USD",
  "description": "ANNUAL MEMBERSHIP FEE",
  "merchantName": null,
  "category": ["Fees & Adjustments"],
  "transactionType": "debit",
  "status": "settled",
  "settlement": {
    "state": "settled",
    "emittedAt": "2026-01-15T04:12:00Z"
  }
}
No merchant — it is not a purchase Linked to the card it was charged against Carries its own settlement state

What lands on the account

Account activity falls into three groups, each arriving as a finalized record on the same event stream as your network transactions.

Money coming back

Payments against the balance, merchant returns posting as credits, and the annual statement credits a card carries — travel, dining, and card-linked merchant offers, each landing as its own adjustment.

What the issuer charges

Annual membership and late fees, interest on purchases and on instalment balances, foreign transaction and cash-advance charges — applied by the issuer against the account rather than at a terminal.

Reversals and adjustments

A late fee charged and then reversed, a credit adjustment against it, a dispute resolved. The issuer writes both sides, and the feed carries settlement state so a correction lands as a correction rather than a duplicate row.

What the card account adds

Delivered on the same API and the same webhook infrastructure as your network feed — one integration, one set of credentials, one event stream.

Debits and credits alike

Every finalized line on the account with date, amount, currency, description, merchant name, category and direction — streamed as banktransaction.created, with a pull endpoint as a safety net if your endpoint was down.

The account's record of a purchase

Purchases post to the account as well, so a purchase already in your network feed arrives a second time with the issuer's own date, description and final amount.

Hosted enrollment

A hosted link your users complete themselves to connect the card account. No enrollment UI to build, no OAuth redirects to manage, and an expired link refreshes itself when you fetch it.

Connections that report their own health

Bank connections expire and break. Astrada surfaces the state, fires an event when re-authentication is needed, and returns a re-auth link on request — so a dead connection is something you handle, not something you discover from a gap in the data.

Built for correction

Bank records get restated after they first appear. Transactions carry a status through posted, matched, settled and superseded, with settlement timestamps — so a corrected record supersedes cleanly instead of silently duplicating.

Depository accounts too

The same enrollment connects a checking or depository account when a platform needs one — same endpoints, same webhooks, same contract.

Optional backfill

Sync is forward-only by default. When you link an account you can request a backfill window, so a ledger does not start mid-cycle with a hole in it.

Card and bank accounts,
on your existing API.

Same credentials, same webhooks, same contract as your network feed. Pair it with Auto-Reconciliation to match account records to network transactions.