> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sumvin.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Sign or decline an errand

> Before your errand searches, you sign its bounds or decline it. Signing from the connector arrives with payments.

export const waitlists = {
  earlyAccess: "https://sumvin.com/?interest=early_access&utm_source=docs&utm_medium=banner&utm_campaign=early_access#waitlist",
  payments: "https://sumvin.com/?interest=payments&utm_source=docs&utm_medium=banner&utm_campaign=payments#waitlist",
  openBanking: "https://sumvin.com/?interest=open_banking&utm_source=docs&utm_medium=banner&utm_campaign=open_banking#waitlist",
  developers: "https://sumvin.com/developers?interest=cli,agent_plugin&utm_source=docs&utm_medium=banner&utm_campaign=developers#access",
  verifiers: "https://sumvin.com/developers?interest=verifiers&utm_source=docs&utm_medium=banner&utm_campaign=verifiers#access"
};

<Note>
  **Coming soon:** payments arrive in a fast-follow release.{waitlists.payments ? <> <a href={waitlists.payments}>Join the waitlist →</a></> : " A waitlist opens shortly."}
</Note>

Signing an errand from the connector arrives with payments.

You ask. You sign. Then Sumvin searches, checks the merchant, watches for your conditions, and settles the purchase.

Once you've asked, and answered any question it has, your errand stops at `pending_approval`. Nothing has been searched yet. It waits for you to sign its bounds: the item, in your own words; the most it may spend, and the currency; any conditions; and when your authorisation lapses. Your agent cannot sign for you, from any surface. From the connector, you sign with your passkey, on a Sumvin page in your own browser.

<Steps>
  <Step title="Your errand asks for your signature">
    Before it searches, your errand proposes a Stamped Mandate covering its bounds, and waits for your signature. From the connector, this step arrives with payments.
  </Step>

  <Step title="Review it">
    <Tabs>
      <Tab title="Connector">
        Coming soon, with payments. Your agent can tell you an errand is waiting at `pending_approval`, but can't sign it for you.
      </Tab>

      <Tab title="Terminal">
        Check what's waiting with:

        ```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
        sumvin errand get <errand_id>
        ```

        Then bring up the mandate itself:

        ```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
        sumvin errand approve <errand_id>
        ```

        The CLI fetches the mandate and prints it before asking you to sign.
      </Tab>
    </Tabs>

    When you review it, you see three things:

    * **The statement** — your ask, in your own words, and any conditions (a price target, being in stock).
    * **The spend ceiling** — the most it may spend. Read this separately from the statement: two requests can use identical wording and still carry different ceilings, so the ceiling is always shown on its own line.
    * **When it lapses.**

    You are signing bounds, not a chosen product. Nothing has been picked yet.
  </Step>

  <Step title="Sign">
    <Tabs>
      <Tab title="Connector">
        Coming soon, with payments. You'll sign in your own browser with your passkey, the one you created at the end of [verification](/get-started/first/verify).
      </Tab>

      <Tab title="Terminal">
        Answer `y` at the prompt, or run non-interactively with:

        ```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
        sumvin errand approve <errand_id> --yes
        ```

        Only use `--yes` when you are the one running the command. Never hand it to an unattended agent.
      </Tab>
    </Tabs>

    Once you sign, the errand searches, checks the merchant, and watches for your conditions. A match found within your bounds is bought without asking you again.
  </Step>

  <Step title="Or decline">
    Declining is final. It cancels the errand. Nothing is signed, nothing is searched, and nothing is spent.

    <Tabs>
      <Tab title="Connector">
        Coming soon, with payments. Until then, you can ask your agent to cancel the errand.
      </Tab>

      <Tab title="Terminal">
        ```bash theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
        sumvin errand reject <errand_id>
        ```
      </Tab>
    </Tabs>
  </Step>
</Steps>

<Note>
  An errand you don't sign in time expires, and signing is no longer possible. Start a new errand instead.
</Note>

## See also

* [Stamped Mandates](/concepts/stamped-mandates) — what a mandate is and what signing one means.
* [Set limits](/guides/set-limits) — what you can constrain in a mandate before you sign.

<Tip>**Try asking your agent:** "Is my last errand still waiting for my signature?"</Tip>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.