1
Discover strategies (public)
2
Simulate a position
positionPreview.3
Build the unsigned transaction
{ approvals, tx, meta }.4
Your user signs
Send
approvals[] first (if any), then tx, from userAddress — or hand them meta.signingUrl. See Signing.TypeScript
build.meta.expiresAt — the embedded swap calldata is valid ~60s. Build right before the user signs, and rebuild if it lapses.