Synapse Developer Hub

Welcome to the Synapse Developer Hub. Here you will find comprehensive guides and documentation to help you start working with the Synapse API as quickly as possible. If you need any assistance, we are always here to help!

2FA For Outgoing Wires

We strongly encourage requiring 2FA on the sender before you allow them to send a wire from their deposit account. This is an extra step of verification, since you cannot pull a wire back after it is sent.

Wire Cutoff Times

Domestic wires will settle same day if created before 12PM PST.

Example Timeline

Here is an example timeline for an outgoing wire. Not all transactions will follow this exact timeline, so please do not build your logic off these times. Instead, monitor transaction status and account balance.

Note: Different banks post transactions at different times, so a user may not see their transaction marked as settled at the exact time that we mark a transaction as settled.

Description

Time

Transaction Status

status_id

User creates a transaction

Day 1, 10AM PT

CREATED

1

The transaction is submitted to our partner bank ("ODFI") at the appropriate cutoff time, assuming the transaction was not queued or canceled.

Day 1, 12PM PT

PROCESSING-DEBIT

2

User's bank ("RDFI") picks up the Wire.

Day 1, 6PM PT

PROCESSING-CREDIT

3

We mark the Transaction as Settled. It may still take time to show up in the bank account as actual settlement depends on when the receiving bank credits the funds. Settled wires should show up in the account by end of day.

Day 1, 6:05PM PT

SETTLED

4

Transaction Status

The following are different types of transaction statuses for Wires.

STATUS

STATUS_ID

DESCRIPTION

QUEUED-BY-SYNAPSE

-1

Transaction queued by Synapse

QUEUED-BY-RECEIVER

0

Transaction queued by Client

CREATED

1

Transaction Created

PROCESSING-DEBIT

2

Processing Debit

PROCESSING-CREDIT

3

Processing Credit

SETTLED

4

Transaction Settled

CANCELED

5

Transaction Canceled

RETURNED

6

Transaction Returned

QUEUED AND CANCELED TRANSACTIONS

See Transaction Codes for the full list of reasons a transaction can be queued or canceled.

To cancel a transaction yourself, DELETE the transaction. Only transactions with a CREATED or QUEUED status can be canceled. Once a transaction is processing or settled you are unable to cancel it.

Returned Transactions

Returned Transactions will be marked as returned. When possible, we will propagate the reason along with the return.

Tracking Wires

If you need to track a wire, the transaction timeline will have the OMAD # available.

Transaction Fees

Or take an additional fee for yourself and designate the DEPOSIT-US node you want to send fees to.

Idempotent Requests

POST calls support idempotency for safely retrying requests without accidentally performing the same operation twice. For example, if a request to create a transaction fails due to a network connection error, you can retry the request with the same idempotency key to guarantee that only a single charge is created.

To perform an idempotent request, attach a unique key to any POST request made to the API via the X-SP-IDEMPOTENCY-KEY header.