Create Order

Call frequency limit

Rate Limit: 10 requests per 2 seconds

  1. Interface call:

https://{host}/api/v2/accountExchange

2. Request parameter instance

parameter
whether
explain

depositCoinCode

Yes

eg:ETH When this field has values, fromChainId and fromTokenAddress do not need to be filled in

fromChainId

When there are values for 'fromChainId' and 'fromTokenAddress', there is no need to fill in 'depositCoinCode'

eg:1 Fill in the chain ID here。

fromTokenAddress

When there are values for 'fromChainId' and 'fromTokenAddress', there is no need to fill in 'depositCoinCode'

eg:0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee。

Please fill in the currency contract address here. If it is the main currency of the chain, please fill in '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee'

receiveCoinCode

Yes

eg:BTC When this field has values,'toChainId' and 'toTokenAddress' do not need to be filled in

toChainId

When there are values for 'toChainId' and 'toTokenAddress', there is no need to fill in 'receiveCoinCode'

eg: 56 Fill in the chain ID here。

toTokenAddress

When there are values for 'toChainId' and 'toTokenAddress', there is no need to fill in 'receiveCoinCode'

eg: 0x55d398326f99059ff775485246999027b3197955 Please fill in the currency contract address here. If it is the main currency of the chain, please fill in '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee'

depositCoinAmt

Yes

eg:0.01

receiveCoinAmr

Yes

Expected acceptance

destinationAddr

Yes

"Eg: 18orDLFMp3fGoy5Uk93LDGTGbxWEm7b7FY If there are memos, please separate them with # after placing them in the address, for example: 18orDLFMp3fGoy5Uk93LDGTGbxWEm7b7FY # 1927632"

refundAddr

Yes

"Eg: 18orDLFMp3fGoy5Uk93LDGTGbxWEm7b7FY If there are memos, please tell them to put them in the address and separate them with #, for example: 18orDLFMp3fGoy5Uk93LDGTGbxWEm7b7FY # 1927632"

equipmentNo

Yes

Equipment unique number

sourceType

Yes

ANDROID,IOS,H5

sourceFlag

Yes

It is used to identify which platform created the order. It needs to be set through negotiation with us

isNoGas

no

Does it support gas free redemption

slippage

no

slippage Decimal number 0.01 = 10%

3. Example of request parameters

{
    "depositCoinCode": "ETHF",
    "receiveCoinCode": "USDT(BSC)",
    
"depositCoinAmt": "42.207403",
    
"receiveCoinAmt": "46.367529",
    "destinationAddr": "0x19b9918f...f85ad08ba0",
    "refundAddr": "0x19b9918f...f85ad08ba0",
    
"equipmentNo":"zfgryh918f93a19fdg6918a68cf5",
    "sourceType": "H5",
    "sourceFlag":"widget",
    "isNoGas":true,
    "slippage": "0.02"


}
or
{
    "fromChainId": 513100,
    "fromTokenAddress": "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",
    "toChainId": 56,
    "toTokenAddress": "0x55d398326f99059ff775485246999027b3197955",
    
"depositCoinAmt": "42.207403",
    
"receiveCoinAmt": "46.367529",
    "destinationAddr": "0x19b9918f...f85ad08ba0",
    "refundAddr": "0x19b9918f...f85ad08ba0",
    
"equipmentNo":"zfgryh918f93a19fdg6918a68cf5",
    "sourceType": "H5",
    "sourceFlag":"widget",
    "isNoGas":true,
    "slippage": "0.02"

}

4.Example of returned results

{
    "data": {
        "chainFee": "0.001",
        "changeType": "advanced",
        "choiseFeeType": "3",
        "createTime": "2022-03-10 18:44:21",
        "dealFinishTime": null,
        "depositCoinAmt": "2",
        "depositCoinCode": "ETH",
        "depositCoinFeeAmt": "0.004",
        "depositCoinFeeRate": "0.002",
        "depositCoinState": "wait_send",
        "depositFeeRate": "0.002",
        "depositTxid": "",
        "destinationAddr": "0xAE93FA34f728855cE663cf9FcF8e32148F079071",
        "detailState": "wait_deposit_send",
        "developerId": "",
        "instantRate": "6.856554564172",
        "isDiscount": "N",
        "kycUrl": "",
        "orderId": "f94e631b-d99b-4dd5-98f7-09bf99d16d94",
        "orderState": "wait_deposits",
        "platformAddr": "0x3181af4f7cc7251a6a4eda75526c8abe10106db8",
        "receiveCoinAmt": "13.713109",
        "receiveCoinCode": "BNB(BSC)",
        "receiveSwftAmt": "2416.89",
        "refundAddr": "0xAE93FA34f728855cE663cf9FcF8e32148F079071",
        "refundCoinAmt": "",
        "refundCoinMinerFee": "",
        "refundDepositTxid": "",
        "refundSwftAmt": "",
        "swftCoinFeeRate": "0.001",
        "swftCoinState": "",
        "swftReceiveAddr": "",
        "swftRefundAddr": "",
        "transactionId": "",
        //Returned transaction data to be signed after enabling gas free fee
        "noGasTxInfo": "{\"gasLimit\":37920,\"data\":\"0xxxxx\",\"chainId\":56,\"to\":\"0xxxxx\",\"nonce\":51,\"gasPrice\":\"3150000000\"}",
        "xrpInfo": ""
    },
    "resCode": "800",
    "resMsg": "success",
    "resMsgEn": ""
}

