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

# SDK Overview

> Official Hypermid SDKs in TypeScript, Python, Go, and Rust

Hypermid ships official SDKs in **TypeScript, Python, Go, and Rust** — all with the same method surface, same anonymous-tier ergonomics, and the same response shapes. Pick whichever fits your stack.

<Info>
  **No API key required to start.** Every SDK works anonymously out of the box at the default fee tier. An API key is only needed if you're a partner with negotiated terms (custom fee splits, fee discounts, higher rate limits, scoped webhooks).
</Info>

## Available SDKs

<CardGroup cols={2}>
  <Card title="TypeScript" icon="js" href="/sdks/typescript">
    Node 18+ and modern browsers. Dual ESM + CJS build — works in Next.js, Vite, Bun, AWS Lambda.
  </Card>

  <Card title="Python" icon="python" href="/sdks/python">
    Python 3.9+. Sync (`Hypermid`) and async (`AsyncHypermid`) clients. Pydantic v2 typed models.
  </Card>

  <Card title="Go" icon="golang" href="/sdks/go">
    Go 1.21+. Context-based cancellation, typed request/response structs.
  </Card>

  <Card title="Rust" icon="rust" href="/sdks/rust">
    Tokio async runtime. Strongly typed with serde. Builder-pattern config.
  </Card>
</CardGroup>

## At a glance

|                 | TypeScript                  | Python                 | Go                                           | Rust                      |
| --------------- | --------------------------- | ---------------------- | -------------------------------------------- | ------------------------- |
| **Package**     | `@hypermid/sdk`             | `hypermid`             | `github.com/Hypermid/hypermid-sdk-go`        | `hypermid-sdk`            |
| **Install**     | `npm install @hypermid/sdk` | `pip install hypermid` | `go get github.com/Hypermid/hypermid-sdk-go` | `cargo add hypermid-sdk`  |
| **Min version** | Node 18+                    | Python 3.9+            | Go 1.21+                                     | Rust 1.70+                |
| **Async model** | Promise-based               | sync + async           | Context-based                                | Tokio async               |
| **Types**       | Full TS types               | Pydantic v2            | Generated structs                            | Generated types via serde |
| **Status**      | Stable                      | Stable                 | Stable                                       | Stable                    |

All four SDKs expose the same methods: `getQuote` / `execute` / `getStatus` for the swap pipeline, plus `getChains`, `getTokens`, `getBalances`, `createWebhook`, on-ramp helpers, and `verifyWebhookSignature`. Names match each language's conventions (camelCase in TS, snake\_case in Python/Rust, PascalCase in Go).

## Direct API access

If your stack isn't covered by an SDK, the REST API is plain HTTP + JSON. Every endpoint accepts requests without authentication (anonymous tier) and adds an `X-API-Key` header when set:

```bash cURL theme={"system"}
curl https://api.hypermid.io/v1/chains
```

```javascript Fetch theme={"system"}
const res = await fetch("https://api.hypermid.io/v1/chains");
const { data } = await res.json();
```

See the [API Reference](/api-reference/overview) for complete endpoint documentation.
