Withdraw Assets

Withdraw assets from a withdrawal wallet.

To withdraw assets from an withdrawal wallet, the caller must to provide an unique order_id for each request, the CYBAVO SOFA system will send the callback with the unique order_id when the withdrawal is success (from in pool state to in chain state).

Request

POST /v1/sofa/wallets/{WALLET_ID}/sender/transactions

Post Body

Field Type Note Description
order_id string required, max 255 chars Specify an unique ID, order ID must be prefixed
address string required Outgoing address
amount string required Withdrawal amount
memo string optional Memo on blockchain (This memo will be sent to blockchain). Refer to [Memo Requirement]({{ ref “memo-requirement” >}})
user_id string optional Specify certain user
message string optional Message (This message only savced on CYBAVO, not sent to blockchain)
block_average_fee int optional, range 1~30 Use avarage blockchain fee within latest N blocks
manual_fee int optional, range 1~1000 Specify blockchain fee in smallest unit of wallet currency

Response Body

Field Type Description
results array Array of withdraw result (order ID/withdraw transaction ID pair), if succeeds

Sample Request

API

/v1/sofa/wallets/94533/sender/transactions

Post Body

{
  "requests": [
    {
      "order_id": "888888_1",
      "address": "0x60589A749AAC632e9A830c8aBE042D1899d8Dd15",
      "amount": "0.0001",
      "memo": "memo-001",
      "user_id": "USER01",
      "message": "message-001",
      "block_average_fee": 5
    },
    {
      "order_id": "888888_2",
      "address": "0xf16B7B8900F0d2f682e0FFe207a553F52B6C7015",
      "amount": "0.0002",
      "memo": "memo-002",
      "user_id": "USER02",
      "message": "message-002",
      "manual_fee": 50
    },
    {
      "order_id": "888888_3",
      "address": "0x9638fa816ccd35389a9a98a997ee08b5321f3eb9",
      "amount": "0.0002",
      "memo": "memo-003",
      "user_id": "USER03",
      "message": "message-003"
    }
  ]
}

Response Body

{
  "results": {
    "1": 20000000001,
    "2": 20000000002
  }
}

Sample cURL Command

curl -X POST -H "Content-Type: application/json" -d '{"requests":[{"order_id":"888888_1","address":"0x60589A749AAC632e9A830c8aBE042D1899d8Dd15","amount":"0.01","memo":"memo-001","user_id":"USER01","message":"message-001"},{"order_id":"888888_2","address":"0xf16B7B8900F0d2f682e0FFe207a553F52B6C7015","amount":"2.5","memo":"memo-002","user_id":"USER02","message":"message-002"}]}' \
http://localhost:8889/v1/mock/wallets/{WALLET_ID}/withdraw