GoFin documentation

# A small start. A lot of possibilities.

Install GoFin. Connect an account. Give your agent the tools, on your terms.

<a name="installation"></a>

<a name="installation-title"></a>

## 1. Install GoFin

Financial execution requires macOS 13 or newer on Apple Silicon or Intel, administrator access for installation, and working Touch ID. The prebuilt runtime needs no Rust, Swift, Node.js or npm.

Run this command in your own macOS Terminal to install the latest completed GoFin beta:

```sh
curl -fsSL https://limechain.github.io/gofin-cli/install.sh | sh
```

**Beta releases:** installation requires a completed GoFin beta with downloadable assets. If none is available yet, [build from source](#source-build).

The hosted installer selects one completed GoFin beta and downloads the matching bundle for your Mac. It verifies the checksum manifest and starts protected setup automatically. No version argument is needed.

The curl command is for initial installation. Already have GoFin? [Use the update instructions](#updates) to keep your saved connections, credentials and financial history.

<a name="version-selection"></a>

### Choose a specific version

To install an exact published GoFin version instead, use the template below. Replace `vX.Y.Z` with its actual release tag, including any beta suffix, and check that the [release](https://github.com/LimeChain/gofin-cli/releases) includes `install.sh`, the bundle for your Mac and `SHA256SUMS`. Historical Fin bundles are not GoFin releases.

```sh
GOFIN_VERSION=vX.Y.Z
curl -fsSL --proto '=https' --tlsv1.2 \
  "https://github.com/LimeChain/gofin-cli/releases/download/${GOFIN_VERSION}/install.sh" \
  | sh -s -- --version "$GOFIN_VERSION"
```

<a name="source-build"></a>

### Build from source

For a source build on macOS, first install Git, Make and Python 3, plus Rust via rustup and Apple’s Command Line Tools and Swift compiler. The checkout’s [rust-toolchain.toml](https://github.com/LimeChain/gofin-cli/blob/main/rust-toolchain.toml) selects the pinned Rust toolchain. These build tools are not required for a prebuilt release.

In your own macOS Terminal, clone the repository and build a local debug bundle:

```sh
git clone https://github.com/LimeChain/gofin-cli.git
cd gofin-cli
make bundle
```

Review the resulting bundle and its checksum manifest before setup. From the same checkout, run:

```sh
make setup
```

`make setup` builds a debug bundle and runs the real protected installer. Run Make as your normal user, without `sudo`; GoFin asks for administrator authentication when needed. This installs GoFin on your Mac; it is not the isolated synthetic development environment.

For compatible local source changes, use `make update` from the reviewed checkout in your own Terminal. For published beta releases, see [Update GoFin](#updates). Both preserve saved connections and financial history. See the [usage reference](https://raw.githubusercontent.com/LimeChain/gofin-cli/main/docs/usage.md#installation) and [bundle guide](https://raw.githubusercontent.com/LimeChain/gofin-cli/main/packaging/README.md#local-make-workflow).

<a name="setup"></a>

### What setup asks you to approve

Both installation routes run protected setup in your own macOS Terminal. Your Mac login password permits installation. A separate Touch ID prompt approves the initial configuration and your selected financial limits.

- **Movement limit:** gross movement including maximum execution costs.
- **Rolling 24-hour allocation:** gross movement, maximum execution costs and additional borrowing across accounts and commands.

Pressing Enter keeps $100 for each limit; `0` means no personal limit for that field. These choices do not bypass the approval rules below.

Setup installs and starts the protected local broker, verifies that it responds, registers GoFin on PATH and enables completion for your login shell. Setup moves no funds. You can select the optional agent skill at the end.

After setup, open a new Terminal and check the installation before connecting an account:

```sh
gofin doctor
```

<a name="connections"></a>

<a name="connections-title"></a>

## 2. Connect an account

Open a new Terminal after setup and run:

```sh
gofin connections add
```

GoFin asks for connection details, then requests credentials privately. Enter API keys and private keys only in GoFin’s protected prompt, never in chat.

Available operations depend on the provider, network and permissions you enable.

<a name="agent"></a>

<a name="agent-title"></a>

## 3. Head back to your agent

Select the optional GoFin skill for Codex or Claude Code during setup. To install it later, run the command for your agent as your normal user, without `sudo`:

For Codex:

```sh
gofin skill install --agent codex
```

For Claude Code:

```sh
gofin skill install --agent claude
```

Restart your agent if its skill list does not refresh, and make sure it can find `gofin` on PATH. Installing the skill does not authorize financial actions. See the [skill guide](https://raw.githubusercontent.com/LimeChain/gofin-cli/main/docs/companion-skill.md#install-and-inspect) for inspection and maintenance.

Start by exploring your connected accounts. Your agent can discover the commands available in your installed version, inspect balances and markets, and explain what it can do next.

GoFin supports transfers, swaps, lending, borrowing and plans across supported integrations. Reads and previews need no financial approval.

<a name="updates"></a>

<a name="updates-title"></a>

## Keep GoFin up to date

GoFin can let you know in your Terminal when a newer completed beta is available. It checks in the background at most once every 24 hours and never installs updates automatically. Notices appear only in the installed CLI’s interactive Terminal output, not in JSON or redirected output.

To update an existing protected installation, run this yourself in your own macOS Terminal:

```sh
gofin update
```

The updater selects the latest completed beta, verifies its release identity and checksums, and replaces the runtime. It preserves your connections, credentials, financial limits, history and pending operation records. It does not run setup again, replay submitted operations or approve financial actions.

**Older version?** If your installed GoFin does not recognize `gofin update`, use `make update` once from an updated, reviewed source checkout in your own Terminal. Keep your existing installation; the curl installer refuses to overwrite it.

Updates require a matching journal schema; incompatible versions are refused. If an update reports a failure, follow its recovery instructions before retrying and keep any retained backup until the new runtime is verified. See the [update guide](https://raw.githubusercontent.com/LimeChain/gofin-cli/main/docs/usage.md#updating-gofin) and [recovery details](https://raw.githubusercontent.com/LimeChain/gofin-cli/main/docs/releases.md#runtime-updates-and-recovery).

To turn off automatic checks and notices, set `GOFIN_NO_UPDATE_CHECK=1` in your environment. You can still run `gofin update` explicitly. Existing, unchanged GoFin-managed agent skills can be refreshed during an update; edited copies are preserved and reported.

<a name="boundaries"></a>

<a name="boundaries-title"></a>

## Your limits. Your approval.

The protected broker keeps credential values away from your agent and checks authority independently before dispatching financial actions.

- **Movement limit:** a limit on gross movement including maximum execution costs.
- **Rolling 24-hour allocation:** a shared budget for gross movement, maximum execution costs and additional borrowing.
- **Human approval:** standalone financial writes require fresh Touch ID. Supported bounded approvals and plans cover only the scope you approved.

Your agent can prepare an action. GoFin still enforces the boundaries.

<a name="go-deeper"></a>

<a name="go-deeper-title"></a>

## Curious about the details?

Ask your agent to audit how GoFin protects your secrets and enforces your limits and approvals. The project’s documentation covers the design and implementation.

- [Full documentation ↗](https://github.com/LimeChain/gofin-cli/tree/main/docs)
- [Security design ↗](https://raw.githubusercontent.com/LimeChain/gofin-cli/main/docs/security.md)
- [GitHub ↗](https://github.com/LimeChain/gofin-cli)
