Domestic Wire¶
Domestic wires settle in real time through the Federal Reserve's interbank settlement service. When a wire posts, the funds are at the destination bank: final, irrevocable, and not subject to return. That finality is why wires are typically reserved for high-value transactions: real-estate closings, treasury-to-treasury transfers, FX settlement legs, and large person-to-person payments.
All domestic wires are submitted in ISO 20022 (pacs.008.001.08) format. This is the U.S. interbank standard following the industry migration to ISO 20022; legacy MT-format submission is no longer supported. See also our Guide.
When to use it¶
- High-value transfers where settlement finality is non-negotiable
- Time-sensitive transfers within the Federal Reserve's operating window
- Payments where return risk (as in ACH) is unacceptable
- Transfers carrying detailed structured remittance data
Don't use domestic wire for:
- Cross-border, use International Wire
- Internal at GIB, use BOOK
- Lower-value or recurring, use ACH, which is materially cheaper
Operations¶
| Operation | Description | API reference |
|---|---|---|
| Parse wire file | Validate a wire file or JSON payload without creating Transactions | publicTransactionParseWIRE20022 |
| Create wire transactions (file) | Submit a wire file or JSON payload to create Transactions synchronously | transactionCreateWIRE20022 |
| Create wire transactions (bulk) | Submit a large file asynchronously; returns immediately, processes in background | transactionCreateWIRE20022Bulk |
| List transactions | Retrieve and filter wire Transactions | getTransactions |
| Get transaction history | Retrieve audit history for a Transaction | getTransactionHistory |
Transactions cannot be canceled individually; cancel the parent Batch via updateBatch (set state to canceled) while it is in created state.
Receiving wires from end users¶
Your end users may need to wire funds into your accounts at GIB. For the standard receive instructions to share with end users or their banks, see Wire routing instructions → Domestic wires.
Lifecycle¶
Wires use the standard transaction state machine, see Transactions.
Timing & cutoffs¶
For domestic wire submission cutoffs and Federal Reserve operating hours, see the central Timing & cutoffs.
Valid characters (Fedwire)¶
The Fedwire system defines a set of valid characters permitted in wire messages. Messages with invalid characters are rejected by the Fedwire system. Use this regular expression to detect invalid characters:
Valid characters include:
- Alphanumeric: A-Z, a-z, 0-9 and spaces
.(period)?(question mark)!(exclamation point),(comma);(semi-colon):(colon)_(underscore)@(at sign)&(ampersand)/(forward slash)\(back slash)'(apostrophe)"(quote)`(grave accent)~(tilde)((left parenthesis))(right parenthesis)<(less than)>(greater than)$(dollar sign)#(pound/number)%(percent)+(plus)-(minus/hyphen)=(equal)
The set applies to every text element alike: names, addresses, remittance information, party identifications (Id/OrgId/Othr, Id/PrvtId/Othr), payment identifications (PmtId) and structured remittance references. Domestic wires whose elements contain characters outside this set are rejected with an HTTP 400 BusinessError identifying the offending field(s) — both file parsing and outbound generation fail — since such characters are rejected by the Fedwire system downstream.
For the SWIFT character set used on international wires, see International Wire → Valid characters (SWIFT).
ISO 20022 essentials¶
For XML structure, address formatting, dynamic identifiers, fixed values, sender details, receiver routing, and a full sample file, see the ISO 20022 Wire Reference.
Failure modes¶
| Failure | Result |
|---|---|
| Insufficient funds | HTTP 402 PaymentRequired; transaction failed |
| ISO 20022 schema validation fail (XML mode) | HTTP 400 BusinessError with field-level errors |
| Format / character validation fail (structured mode) | HTTP 400 BusinessError with field-level errors |
| OFAC screening hit | HTTP 403 ForbiddenError; transaction failed; operations notified |
| Beneficiary information mismatch | Posted with possible delay at receiving bank, sometimes followed by a wire return |
| Receiving bank rejects | Wire return arrives as a separate inbound transaction |
See Errors for the response shape and the full error type catalog.
Idempotency¶
Always populate the external_key field in the request body. Wires that succeed on retry without an external_key are difficult to reverse. See Idempotency.
Notifications¶
You receive a webhook on each state transition (outbound_wire_transaction_* / inbound_wire_transaction_*, or *_wire20022_* for ISO 20022 wires). The IMAD reference appears in the trace_reference field once the Fed confirms.
Related concepts¶
- Transactions, state model
- Wire routing instructions, receive instructions for inbound wires
- International Wire, cross-border wires (also ISO 20022)
- Idempotency
- Errors
- Webhooks