What is FedNow?
FedNow
FedNow is the Federal Reserve’s instant payments service. Participating banks can send and receive US dollar credits in seconds, 24 hours a day. Acceptance is final. It sits next to RTP as a second instant rail, not as a replacement for ACH.
How does FedNow work?
A participating bank submits a payment to the Federal Reserve. The Reserve posts it to the banks’ master accounts and notifies both sides. The receiver can use the funds as soon as its bank accepts. There is no end-of-day batch for the payment itself.
FedNow vs RTP
Speed and finality look the same to a customer. The operator and the set of reachable banks differ. Some banks are on one network, some on both. Your processor chooses the path. Your ledger should record the movement the same way either way.
FedNow vs ACH
ACH is batched, cheaper, and can debit an account. FedNow is instant, more expensive, and built for credits. Do not promise FedNow speed on an ACH pull. Do not run FedNow traffic through an ACH recon file and hope the timestamps match.
How it works with Blnk
Blnk records the instant payout. The Federal Reserve and the participating banks still move the funds.
For a payout, the source is the customer wallet and the destination is @PayoutUSD_FedNow. Hold it inflight until the bank accepts, then commit. Void the post if the send fails.
We use @PayoutUSD_FedNow because it is a system balance that belongs to the organization. Blnk calls these internal balances.
Record a FedNow payout in four steps:
Name the source and destination
The source is the customer wallet. The destination is
@PayoutUSD_FedNow.Record the transfer inflight
Create the transaction with
inflight: true. Settled balances stay unchanged until the bank accepts.record-fednow.tsawait blnk.Transactions.create({ precise_amount: 25000, precision: 100, reference: 'fednow_out_20260816_001', currency: 'USD', source: 'customer_wallet_id', destination: '@PayoutUSD_FedNow', description: 'Payout via FedNow', inflight: true, meta_data: { rail: 'fednow', message_id: '20260816FRNY001', receiving_routing: '021000021', customer_id: 'cus_8f21a4', }, });Commit the acceptance or void a failed send
Commit when the bank accepts. Void the post if the send fails. See update inflight.
Commitawait blnk.Transactions.updateStatus( 'txn_c4e70eb8-e4d6-4e04-a2e2-92a43b969e0c', { status: 'commit' }, );Voidawait blnk.Transactions.updateStatus( 'txn_c4e70eb8-e4d6-4e04-a2e2-92a43b969e0c', { status: 'void' }, );Match the FedNow activity file
Upload the FedNow activity file in reconciliation, not an ACH file.