Status. The Across adapter (
@corridor/bridge-across: quote, execute, deposit status, wait for fill) is built and has run against the live API. The mainnet across.bridge saga leg that wraps it is next on the roadmap; testnet flows use bridge.simulated, which has the same interface.Route shape
Across has no direct Tempo ↔ Solana route, so the hub reaches Solana in two hops through Base. Each hop is its own saga leg with its own compensation, and between hops the funds sit in a Corridor-owned address on Base.Fig. 03 · Mainnet topology: Tempo to Base through Across, then partners on Base and Solana, and NEAR Intents into Zcash.
API
1
Quote
GET /swap/approval with origin and destination chain ids, input and output tokens, amount in base units, depositor and recipient. Returns approval transactions, the deposit transaction, the expected output and an expiry.2
Execute
executeEvm(sender, q) sends any approvals, then the deposit, and returns the deposit transaction hash.3
Track the fill
GET /deposit/status until the status is filled (with fillTxnRef), or expired / refunded. waitForFill polls with a deadline.CCTP-backed routes return
quoteExpiryTimestamp: 0. The adapter treats zero as “no expiry” rather than “already expired”.Compensation design
Each hop is its own leg, so if the second hop fails after the first has filled, the saga compensates the first by bridging back from Base to the hub. Because each hop books separately, the ledger always shows where the money is: on Tempo, on Base, or in flight with a deposit hash.Testnet findings
Across has no Tempo testnet deployment, so the Moderato demo usesbridge.simulated, which has the same interface: the Tempo side is real (pathUSD moves to an escrow with the reference as memo) and the far side is simulated. A live Across testnet deposit from Base Sepolia to Solana devnet (0x782d8b52…) burned the USDC and completed Circle’s CCTP v2 attestation, but the final Solana mint is restricted to Across’s designated destinationCaller (its testnet relayer), which did not execute it. The mainnet run uses the same adapter. See ADR 0007.