Skip to main content
POST
/
api
/
v1
/
transfers
/
{transferId}
/
prepare
curl -X POST /api/v1/transfers/42/prepare \
  -H "x-api-key: mh_live_abc123..." \
  -H "Idempotency-Key: $(uuidgen)"
{
  "transfer": { "id": 42, "status": "awaiting_signature" },
  "preparedTxs": {
    "keeperFundingTx": "AQAAAAAAAA...",
    "routeInitTxs": [{ "base64": "AQAAAAAAAA..." }],
    "orchestratorInitTx": null,
    "sessionInitTxs": ["AQAAAAAAAA...", "AQAAAAAAAA..."],
    "recentBlockhash": "BpFi8bTNRuLbUnrq7q1N1M...",
    "lastValidBlockHeight": 289043200,
    "resume": {
      "routeAlreadyDeployed": false,
      "existingHopCount": 0,
      "totalHops": 7,
      "orchestratorAlreadyInitialized": true,
      "completedStepIndices": [],
      "totalSteps": 7,
      "keeperAlreadyFunded": false,
      "nothingToDo": false
    }
  }
}

Documentation Index

Fetch the complete documentation index at: https://dev-docs.multihopper.com/llms.txt

Use this file to discover all available pages before exploring further.

Probes on-chain state and returns the full bundle of unsigned Solana transactions that sourceOwner must sign and broadcast to deploy the transfer. This endpoint is resumable — re-call it after a partial broadcast to get a fresh blockhash and drop any groups already confirmed on-chain (null fields are already on chain, skip them).

Path parameters

transferId
integer
required
The internal transfer ID.

Response

transfer
object
Current transfer state.
preparedTxs
object
Bundle of unsigned transactions to sign and broadcast.
curl -X POST /api/v1/transfers/42/prepare \
  -H "x-api-key: mh_live_abc123..." \
  -H "Idempotency-Key: $(uuidgen)"
{
  "transfer": { "id": 42, "status": "awaiting_signature" },
  "preparedTxs": {
    "keeperFundingTx": "AQAAAAAAAA...",
    "routeInitTxs": [{ "base64": "AQAAAAAAAA..." }],
    "orchestratorInitTx": null,
    "sessionInitTxs": ["AQAAAAAAAA...", "AQAAAAAAAA..."],
    "recentBlockhash": "BpFi8bTNRuLbUnrq7q1N1M...",
    "lastValidBlockHeight": 289043200,
    "resume": {
      "routeAlreadyDeployed": false,
      "existingHopCount": 0,
      "totalHops": 7,
      "orchestratorAlreadyInitialized": true,
      "completedStepIndices": [],
      "totalSteps": 7,
      "keeperAlreadyFunded": false,
      "nothingToDo": false
    }
  }
}