Skip to content

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:

[^ \w!"\#$%&'()\+,\-.\\/:;<\>=?@~\x60]+

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.