curl --request POST \
--url https://waas2-out-api.powersafe-rel.cc/api/v1/api/order/withdrawWithoutVerify \
--header 'Content-Type: <content-type>' \
--header 'X-API-KEY: <x-api-key>' \
--data data=MznFksCdDmVmO2y2WkC3cN24a6VYubpGu3KCn3QYdG62JrANxPiw3......import requests
url = "https://waas2-out-api.powersafe-rel.cc/api/v1/api/order/withdrawWithoutVerify"
payload = { "data": "MznFksCdDmVmO2y2WkC3cN24a6VYubpGu3KCn3QYdG62JrANxPiw3......" }
headers = {
"Content-Type": "<content-type>",
"X-API-KEY": "<x-api-key>"
}
response = requests.post(url, data=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': '<content-type>', 'X-API-KEY': '<x-api-key>'},
body: new URLSearchParams({data: 'MznFksCdDmVmO2y2WkC3cN24a6VYubpGu3KCn3QYdG62JrANxPiw3......'})
};
fetch('https://waas2-out-api.powersafe-rel.cc/api/v1/api/order/withdrawWithoutVerify', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://waas2-out-api.powersafe-rel.cc/api/v1/api/order/withdrawWithoutVerify",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "data=MznFksCdDmVmO2y2WkC3cN24a6VYubpGu3KCn3QYdG62JrANxPiw3......",
CURLOPT_HTTPHEADER => [
"Content-Type: <content-type>",
"X-API-KEY: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://waas2-out-api.powersafe-rel.cc/api/v1/api/order/withdrawWithoutVerify"
payload := strings.NewReader("data=MznFksCdDmVmO2y2WkC3cN24a6VYubpGu3KCn3QYdG62JrANxPiw3......")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "<content-type>")
req.Header.Add("X-API-KEY", "<x-api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://waas2-out-api.powersafe-rel.cc/api/v1/api/order/withdrawWithoutVerify")
.header("Content-Type", "<content-type>")
.header("X-API-KEY", "<x-api-key>")
.body("data=MznFksCdDmVmO2y2WkC3cN24a6VYubpGu3KCn3QYdG62JrANxPiw3......")
.asString();require 'uri'
require 'net/http'
url = URI("https://waas2-out-api.powersafe-rel.cc/api/v1/api/order/withdrawWithoutVerify")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = '<content-type>'
request["X-API-KEY"] = '<x-api-key>'
request.body = "data=MznFksCdDmVmO2y2WkC3cN24a6VYubpGu3KCn3QYdG62JrANxPiw3......"
response = http.request(request)
puts response.read_bodySubmit Withdrawal / Energy Lease Order (No Secondary Confirmation Required)
curl --request POST \
--url https://waas2-out-api.powersafe-rel.cc/api/v1/api/order/withdrawWithoutVerify \
--header 'Content-Type: <content-type>' \
--header 'X-API-KEY: <x-api-key>' \
--data data=MznFksCdDmVmO2y2WkC3cN24a6VYubpGu3KCn3QYdG62JrANxPiw3......import requests
url = "https://waas2-out-api.powersafe-rel.cc/api/v1/api/order/withdrawWithoutVerify"
payload = { "data": "MznFksCdDmVmO2y2WkC3cN24a6VYubpGu3KCn3QYdG62JrANxPiw3......" }
headers = {
"Content-Type": "<content-type>",
"X-API-KEY": "<x-api-key>"
}
response = requests.post(url, data=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': '<content-type>', 'X-API-KEY': '<x-api-key>'},
body: new URLSearchParams({data: 'MznFksCdDmVmO2y2WkC3cN24a6VYubpGu3KCn3QYdG62JrANxPiw3......'})
};
fetch('https://waas2-out-api.powersafe-rel.cc/api/v1/api/order/withdrawWithoutVerify', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://waas2-out-api.powersafe-rel.cc/api/v1/api/order/withdrawWithoutVerify",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "data=MznFksCdDmVmO2y2WkC3cN24a6VYubpGu3KCn3QYdG62JrANxPiw3......",
CURLOPT_HTTPHEADER => [
"Content-Type: <content-type>",
"X-API-KEY: <x-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://waas2-out-api.powersafe-rel.cc/api/v1/api/order/withdrawWithoutVerify"
payload := strings.NewReader("data=MznFksCdDmVmO2y2WkC3cN24a6VYubpGu3KCn3QYdG62JrANxPiw3......")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "<content-type>")
req.Header.Add("X-API-KEY", "<x-api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://waas2-out-api.powersafe-rel.cc/api/v1/api/order/withdrawWithoutVerify")
.header("Content-Type", "<content-type>")
.header("X-API-KEY", "<x-api-key>")
.body("data=MznFksCdDmVmO2y2WkC3cN24a6VYubpGu3KCn3QYdG62JrANxPiw3......")
.asString();require 'uri'
require 'net/http'
url = URI("https://waas2-out-api.powersafe-rel.cc/api/v1/api/order/withdrawWithoutVerify")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = '<content-type>'
request["X-API-KEY"] = '<x-api-key>'
request.body = "data=MznFksCdDmVmO2y2WkC3cN24a6VYubpGu3KCn3QYdG62JrANxPiw3......"
response = http.request(request)
puts response.read_bodyAPI Description
Merchants can use this interface to submit orders that require no secondary confirmation, supporting two business types: • When the symbol is a digital currency (such as USDT, USDC…), the order represents a withdrawal order. • When symbol=ENERGY, the order represents an energy lease order.Headers
必须设置为 application/x-www-form-urlencoded
平台分配的商户身份凭证
"53af2797-3eca-4412-b0cc-15273afe2d3e"
Body
Base64编码的RSA加密数据,由以下原始参数加密生成:
userId (integer): 商户在WaaS系统中的ID。
tenantUserId (string): 指的是商户系统中的用户ID。
tenantType (integer): 表示商户的类型,这里规定类型为1。
callBackId (string): 商户需确保该 callBackId 的唯一性。
symbol (string): 业务类型标识:
-
提款业务:货币符号,如 "USDT", "USDC", "PHT"等。
-
能量租赁业务:固定为 "ENERGY"。
chainName (string): 表示区块链的名称,例如:TRON、ETH...。
toAddr (string): 接收方的地址,例如:toAddress123,表示转账目标地址。
amount (BigDecimal): 业务操作数值:
-
提款业务:转账的金额,例如:0.5。
-
能量租赁业务:租赁能量笔数(整数),如:3。
expiryHours (integer): 租赁有效期(小时),仅当symbol="ENERGY"时必填。"
^[A-Za-z0-9+/]+={0,2}$"MznFksCdDmVmO2y2WkC3cN24a6VYubpGu3KCn3QYdG62JrANxPiw3......"
Response
成功响应
业务状态码(0 = 成功),其他值均表示失败。
0
正常情况下返回为空,当请求失败时则会返回错误信息。
""
Base64编码的RSA加密数据,由以下原始参数加密生成:
tenantUserId (integer): 表示商户系统中的用户ID。
id (string): 商户发起业务请求(提款或能量租赁)时需生成唯一回调ID,WaaS会在响应中返回该ID以供确认。
"G+RlQN2lJ4qQtiXJC7Y6rgHm5UI7FNyY/yyN30N7EaBA==...."

