> For the complete documentation index, see [llms.txt](https://docs.autonomi.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.autonomi.com/developers/sdk/install/reference/language-bindings/overview.md).

# How Bindings Work

The language bindings in `ant-sdk` are clients for the `antd` daemon. They share the same daemon surface, but they do not expose identical constructors, transports, or helper APIs.

## Architecture

Each binding translates language-native inputs into requests to `antd`, then maps daemon responses back into that language's models and errors.

The pattern is:

1. your application talks to a language client
2. the language client talks to `antd`
3. `antd` talks to the Autonomi network through `ant-core`

## Defaults

The daemon defaults are:

* REST: `http://localhost:8082`
* gRPC: `localhost:50051`

Bindings usually default to those same endpoints when you do not supply an override.

## Transport Split

* JavaScript and TypeScript are documented as REST-based
* Python, Go, and Rust document both REST and gRPC support
* other bindings vary by package and docs coverage

Check the individual page before assuming a transport is available in your language.

## Discovery helpers

Several bindings include daemon discovery helpers based on the `daemon.port` file written by `antd` on startup.

Examples from the current packages:

* JavaScript: `RestClient.autoDiscover()`
* Python: `discover_daemon_url()` and `discover_grpc_target()`
* Go: `NewClientAutoDiscover()`
* Rust: `discover_daemon_url()` and `discover_grpc_target()`

Some bindings use discovery only through explicit helper APIs rather than by default constructors.

## Naming Differences

The bindings use different entry points:

| Language   | Current entry point                                               |
| ---------- | ----------------------------------------------------------------- |
| JavaScript | `createClient()` or `new RestClient(...)`                         |
| TypeScript | `createClient()` with exported types from the same `antd` package |
| Python     | `AntdClient()` / `AsyncAntdClient()`                              |
| Go         | `NewClient(...)`                                                  |
| Rust       | `Client::new(...)` from the `antd-client` crate                   |

Use the package-specific page when you need exact constructors, install commands, or transport notes.

## Related pages

* [Python SDK](/developers/sdk/install/reference/language-bindings/python.md)
* [JavaScript SDK](/developers/sdk/install/reference/language-bindings/javascript.md)
* [TypeScript SDK](/developers/sdk/install/reference/language-bindings/typescript.md)
* [Rust SDK](/developers/sdk/install/reference/language-bindings/rust.md)
* [Go SDK](/developers/sdk/install/reference/language-bindings/go.md)
* [REST API](/developers/sdk/install/reference/rest-api.md)


---

# 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.autonomi.com/developers/sdk/install/reference/language-bindings/overview.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.
