curl --request POST \
--url https://api.sand.etherfuse.com/organization/{organizationId}/order/{id}/funding_instructions/refresh \
--header 'Authorization: <api-key>'const options = {method: 'POST', headers: {Authorization: '<api-key>'}};
fetch('https://api.sand.etherfuse.com/organization/{organizationId}/order/{id}/funding_instructions/refresh', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.sand.etherfuse.com/organization/{organizationId}/order/{id}/funding_instructions/refresh"
headers = {"Authorization": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text){
"id": "5e6f7a8b-9c0d-4e1f-8a2b-3c4d5e6f7a8b",
"organizationId": "7a8b9c0d-1e2f-4a3b-8c4d-5e6f7a8b9c0d",
"status": "created",
"memo": "Invoice 1042",
"source": {
"paymentAccountId": "3f9a2c1e-5b7d-4e8f-9a01-2b3c4d5e6f70",
"amount": "1000",
"asset": "MXN",
"rail": "spei",
"accountLabel": "Operating account"
},
"destination": {
"paymentAccountId": "8c1d2e3f-4a5b-4c6d-8e7f-901a2b3c4d5e",
"amount": "54.120000",
"asset": "USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
"rail": "stellar",
"accountLabel": "Treasury wallet"
},
"fees": [
{
"type": "transactionFee",
"amount": "2.50",
"asset": "MXN",
"bps": 25
}
],
"fundingInstructions": {
"rail": "spei",
"reference": "1000042",
"destination": {
"expiresAt": null,
"clabe": "646180000000000009",
"bankName": "Ejemplo Banco",
"recipientName": "Ejemplo Receptor"
},
"fundingDeadline": "2026-09-29T17:05:02Z"
},
"claimInstructions": null,
"createdAt": "2026-09-28T17:05:02.114Z",
"updatedAt": "2026-09-28T17:05:02.114Z",
"completedAt": null
}{
"type": "https://docs.etherfuse.com/ramp/v2/errors/quote-expired",
"title": "Quote expired",
"status": 400,
"detail": "quote 5e6f7a8b-9c0d-4e1f-8a2b-3c4d5e6f7a8b has expired or does not exist",
"instance": "tag:etherfuse.com,2026-08-28:R2-10120/0b1c2d3e-4f50-4a6b-8c7d-9e0f1a2b3c4d",
"errors": [
{
"pointer": "#/accountDetails/clabe",
"detail": "This field is required."
}
],
"required": [
"<string>"
],
"missing": [
"<string>"
]
}{
"type": "https://docs.etherfuse.com/ramp/v2/errors/quote-expired",
"title": "Quote expired",
"status": 400,
"detail": "quote 5e6f7a8b-9c0d-4e1f-8a2b-3c4d5e6f7a8b has expired or does not exist",
"instance": "tag:etherfuse.com,2026-08-28:R2-10120/0b1c2d3e-4f50-4a6b-8c7d-9e0f1a2b3c4d",
"errors": [
{
"pointer": "#/accountDetails/clabe",
"detail": "This field is required."
}
],
"required": [
"<string>"
],
"missing": [
"<string>"
]
}{
"type": "https://docs.etherfuse.com/ramp/v2/errors/quote-expired",
"title": "Quote expired",
"status": 400,
"detail": "quote 5e6f7a8b-9c0d-4e1f-8a2b-3c4d5e6f7a8b has expired or does not exist",
"instance": "tag:etherfuse.com,2026-08-28:R2-10120/0b1c2d3e-4f50-4a6b-8c7d-9e0f1a2b3c4d",
"errors": [
{
"pointer": "#/accountDetails/clabe",
"detail": "This field is required."
}
],
"required": [
"<string>"
],
"missing": [
"<string>"
]
}{
"type": "https://docs.etherfuse.com/ramp/v2/errors/quote-expired",
"title": "Quote expired",
"status": 400,
"detail": "quote 5e6f7a8b-9c0d-4e1f-8a2b-3c4d5e6f7a8b has expired or does not exist",
"instance": "tag:etherfuse.com,2026-08-28:R2-10120/0b1c2d3e-4f50-4a6b-8c7d-9e0f1a2b3c4d",
"errors": [
{
"pointer": "#/accountDetails/clabe",
"detail": "This field is required."
}
],
"required": [
"<string>"
],
"missing": [
"<string>"
]
}Refresh funding instructions
Requests new funding instructions for an order and returns the order as it is. No request body. When the order is created, before its funding deadline, and either its funding destination has expired or its instructions carry a preparedTransaction, we get new instructions from the payment provider. Refresh a prepared transaction after its refreshAfter, or whenever submitting it fails because the wallet’s sequence number or nonce moved. On Stellar and EVM chains, a refresh after the old transaction landed changes nothing. New instructions arrive in an orderUpdated webhook and on GET. Otherwise nothing changes. Calling it again before the new instructions arrive does not request them twice.
curl --request POST \
--url https://api.sand.etherfuse.com/organization/{organizationId}/order/{id}/funding_instructions/refresh \
--header 'Authorization: <api-key>'const options = {method: 'POST', headers: {Authorization: '<api-key>'}};
fetch('https://api.sand.etherfuse.com/organization/{organizationId}/order/{id}/funding_instructions/refresh', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.sand.etherfuse.com/organization/{organizationId}/order/{id}/funding_instructions/refresh"
headers = {"Authorization": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text){
"id": "5e6f7a8b-9c0d-4e1f-8a2b-3c4d5e6f7a8b",
"organizationId": "7a8b9c0d-1e2f-4a3b-8c4d-5e6f7a8b9c0d",
"status": "created",
"memo": "Invoice 1042",
"source": {
"paymentAccountId": "3f9a2c1e-5b7d-4e8f-9a01-2b3c4d5e6f70",
"amount": "1000",
"asset": "MXN",
"rail": "spei",
"accountLabel": "Operating account"
},
"destination": {
"paymentAccountId": "8c1d2e3f-4a5b-4c6d-8e7f-901a2b3c4d5e",
"amount": "54.120000",
"asset": "USDC:GA5ZSEJYB37JRC5AVCIA5MOP4RHTM335X2KGX3IHOJAPP5RE34K4KZVN",
"rail": "stellar",
"accountLabel": "Treasury wallet"
},
"fees": [
{
"type": "transactionFee",
"amount": "2.50",
"asset": "MXN",
"bps": 25
}
],
"fundingInstructions": {
"rail": "spei",
"reference": "1000042",
"destination": {
"expiresAt": null,
"clabe": "646180000000000009",
"bankName": "Ejemplo Banco",
"recipientName": "Ejemplo Receptor"
},
"fundingDeadline": "2026-09-29T17:05:02Z"
},
"claimInstructions": null,
"createdAt": "2026-09-28T17:05:02.114Z",
"updatedAt": "2026-09-28T17:05:02.114Z",
"completedAt": null
}{
"type": "https://docs.etherfuse.com/ramp/v2/errors/quote-expired",
"title": "Quote expired",
"status": 400,
"detail": "quote 5e6f7a8b-9c0d-4e1f-8a2b-3c4d5e6f7a8b has expired or does not exist",
"instance": "tag:etherfuse.com,2026-08-28:R2-10120/0b1c2d3e-4f50-4a6b-8c7d-9e0f1a2b3c4d",
"errors": [
{
"pointer": "#/accountDetails/clabe",
"detail": "This field is required."
}
],
"required": [
"<string>"
],
"missing": [
"<string>"
]
}{
"type": "https://docs.etherfuse.com/ramp/v2/errors/quote-expired",
"title": "Quote expired",
"status": 400,
"detail": "quote 5e6f7a8b-9c0d-4e1f-8a2b-3c4d5e6f7a8b has expired or does not exist",
"instance": "tag:etherfuse.com,2026-08-28:R2-10120/0b1c2d3e-4f50-4a6b-8c7d-9e0f1a2b3c4d",
"errors": [
{
"pointer": "#/accountDetails/clabe",
"detail": "This field is required."
}
],
"required": [
"<string>"
],
"missing": [
"<string>"
]
}{
"type": "https://docs.etherfuse.com/ramp/v2/errors/quote-expired",
"title": "Quote expired",
"status": 400,
"detail": "quote 5e6f7a8b-9c0d-4e1f-8a2b-3c4d5e6f7a8b has expired or does not exist",
"instance": "tag:etherfuse.com,2026-08-28:R2-10120/0b1c2d3e-4f50-4a6b-8c7d-9e0f1a2b3c4d",
"errors": [
{
"pointer": "#/accountDetails/clabe",
"detail": "This field is required."
}
],
"required": [
"<string>"
],
"missing": [
"<string>"
]
}{
"type": "https://docs.etherfuse.com/ramp/v2/errors/quote-expired",
"title": "Quote expired",
"status": 400,
"detail": "quote 5e6f7a8b-9c0d-4e1f-8a2b-3c4d5e6f7a8b has expired or does not exist",
"instance": "tag:etherfuse.com,2026-08-28:R2-10120/0b1c2d3e-4f50-4a6b-8c7d-9e0f1a2b3c4d",
"errors": [
{
"pointer": "#/accountDetails/clabe",
"detail": "This field is required."
}
],
"required": [
"<string>"
],
"missing": [
"<string>"
]
}Authorizations
API key sent in the Authorization header, with no Bearer prefix.
Path Parameters
The organization this call acts for: your API key's organization or one of its customer organizations. Any other id returns 404 not-found.
The order id, which is the quoteId it was created from.
Response
The order.
The order id. Equal to the quoteId it was created from.
The organization the order belongs to.
created: waiting for the source funds. funded: source funds received. claimable: delivered, waiting for the customer to claim; see claimInstructions. completed: delivered. failed: could not be completed; see failure. canceled: canceled before completion. refunded: the source funds were returned.
created, funded, claimable, completed, failed, canceled, refunded Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
How the source funds the order.
Show child attributes
Show child attributes
Set while the order is claimable. Otherwise null.
Show child attributes
Show child attributes
Present only when status is failed.
Show child attributes
Show child attributes
Set while the order waits for the account holder to approve a transfer we built. Otherwise null. Approve it with POST /organization/{organizationId}/order/{id}/authorization.
Show child attributes
Show child attributes
{
"id": "9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d",
"reason": "funding",
"method": {
"kind": "signature",
"algorithm": "es256",
"message": "eyJvcmRlcklkIjoiNWU2ZjdhOGIifQ"
},
"expiresAt": "2026-09-28T17:20:00Z"
}