> For the complete documentation index, see [llms.txt](https://docs.sigilvault.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.sigilvault.xyz/readme.md).

# Sigil SDKs

Sigil is a hardware-backed signer with a cloud co-signer. Service providers integrate by asking a user to **pair** their Sigil device, then sending **signing requests** that the device approves and signs. This documentation covers the four packages that make that happen.

## Packages

| Package                                             | Language           | Purpose                                                                                                                     |
| --------------------------------------------------- | ------------------ | --------------------------------------------------------------------------------------------------------------------------- |
| [`@sigil/astrotrain`](/typescript/astrotrain-ts.md) | TypeScript         | Canonical TS SDK for the SP-facing surface — pair handshake **and** signing transport. Mirrors the Rust `astrotrain` crate. |
| [`@sigil/jazz-react`](/typescript/jazz-react.md)    | TypeScript / React | Drop-in `<JazzPair>` widget that renders the pair UI (QR / deeplink) and manages the lifecycle.                             |
| [`astrotrain`](/rust/astrotrain.md)                 | Rust               | Canonical Rust HTTP client for the SP-facing surface — pair sessions and signing requests. Chain-agnostic.                  |
| [`cliffjumper`](/rust/cliffjumper.md)               | Rust               | Ethereum signer implementing `alloy_signer::Signer`. Drops into any alloy / ethers-based pipeline.                          |
| [`blurr`](/rust/blurr.md)                           | Rust               | Solana signer implementing `solana_signer::Signer`. Drops into any `solana-sdk`-based pipeline.                             |

> **Renamed:** `@sigil/jazz` → `@sigil/astrotrain` (0.1.x of the old name still resolves as a deprecated re-export).

## Where to start

* **First time integrating?** Read [Introduction](/introduction.md), then walk through the [Quickstart](/quickstart.md).
* **TypeScript SP backend?** Use `@sigil/astrotrain` (and the React widget if you want a drop-in UI).
* **Rust SP backend signing Ethereum tx?** Use `cliffjumper` — it re-exports `astrotrain::pairing` so you don't need a separate dep.
* **Rust SP backend signing Solana tx?** Use `blurr` — same pattern.
* **Rust SP backend with custom signing logic?** Use `astrotrain` directly.

## Environments

The SDKs talk to **octane**, Sigil's signing service. Two endpoints:

| Environment       | Octane URL                          |
| ----------------- | ----------------------------------- |
| Production        | `https://api.sigilvault.xyz/octane` |
| Local development | `http://127.0.0.1:8124`             |

You'll also need an **SP API key** (Bearer auth on every request) and a 32-byte Ed25519 **SP signing seed** (the SP's half of the device co-signature, used by both the Rust signers and `@sigil/astrotrain`'s `AstrotrainClient`). Both are issued by your Sigil administrator — see [Introduction](/introduction.md) for the onboarding flow.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.sigilvault.xyz/readme.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
