Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.rhinestone.dev/llms.txt

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

The quote response includes everything needed to sign. Forward signData.origin[] and signData.destination directly to your wallet’s signTypedData() — don’t reconstruct the EIP-712 types client-side.

Origin signatures

signData.origin has one entry per source chain. Sign each entry in order. The signature index must match the entry index.
const originSignatures = await Promise.all(
  signData.origin.map((typedData) =>
    walletClient.signTypedData(typedData),
  ),
);

Destination signature

signData.destination is a single typed-data object. It’s used when the recipient differs from the sender (a smart account receiving tokens, for example, or destination executions that touch the recipient’s account).
const destinationSignature = await walletClient.signTypedData(
  signData.destination,
);
If the destination doesn’t require a signature, this slot can still be sent — the orchestrator ignores it.

Next steps

Submitting the intent

Submit the signed intent to the Orchestrator.