fibx auth setup presents the choice:
Keeping your own wallet and having FibX act unattended needs ERC-7715, which
wallets do not yet expose over WalletConnect.
fibx auth setup explains the
closest options.
Choosing a path
- Connect a wallet I already have — runs
auth connect. - Create a wallet FibX can use on its own — runs the Privy email flow.
- Import a private key onto this machine — runs
auth import. - None of these — I want my own wallet AND unattended operation — explains the ERC-7715 gap and the nearest alternatives.
Your own wallet, over WalletConnect
wc: URI, then waits. Scan the QR with your
wallet app (or paste the URI into it) and approve the pairing. From then on
the wallet prompts for every transaction: a trade or send blocks until
you approve it on your phone, and a rejection there is normal — nothing is
sent. Nothing is signed on the machine running FibX.
--json prints { "uri": "wc:…" } instead of the QR, for a host that renders
its own. A shared WalletConnect project id ships in the package; set
FIBX_WC_PROJECT_ID to your own from cloud.reown.com
if pairing starts failing on quota.
A Privy server wallet, via email OTP
An imported private key
The local signing policy
A JSON file the user owns, stored beside the session aspolicy.json in the
FibX config directory (~/.config/fibx-nodejs/ on Linux,
~/Library/Preferences/fibx-nodejs/ on macOS), written with mode 0600. FibX
evaluates it before every signature on all three paths — in a wrapper
around the local-key and Privy signers, and in the WalletConnect provider
before a request reaches the relay.
- Absent — no file. Everything is permitted.
- Active — the rules apply. A transaction outside them is refused before
any signature is requested, with
POLICY_BLOCKEDand the rule and limit named. - Unreadable — a file exists but cannot be parsed. Everything is refused until it is fixed or cleared. This is deliberately distinct from absent; a corrupt policy must not fail open.
The product argument is that this file is the user’s, on the user’s machine,
in front of every signing path — including the one where a misbehaving model
is the threat it exists for. It is a file, so it is worth nothing against
something that can already write to the user’s disk. Over MCP the same file
is read and edited by
get_policy, set_policy_rule and
clear_policy_rule, and the FibX app shows it as a collapsible section.Session management
session.json beside the policy. Set FIBX_SESSION_SECRET
(64-char hex) to use a custom encryption key instead of the per-machine one,
for CI or Docker.