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!

Support

Recent Posts

Archive

Create Crypto Transactions

General Description and Resource

Purchasing cryptocurrency is easy with Synapse. All you have to do is create a transaction from a DDA or Subaccount into the Crypto account and the cryptocurrency will automatically be purchased based on the current market exchange rate.

Note: You will have to have a Synapse native account in your flow set up to move funds to and from the crypto wallet account. See the acceptable types below and here for more information. Intro to Direct Deposit Accounts

See below for the full list of transaction methods available:

Transaction Nodes

Fund

Withdraw

DEPOSIT-US

YES

YES

SUBACCOUNT-US

YES

YES

Supported Crypto Currency Types

Type

Currency

Bitcoin

BTC

Ethereum

ETH

Transactions with CRYPTO-US Accounts

Synapse's Crypto wallet is a portfolio of various cryptocurrencies. So the way you can buy or sell these assets is by supplying extra.asset value in the transaction JSON while creating it.

If you are creating a transaction from DEPOSIT-US to CRYPTO-US, you will need to supply extra.asset as BTC or ETH, then the transaction amount will go towards making a cryptocurrency purchase.

If you are creating a transaction from CRYPTO-US to DEPOSIT-US and you supply extra.asset as BTC of ETH, then the transaction amount will go towards selling the cryptocurrency out of the user portfolio.

If no extra.asset is supplied, the transaction would fail and the transaction status will go to RETURNED.

All buy and sell happens in USD. Before creating a transaction, we recommend calling the crypto quote API to show the current market to users and having them agree to the rate before creating a transaction. Once completed you can complete a GET on the CRYPTO-US node to return the trade and current portfolio to the user.

Below is an example transaction of buying and selling for your convenience.

A successful response will return the standard transaction object. The response will have the asset purchased in the extra field. To view how many cryptocurrencies were purchased, complete a GET Node call on your crypto account. More information can be found here .

Note: When viewing the transaction on the dashboard, a note appended on the processing credit or processing debit status of the transaction tells you the amount of USD converted to your selected asset or how much of the asset was converted to USD.

Transaction Status

Status

Comment

CREATED

The transaction was created.

PROCESSING-CREDIT

Funds are being credited for the cryptocurrency purchase

PROCESSING-DEBIT

Funds are being debited to purchase the cryptocurrency at the current market exchange rate

SETTLED

The transaction is completed and the amount of crypto is in your portfolio.

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: <key> header.