5.Return Parameter Description

Field Name
field
data type
remarks

cinsorderId

orderId

String

eg:d47e8b9b-c17f-432b-9285-a46c0a3ceb9a

depositCoinCode

depositCoinCode

String

eg: ETH

receiveCoinCode

receiveCoinCode

String

Biteg:BTC

depositCoinAmt

depositCoinAmt

String

eg:1

receiveCoinAmt

receiveCoinAmt

String

eg:0.1

platformAddr

platformAddr

String

eg:123123123-232-1231232

destinationAddr

destinationAddr

String

"Eg: 18orDLFMp3fGoy5Uk93LDGTGbxWEm7b7FY. If there are memos, please put them in the address and separate them with #, for example: 18orDLFMp3fGoy5Uk93LDGTGbxWEm7b7FY # 1927632"

refundAddr

refundAddr

String

"Eg: 18orDLFMp3fGoy5Uk93LDGTGbxWEm7b7FY If there are memos, please separate them with # after placing them in the address, for example: 18orDLFMp3fGoy5Uk93LDGTGbxWEm7b7FY # 1927632"

depositCoinFeeRate

depositCoinFeeRate

String

Eg: Handling rate

depositCoinFeeAmt

depositCoinFeeAmt

String

Eg: The amount of original currency charged for handling charges

refundCoinAmt

refundCoinAmt

String

eg:0.98

transactionId

transactionId

String

On chain transaction ID, this field will have a value only after the exchange is completed and the currency has been issued

refundDepositTxid

refundDepositTxid

String

On chain transaction ID, this field will have a value only after the currency has been returned in case of exchange failure

detailState

detailState

String

(1)wait_ deposit_ Send: waiting for the deposit to be sent (2) timeout: timeout; (3)wait_ exchange_ Push: wait for the exchange information to be pushed; (4)wait_ exchange_ Return: Wait for the exchange information to return; (5.1)wait_ receive_ Send: Wait for sending the received currency, wait_ receive_ Confirm: wait for confirmation of the received currency, receive_ Complete: Confirm receipt currency (5.2)wait_ refund_ Send: Wait for sending the returned original currency, wait_ refund_ Confirm: wait for confirmation of returning original currency, refresh_ Complete: Confirm the return of original currency; (6) ERROR/error: Processing order (7) WAIT_ KYC: Wait for KYC or contact customer service to provide a link“

kycUrl

kycUrl

String

The reply time is 311 hours. Please leave a message.

https://swap.swftcoin.com/swft-v3/swft-v3-m/kyc/kyc.html?lang=cn&equipmentNo=pls_input_your_real_equipmentno_ok

New equipment manual number (reference), Lang language: CN, EN

Returned transaction data to be signed after enabling gas free fee

noGasTxInfo

String

This trading partner needs to be signed

Memo returned when exchanging BTC

btcMemo

String

MEMO returned when exchanging BTC, please see for details (7.Notes on BTC exchange)

Request Parameter Precautions

Parameter

Explanation

depositCoinAmt

After users create an order, must send depositCoinAmt to the order address.

receiveCoinAmt

receiveCoinAmt = depositCoinAmt * instantRate the rate is obtained through the getBaseInfo port, this value is used to record the market price when the order is submitted, precision is maintained to 6 decimal places

equipmentNo

Environment number, this can be used to check numbers associted with all of the order's information, please do not disclose

sourceFlag

Used to indicate which platform's order, the paramater isn't necesary the same sources originally indicated after the project's product comes online

developerId

Used to record the project's related order data, the project can use this paramater to express what the order is part of a particular user or is used to record its own system's order number, or another record number serial number; after the order is created, the parameter value will be returned (SWFT does not support checking order information through this paramater)

6.​Postman example

7. Notes on BTC exchange

7.1. The default API does not support BTC exchange. Please contact us to open the channel whitelist API to support BTC exchange. After support, the creation of the order interface will return a new field: btcMemo. The value of this field is required when transferring BTC on the chain. The client needs to be integrated into the wallet for BTC exchange, and the memo is carried on the chain in the form of OP_RETURN (see 7.3 for the on-chain form). If the memo is not carried, the exchange will not be completed if the BTC is directly transferred to our address.

7.2.Memo example: Taking 0.1BTC->USDT(BSC) as an example, the returned memo is:

"btcMemo":"to:USDT(BSC):0x242Ea2A8C4a3377A738ed8a0d8cC0Fe8B4D6C36E"

Splicing method: to: currency: address

7.3 After BTC exchange, you need to manually upload the deposit hash, for details, please see (Upload Swap Transaction Information)

7.4.hash example

https://mempool.space/tx/e8a7259a335e8488005b72dab98dd3087d52e0a94842d2d1a81262ebf8c3ef51

Last updated