Quickstart

Set up an agent and reach a first successful scrollport tool journey.

View Markdown

This is the shortest path from a new agent to a safe first call. It does not claim that the example below ran; it shows the messages an agent should send after the human approves access.

1. Give your agent the setup prompt

Copy this prompt into the agent that will use scrollport:

code
Read https://scrollport.com/start and then help me set up scrollport.

If the runtime has a shell, the direct route is:

code
npx scrollport setup

The CLI starts a device authorization. It does not print or ask you to paste an API key. The browser shows the agent name, the requested grant and a short code; approve only the request you recognize.

2. Confirm the wallet

After approval, the agent receives a scoped key for the account and can read the wallet. This is a free read and does not add funds or change the confirmation threshold.

code
{
  "name": "wallet",
  "arguments": {}
}

Use available, not settled balance, when deciding whether a new run can start. available is balance minus funds held by runs already in flight.

3. Discover a catalog tool

Search by the outcome, not by a provider name:

code
{
  "name": "discover",
  "arguments": {
    "query": "find the text of a web page"
  }
}

The response contains provider-neutral capabilities and bounded catalog-tool alternatives. Copy a returned tool_id; never invent one.

4. Inspect before running

Pass the selected id to inspect and read its input_schema, worked_example and common_errors:

code
{
  "name": "inspect",
  "arguments": {
    "tool_id": "<tool_id returned by discover>"
  }
}

Copy worked_example.input and change only the values required for your job. Provider input, output and pricing are live catalog facts, so this page intentionally does not reproduce them.

5. Run one bounded example

code
{
  "name": "run",
  "arguments": {
    "tool_id": "<the same tool_id>",
    "input": { "<field from inspect>": "<your value>" },
    "wait_seconds": 0
  }
}

run spends from the prepaid wallet. A result may be returned immediately, or the response may contain a run_id that you resume with run({ "run_id": "..." }). If the estimate crosses the confirmation threshold, show the human the quote and retry with confirm: true only after approval.

6. Check the result and wallet

Resume an in-flight run with its id; resuming starts nothing and costs nothing. Then call wallet again to see the updated held, available and settled figures. A failed run releases its entire hold and is not billed.

If the run returns connection_required, give the human its connect_url and wait for them to connect the provider account. Do not ask the agent to handle provider credentials itself.