FurlPay Docs
Open App
  • Services & Availability
  • Quickstart
  • For AI Agents
  • FurlPay CLInew
  • Installationnew
  • CLI Quickstartnew
  • MCP Server & Agent Securitynew
  • Tradingnew
  • Escrow & Verificationnew
  • Monorepo
  • API Routes
  • Authenticationupdated
  • Webhook Eventsupdated
  • Error Codesupdated
  • Rate Limitsnew
  • Configuration & Setupnew
  • Merchant Paymentsnew
  • Payroll & Payoutsnew
  • Agentic Payments (x402)updated
  • Agent Trust & Mandates (TAP)updated
  • CCTP Cross-Chainupdated
  • LI.FI Swapsupdated
  • FurlPay Travels (Travel MCP)updated
  • Solana Actions & Blinks
  • Settlement Workspacenew
  • FURL Tokennew
  • Claude Connectorupdated
  • AI Assistants
  • Circlenew
  • Ramp Providersnew
  • Telegram Mini Appnew
  • Stripe Crypto
  • Persona KYC
  • Regulatory status
  • Screening & Casesnew
  • Security Postureupdated
  • Signing & WebAuthnupdated
  • Help Center
  • Getting Started
  • KYC Verification
  • Passkeys & Biometrics
  • Privacy & Data Protection
  • Transaction Statuses
  • Gasless Transfers
  • Deposits & Withdrawals
  • Managing Virtual Cards
  • Freezing & Unfreezing Cards
  • Declined Transactions
  • SDK & API Support
  • x402 Monetization Basics
  • Booking Travel
  • Travel Refunds & Cancellations

Resources

  • Changelog
  • System Status
  • OpenAPI Spec
  • Community
  • GitHub
Docs/CLI/FurlPay CLI

CLI

FurlPay CLI

@furlpay/cli is the terminal execution layer for FurlPay: multi-chain wallet connectivity, Hyperliquid perpetuals, Stellar tokenized-equity tooling, x402 micropayments, escrow and an MCP server for AI agents. Every execution surface is labeled at runtime — this documentation carries the same labels.

Read the status label before the command

The CLI is honest by construction: surfaces that move real value say LIVE (SIGNED) and fail closed without credentials; surfaces that only run locally say SIMULATED or LOCAL LEDGER in their output. The matrix below is the web documentation's copy of that registry — when the CLI changes, this registry changes with it or the docs fail CI.

Install

bash
npm install -g @furlpay/cli
furlpay --version

Requires Node.js ≥ 22.19.0. All installation methods — including the macOS/Linux and Windows scripts, npx, other package managers and offline installs from the signed release tarball — are documented on the installation page.

Capability matrix

Statuses are transcribed from the CLI's honesty matrix for release 0.4.0 and cross-checked against the release source. Do not treat a simulated surface as a dry run of a live one: it does not touch the network.

SurfaceCommandStatusWhat that means
Hyperliquid market datafurlpay marketLIVEReal /info responses from Hyperliquid validators: mark price, funding, open interest, L2 order book, depth bands, OFI, micro-price.
Hyperliquid perpetual executionfurlpay hyperliquid tradeLIVE (SIGNED)Real EIP-712 Phantom-Agent L1 orders. Requires HYPERLIQUID_PRIVATE_KEY (or ETH_PRIVATE_KEY) from the environment — never argv — and fails closed without one. Pre-trade risk engine enforced.
HLP vault statisticsfurlpay earn hlp statsLIVEEquity, APY and all-time PnL derived from the live vaultDetails response. Fields the public API does not report (share price, position count) are shown as unavailable — never fabricated.
HLP deposit / withdrawfurlpay earn hlp depositLIVE (SIGNED)Real signed L1 vaultTransfer actions; fail closed without a configured signer. Deposits and withdrawals carry a 4-day lockup.
Stellar transaction verificationfurlpay tx verify <64-hex-hash>LIVE (LOOKUP)GET /transactions/{hash} against a real Horizon instance. Distinguishes CONFIRMED_SUCCESS, CONFIRMED_FAILED, NOT_FOUND, INVALID_HASH, UNAVAILABLE. It is an API lookup of finalized history — never claimed as cryptographic re-verification, and a 404 is explicitly not proof a transaction never existed.
Testnet faucetfurlpay faucet --address <G...> [--network testnet|futurenet]LIVEReal Friendbot funding on testnet/futurenet only; mainnet is refused outright — real XLM cannot be fabricated. FUNDED requires the Friendbot's own success response plus an independent Horizon balance check.
Configuration validationfurlpay config validateLOCALStructural checks on the local config: canonical network passphrases, https endpoints, slippage/risk bounds, agent-trust cap consistency (single-tx cap may not exceed the daily cap). No network calls; non-zero exit on any error.
Diagnosticsfurlpay doctor [--output json]LIVEReal install-method, registry and connectivity checks. --output json is machine-readable; exits non-zero when the API connectivity check fails so scripts can rely on it.
Escrow settlementfurlpay escrow createLOCAL LEDGERA deterministic state machine (CREATED → FUNDED → PROOF_SUBMITTED → RELEASED, with DISPUTED and refund paths) persisted at ~/.furlpay/escrows.json (atomic writes, 0600 on POSIX, symlink refusal). No on-chain escrow contract is deployed and no funds move except the transactions you reference via --tx-hash — which are never fabricated. Unauthorized actors, malformed proof hashes and tx-hash-less fund/release attempts fail closed.
x402 settlementfurlpay x402 paySIMULATEDNo live TigerBeetle facilitator in this build. Responses are explicitly labeled SIMULATED / LOCAL_SIMULATION — an HTTP 402 challenge resolved here does not move real value.
Stellar SDEX order flow · Soroban swapsfurlpay trade limitSIMULATEDDeterministic local simulation of Horizon/Soroban submission — no network transactions are broadcast in this build. Regulated-asset trade results carry sep8Status: not_performed; compliance is never claimed.
SEP-8 issuer authorizationfurlpay rwa kycNOT IMPLEMENTEDNOT implemented in this build: prints what must be verified with the issuer and exits non-zero. It never reports an approval, and the registry carries no hardcoded APY or invented approval-server URLs.
FOBXX treasury sweepMCP furlpay_sweep_treasury --target FOBXXSIMULATEDNo Stellar Benji contract call in this build; shares in the response are sample data, not a deposit record, and no APY is reported. The HLP target of the same tool is real and signed.
MCP balance (unauthenticated)MCP furlpay_balanceSIMULATEDSample fixture balances flagged simulated: true in unauthenticated mode.

Where to go next

  • Installation — npm, install scripts, offline tarball, updates and rollback.
  • Quickstart — a first session end to end, on testnet where it matters.
  • MCP server & agent security — connect Claude, Cursor or any MCP client; delegated agent keys and spend policies.
  • Trading — live Hyperliquid execution vs simulated Stellar order flow, risk controls and the kill switch.
  • Escrow & verification — the local escrow ledger, honest transaction verification, the testnet faucet and diagnostics.

CLI vs the hosted FurlPay API

The CLI is a local tool: Hyperliquid execution and market data run against those networks directly from your machine, and its Stellar order flow is a local simulation. The hosted FurlPay API (payment links, checkout, rails) is a separate product surface with its own availability registry — a capability existing in the CLI does not mean the hosted API offers it, and vice versa.

Never place private keys in command-line arguments

Execution surfaces read signers from the environment (HYPERLIQUID_PRIVATE_KEY or ETH_PRIVATE_KEY) and wallet imports from stdin only. No FurlPay surface accepts a key as an argument, and no documentation example contains a real secret. See the trading guide for the exact fail-closed behavior.
Did this page help?
Edit this page on GitHub

← Previous

For AI Agents

Next →

Installation