curl /api/v1/transfers/42 \
-H "x-api-key: mh_live_abc123..."
curl /api/v1/transfers/by-external/order_12345 \
-H "x-api-key: mh_live_abc123..."
{
"id": 42,
"externalId": "order_12345",
"status": "processing",
"phase": "executing",
"progress": { "hopsCompleted": 3, "hopsTotal": 7 },
"lastError": null,
"recovery": null,
"signatures": {
"routeInit": ["4mGxFn7m..."],
"sessionInit": [],
"hops": ["9rTpWx2a...", "7kLmQv4b..."]
}
}
{
"error": {
"code": "MH_030",
"message": "Transfer not found"
}
}
Transfers
Get Transfer
Retrieve a transfer by its internal ID or external ID
GET
/
api
/
v1
/
transfers
/
{transferId}
curl /api/v1/transfers/42 \
-H "x-api-key: mh_live_abc123..."
curl /api/v1/transfers/by-external/order_12345 \
-H "x-api-key: mh_live_abc123..."
{
"id": 42,
"externalId": "order_12345",
"status": "processing",
"phase": "executing",
"progress": { "hopsCompleted": 3, "hopsTotal": 7 },
"lastError": null,
"recovery": null,
"signatures": {
"routeInit": ["4mGxFn7m..."],
"sessionInit": [],
"hops": ["9rTpWx2a...", "7kLmQv4b..."]
}
}
{
"error": {
"code": "MH_030",
"message": "Transfer not found"
}
}
Retrieve a transfer by its internal ID. Returns the extended transfer object including
phase, progress, recovery, and signatures.
A companion endpoint at GET /api/v1/transfers/by-external/{externalId} returns the same response shape using your external ID.
Path parameters
integer
required
The internal transfer ID.
Response
integer
Transfer ID.
string
Transfer status:
quote | awaiting_signature | processing | completed | failed | expired | refundedstring
Finer-grained execution phase derived from on-chain state:
quoted | deploying | executing | settled | failed | recoverable | rescued | reclaimed | expiredobject
object | null
object | null
Recovery options. Only populated when
phase is recoverable, settled, rescued, or reclaimed.object
curl /api/v1/transfers/42 \
-H "x-api-key: mh_live_abc123..."
curl /api/v1/transfers/by-external/order_12345 \
-H "x-api-key: mh_live_abc123..."
{
"id": 42,
"externalId": "order_12345",
"status": "processing",
"phase": "executing",
"progress": { "hopsCompleted": 3, "hopsTotal": 7 },
"lastError": null,
"recovery": null,
"signatures": {
"routeInit": ["4mGxFn7m..."],
"sessionInit": [],
"hops": ["9rTpWx2a...", "7kLmQv4b..."]
}
}
{
"error": {
"code": "MH_030",
"message": "Transfer not found"
}
}

