Construct a prenote ACH entry with the same SEC code (PPD, CCD, etc.) as the intended live transaction but with a zero-dollar amount and the prenote transaction code (e.g., 23 for checking credit prenote, 28 for checking debit prenote)
Submit the prenote in an ACH file to your ODFI; record the settlement date as the effective entry date — the NACHA rules require a minimum three banking day wait after the prenote settlement date before originating a live entry
During the three-day waiting period, monitor for return entries on the prenote using the prenote's trace number; NACHA return codes R03 and R04 indicate the account does not exist or the routing/account combination is invalid
Also watch for NOC/COR entries (C-codes) on the prenote: a C01 (incorrect bank account number) or C02 (incorrect routing number) on a prenote requires you to update the account data before proceeding with live entries
After the three banking day window with no adverse returns, mark the account as prenote-validated and enable live ACH origination for that account in your system
Retain the prenote trace number and settlement date in your records; if audited by your ODFI, you must demonstrate compliance with the prenote waiting period
Known gotchas
The three banking day requirement is measured from the prenote's effective entry date (the settlement date), not from the date you submitted the file to your ODFI; if the prenote file is submitted on a Monday but the effective date is Wednesday, the three days start counting from Wednesday
Some BaaS providers abstract prenote submission and do not surface prenote return entries to you; verify with your provider whether prenote returns are visible in their API or whether they handle prenote validation internally
Prenotes are not mandatory under NACHA rules for all use cases — they are required only when your ODFI or operating rules specify them; however, skipping prenotes for new accounts increases your R03/R04 return rate and can trigger ODFI scrutiny
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp