Skip to main content
Orchestration means coordinating the steps that deliver your application’s intended outcome. You can combine supported deposit-address flows, Routes transfers and Sauce programs, or use a standalone program when all the actions happen on one chain. Your application chooses which tools to call and tracks the result of each stage. These integrations have their own interfaces and lifecycle; combining them does not turn the full workflow into one transaction.

1. Choose how funds enter the workflow

  • Use a Routes quote when you want the user or application to fund a specific transfer.
  • Use Programmable Addresses for the supported Base-to-Solana and Circle Gateway deposit flows.
  • For a standalone Sauce program, fund its Pot, the account the program spends from.
Check the selected flow’s source token, destination, ownership and funding requirements. Deposit-address services are specific integrations, not a general API for arbitrary workflows.

2. Choose the transfer and actions

For example, a standalone program can compare swap prices, swap WETH for USDC subject to a minimum output, and supply the received USDC to Aave. The quote, swap and supply quickstart contains the program and simulation steps. A cross-chain workflow adds transfer funding and tracking around its destination execution.

3. Validate and submit

For a Routes transfer, verify the quote, funding transaction and intended destination outcome before funding. For a Sauce program, compile and simulate the program with the actual arguments and review its transfers and checks before signing. Keep the authorization for each stage explicit in your application. If a service or agent submits transactions automatically, your application still decides when to run, which actions it permits and which wallet can sign. A program’s conditions are evaluated during its transaction; they do not monitor state or schedule future runs.

4. Track completion and recovery

Record the identifiers for each stage: intent hashes, deposit lookups and transaction hashes as applicable. A confirmed source-chain funding transaction is not evidence that a destination recipient has been paid. Track intent status for transfers and transaction receipts for standalone execution. If a request times out, inspect the recorded identifiers before submitting another payment. Handle refund eligibility according to the selected flow rather than assuming a failed destination call returned the source funds.

Understand transaction boundaries

A Sauce program’s calls and checks run within one transaction on one chain. An unhandled failure reverts that transaction’s changes. When a route includes destination calls, those calls share the destination fulfillment transaction’s rollback boundary. Source funding, destination fulfillment, proofs and refunds remain distinct steps. See Intents and Security considerations for the relevant execution and recovery conditions.

Next steps