Skip to main content
1

Simulate

Confirm positionPreview — leverage, effectiveLtv, expectedLeverageApy, priceImpactPct.
2

Build the unsigned tx

3

Verify (optional but recommended)

  • bundle.tx.to is the Spiral contract for that chain.
  • bundle.approvals[].to is the pay token.
  • bundle.tx.value is 0 for an ERC-20 pay (non-reallocate).
4

Sign & send

Send approvals[] first (if any), then tx, from userAddress. Or hand the user bundle.meta.signingUrl.
5

Confirm

Rebuild if bundle.meta.expiresAt passes before signing — the swap calldata is only valid for ~60 seconds.