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

# FFI / C Bindings

> Status and guidance for using StoffelLang from non-Rust environments.

The primary supported application surfaces are the `stoffel` CLI and the Rust SDK. If you are writing C, C++, Python, or another host-language integration, start by treating the CLI-built `.stflb` artifact as the boundary: build with `stoffel build`, then hand that bytecode to the runtime surface your integration owns.

## Recommended path

```bash theme={null}
stoffel check
stoffel build
stoffel compile --disassemble target/debug/<project>.stflb
```

For application code that needs a stable executable API today, use the Rust SDK and expose your own host-language boundary around it.

## Compiler crate

The compiler implementation lives in the `stoffel` repository under `crates/stoffel-lang`. Lower-level FFI work should validate against the current crate source before documenting C ABI details, because the app-facing docs should not promise unsupported package APIs.

## Source shape

Use current StoffelLang syntax when compiling from any host language:

```stoffel theme={null}
def main() -> int64:
  var private_score: secret int64 = ClientStore.take_share(0, 0)
  var adjusted = private_score + 25
  return adjusted.reveal()
```

## See also

* [Compilation](./compilation)
* [Rust SDK API](../rust-sdk/api)
* [CLI Overview](../cli/overview)
