> 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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
