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.

Once you’ve signed the intent, submit it to the Orchestrator for execution. Use the /intents endpoint. Pass the intentId from the quote and the signatures you collected:
const baseUrl = "https://v1.orchestrator.rhinestone.dev";
const apiKey = "YOUR_RHINESTONE_API_KEY";

const res = await fetch(`${baseUrl}/intents`, {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "x-api-key": apiKey,
    "x-api-version": "2026-04.blanc",
  },
  body: JSON.stringify({
    intentId,
    signatures: {
      origin: originSignatures,
      destination: destinationSignature,
    },
  }),
});

const { intentId: submittedId } = await res.json();
The response contains only the intentId — use it to poll for execution status.
If the quote has expired before you submit, POST /intents returns 404. Re-quote and re-sign — don’t retry the submit.

Tracking intents

Poll for status and understand the full intent lifecycle.