Fund & Withdraw an IB Account

Creating transactions for the Interest Bearing Account

Previous Step: Create User, OAuth User and open a Synapse account. This applies for either deposit accounts or subaccounts

To fund and withdraw from an interest-bearing account, you will need to create a transaction with one of our payment products (ACH, Card Processing, Subnets or an internal transfer).

Because these accounts have a limit of 6 withdrawals per calendar month, we recommend routing most withdrawals through the user’s DEPOSIT-US or SUBACCOUNT-US node. Withdrawals over the 6 per month limit will cancel automatically.

See below for the full list of transaction methods available:

Transaction Method
Fund
Withdraw

SUBNETS (Account/Routing Number Issuance)

YES

YES

ACH

YES

YES

TRANSFER TO OTHER SYNAPSE ACCOUNTS

YES

YES

WIRE

--

YES

CHECKS

--

--

INTERCHANGE

YES

YES

user_id :
required
string

ID of sender (user)

node_id :
required
string

ID of sending node

BODY PARAMETER

to.type :
required
string

Receiving node type

to.id :
required
string

Receiving node ID

amount.amount :
required
double

Amount user wishes to send

amount.currency :
required
string

Currency of the transaction amount

extra.ip :
required
string

IP address of the user device while creating transaction

extra.asset :
string

Assign this value only in case of making a transaction to or from CRYPTO-US. Acceptable values are BTC and ETH

extra.same_day :
boolean false

Set this to true if you wish to settle the ACH on same day. Please note this would only work, if same day ACH has been enabled for your platform

extra.supp_id :
string

ID supplied to the transaction. Allows clients to track transactions based on specific events.

extra.group_id :
string

Group ID supplied to the transaction. Allows clients to track transactions based on specific events.

extra.note :
string

Memo tagged with the transaction

extra.process_on :
integer 0

When the transaction should be processed. The value is the delta value. Which means when 1 is supplied it means that the transaction will be processed tomorrow.

extra.other.attachments :
array of strings

Array of padded base64 of attachments

fees[fee ] :
double

Fee associated with the transaction

fees[note ] :
string

Reason for the fee

fees[to].id :
string

Node ID where the fee would be credited when the transaction settled. Fee node has to be DEPOSIT-US type always

Below is an example transaction for your convenience. Please refer to the appropriate payment product page for relevant details, including return/chargeback timelines.with them:

Example Request

POST /v3.1/users/5bb6ab05472e2500adffad5a/nodes/5bb7034c7b11c3008d0419cb/trans HTTP/1.1
Host: uat-api.synapsefi.com
X-SP-USER-IP: 127.0.0.1
X-SP-USER: oauth_q0gEuw3NO08DPfe7nJxsVCISTjzvYdltiKcMAFWp|n38dj3h8NE393bv24ovoRY34kd62
Content-Type: application/json

{
  "to": {
    "type": "IB-DEPOSIT-US",
    "id": "5bb6fbd085411800baebc9a3"
  },
  "amount": {
    "amount": 375.21,
    "currency": "USD"
  },
  "extra": {
    "ip": "127.0.0.1",
    "note": "Test transaction"
  }
}
from_node = 5bb7034c7b11c3008d0419cb
body = {
  "to": {
    "type": "IB-DEPOSIT-US",
    "id": "5bb6fbd085411800baebc9a3"
  },
  "amount": {
    "amount": 375.21,
    "currency": "USD"
  },
  "extra": {
    "ip": "127.0.0.1",
    "note": "Test transaction"
  }
}

user.create_trans(from_node, body)
user.createTransaction('<NODE_ID>', {
  to: {
    type: 'IB-DEPOSIT-US',
    id: '<IB-DEPOSIT-US_NODE_ID>'
  },
  amount: {
    amount: 100.1,
    currency: 'USD'
  },
  extra: {
    ip: '127.0.0.1',
    note: 'Test transaction'
  }
});
from_node= “5bb7034c7b11c3008d0419cb”
body= {
  "to": {
    "type": "IB-DEPOSIT-US",
    "id": "5bb6fbd085411800baebc9a3"
  },
  "amount": {
    "amount": 375.21,
    "currency": "USD"
  },
  "extra": {
    "ip": "127.0.0.1",
    "note": "Test transaction"
  }
}

user.create_transaction(node_id:, payload: body)
$to = (object)[
   "type" => "IB-DEPOSIT-US",
   "id" => '5c6468aa7b08ab8e4fe658d9'
];
$amount = (object)[
   "amount" => 22.1,
   "currency" => "USD"
];
$extra = (object)[
   "ip" => "::1"
];
$body = (object)[
   "to" => $to,
   "amount" => $amount,
   "extra" => $extra
];
$nodeid = '5c3d416f7b08ab0066ee8cae';
$user->create_trans($nodeid, $body);
nodeID := “5bb7034c7b11c3008d0419cb”
body := `{
  "to": {
    "type": "IB-DEPOSIT-US",
    "id": "5bb6fbd085411800baebc9a3"
  },
  "amount": {
    "amount": 375.21,
    "currency": "USD"
  },
  "extra": {
    "ip": "127.0.0.1",
    "note": "Test transaction"
  }
}`

data, err := user.CreateTransaction(nodeID, body)

Example Successful 200 Response

{
    "_id": "5bb7038eaab23600cd677586",
    "_links": {
        "self": {
            "href": "https://uat-api.synapsefi.com/v3.1/users/5bb6ab05472e2500adffad5a/nodes/5bb7034c7b11c3008d0419cb/trans/5bb7038eaab23600cd677586"
        }
    },
    "_v": 2,
    "amount": {
        "amount": 375.21,
        "currency": "USD"
    },
    "client": {
        "id": "5ade26b4567a900029e2afd2",
        "name": "* YY Test Account"
    },
    "extra": {
        "asset": null,
        "created_on": 1538720653889,
        "encrypted_note": "",
        "group_id": null,
        "ip": "127.0.0.1",
        "latlon": "0,0",
        "note": "Test transaction",
        "process_on": 1538720653889,
        "same_day": false,
        "supp_id": ""
    },
    "fees": [
        {
            "fee": 0,
            "note": "Facilitator Fee",
            "to": {
                "id": "None"
            }
        }
    ],
    "from": {
        "id": "5bb7034c7b11c3008d0419cb",
        "nickname": "SynapsePay Test Checking Account - 8901",
        "type": "ACH-US",
        "user": {
            "_id": "5bb6ab05472e2500adffad5a",
            "legal_names": [
                "Test User"
            ]
        }
    },
    "recent_status": {
        "date": 1538720653889,
        "note": "Transaction Created.",
        "status": "CREATED",
        "status_id": "1"
    },
    "timeline": [
        {
            "date": 1538720653889,
            "note": "Transaction Created.",
            "status": "CREATED",
            "status_id": "1"
        }
    ],
    "to": {
        "id": "5bb6fbd085411800baebc9a3",
        "nickname": "My Interest Bearing Account",
        "type": "IB-DEPOSIT-US",
        "user": {
            "_id": "5bb6ab05472e2500adffad5a",
            "legal_names": [
                "Test User"
            ]
        }
    }
}

Monthly Withdrawal Limit

Interest bearing accounts are limited to 6 withdrawals per month. Withdrawals above that limit will be canceled. Use monthly_withdrawals_remaining to monitor the number of withdrawals remaining for the month.

Subscribe to Webhooks

We recommend that you subscribe to webhooks to stay updated on the status of transactions.

Fund & Withdraw an IB Account


Creating transactions for the Interest Bearing Account

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.