Estimate withdrawal receive amount
curl --request POST \
--url https://api.machines.cash/partner/v1/withdrawals/estimate \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"destination": {
"currency": "hbar",
"network": "hbar",
"extraId": "<string>"
},
"amountCents": 2
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
destination: {currency: 'hbar', network: 'hbar', extraId: '<string>'},
amountCents: 2
})
};
fetch('https://api.machines.cash/partner/v1/withdrawals/estimate', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.machines.cash/partner/v1/withdrawals/estimate"
payload = {
"destination": {
"currency": "hbar",
"network": "hbar",
"extraId": "<string>"
},
"amountCents": 2
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"ok": true,
"data": {
"estimate": {
"fromCurrency": "<string>",
"fromNetwork": "<string>",
"toCurrency": "<string>",
"toNetwork": "<string>",
"minAmount": 123,
"maxAmount": 123,
"minAmountCents": 123,
"maxAmountCents": 123,
"destinationSupportsExtraId": true,
"fromAmount": 123,
"fromAmountCents": 123,
"estimatedToAmount": 123,
"rateId": "<string>",
"destinationExtraId": "<string>"
}
},
"summary": "<string>",
"errors": [
{
"code": "invalid_request",
"message": "missing required field",
"field": "<string>"
}
],
"next": {
"pollAfterMs": 1,
"suggestedTool": "<string>",
"suggestedArgs": {}
}
}{
"ok": false,
"summary": "invalid request",
"errors": [
{
"code": "invalid_request",
"message": "missing required field",
"field": "<string>"
}
],
"next": {
"pollAfterMs": 1,
"suggestedTool": "<string>",
"suggestedArgs": {}
}
}{
"ok": false,
"summary": "invalid request",
"errors": [
{
"code": "invalid_request",
"message": "missing required field",
"field": "<string>"
}
],
"next": {
"pollAfterMs": 1,
"suggestedTool": "<string>",
"suggestedArgs": {}
}
}{
"ok": false,
"summary": "invalid request",
"errors": [
{
"code": "invalid_request",
"message": "missing required field",
"field": "<string>"
}
],
"next": {
"pollAfterMs": 1,
"suggestedTool": "<string>",
"suggestedArgs": {}
}
}Withdrawals API
Estimate withdrawal receive amount
Returns estimated destination receive amount for a destination pair and amount. Routes are dynamic and provider-driven.
POST
/
partner
/
v1
/
withdrawals
/
estimate
Estimate withdrawal receive amount
curl --request POST \
--url https://api.machines.cash/partner/v1/withdrawals/estimate \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"destination": {
"currency": "hbar",
"network": "hbar",
"extraId": "<string>"
},
"amountCents": 2
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
destination: {currency: 'hbar', network: 'hbar', extraId: '<string>'},
amountCents: 2
})
};
fetch('https://api.machines.cash/partner/v1/withdrawals/estimate', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.machines.cash/partner/v1/withdrawals/estimate"
payload = {
"destination": {
"currency": "hbar",
"network": "hbar",
"extraId": "<string>"
},
"amountCents": 2
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"ok": true,
"data": {
"estimate": {
"fromCurrency": "<string>",
"fromNetwork": "<string>",
"toCurrency": "<string>",
"toNetwork": "<string>",
"minAmount": 123,
"maxAmount": 123,
"minAmountCents": 123,
"maxAmountCents": 123,
"destinationSupportsExtraId": true,
"fromAmount": 123,
"fromAmountCents": 123,
"estimatedToAmount": 123,
"rateId": "<string>",
"destinationExtraId": "<string>"
}
},
"summary": "<string>",
"errors": [
{
"code": "invalid_request",
"message": "missing required field",
"field": "<string>"
}
],
"next": {
"pollAfterMs": 1,
"suggestedTool": "<string>",
"suggestedArgs": {}
}
}{
"ok": false,
"summary": "invalid request",
"errors": [
{
"code": "invalid_request",
"message": "missing required field",
"field": "<string>"
}
],
"next": {
"pollAfterMs": 1,
"suggestedTool": "<string>",
"suggestedArgs": {}
}
}{
"ok": false,
"summary": "invalid request",
"errors": [
{
"code": "invalid_request",
"message": "missing required field",
"field": "<string>"
}
],
"next": {
"pollAfterMs": 1,
"suggestedTool": "<string>",
"suggestedArgs": {}
}
}{
"ok": false,
"summary": "invalid request",
"errors": [
{
"code": "invalid_request",
"message": "missing required field",
"field": "<string>"
}
],
"next": {
"pollAfterMs": 1,
"suggestedTool": "<string>",
"suggestedArgs": {}
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
Return Open Responses-compatible output when set (replaces the default response envelope).
Available options:
1, true Tool call id used for function_call_output items when Open Responses mode is enabled.
Minimum string length:
1Body
application/json