Skip to main content
In Sandbox, wires do not connect to Fedwire and no real funds move. Statuses, webhooks, and validations behave the same as production. Use the simulation endpoints below to control wire lifecycle events and test your integration end to end.

Simulation Endpoints

Test an Outgoing Wire

Create an outgoing wire using POST /v1/wires. The wire starts in created status. Each call to the advance endpoint moves the wire forward one status, triggering the corresponding webhook. The advance endpoint also applies to cancellations. If a wire is in cancel_pending, one advance call moves it to canceled. Manual review is not simulated in Sandbox.

Test an Incoming Wire

Use POST /v1/simulate/wires/incoming to simulate a wire arriving on one of your account numbers. Specify the receiving account number, amount, and debtor details.
The simulated wire is created in posted status. A wire.posted webhook fires on receipt.

Test Returns

Returning an Incoming Wire

To test returning a wire you received:
  1. Simulate an incoming wire using POST /v1/simulate/wires/incoming.
  2. Initiate a return using POST /v1/wires/{wire_id}/return. This creates a new outgoing wire.
  3. Advance the return wire to posted using the advance endpoint.

Simulating a Return on a Wire You Sent

Use POST /v1/simulate/wires/{wire_id}/incoming_return to simulate the counterparty returning a wire you sent. Provide a return_code and, if using NARR, a return_additional_information value.

Test Return Requests

Simulating an Incoming Return Request

Use POST /v1/simulate/wires/{wire_id}/incoming_return_request to simulate the counterparty requesting the return of a wire you received. Respond through the API by either returning the funds (POST /v1/wires/{wire_id}/return) or rejecting the request (POST /v1/wires/{wire_id}/reject_return_request).

Simulating a Response to a Return Request You Sent

After sending a return request with POST /v1/wires/{wire_id}/request_return, simulate how the counterparty responds:
  • Accepted: POST /v1/simulate/wires/{wire_id}/incoming_return_request_acceptance - the counterparty accepts and returns the funds.
  • Rejected: POST /v1/simulate/wires/{wire_id}/incoming_return_request_rejection - the counterparty declines the request.