Skip to main content

The Overcast CLI

@overcast-xyz/cli packages the entire SDK into one binary: overcast. It covers the full protocol surface — escrow account management, offer/option discovery, the interactive RFQ flow, the option lifecycle, and a built-in RFQ quoter — and anything it doesn't ask for on the command line it prompts for interactively.

$ overcast --help
$ overcast deposit --token usdc --amount 1.5
$ overcast quote --spread 0.02

Install​

Install the CLI globally from npm:

npm install -g @overcast-xyz/cli
overcast --help

Or run it without installing:

npx @overcast-xyz/cli --help

Configuration​

There are no config files. Every setting resolves flag → environment variable → the targeted deployment's default:

SettingFlagEnv varDefault
API key--api-keyOVERCAST_API_KEYcurrently required
Deployment--chainOVERCAST_CHAINrequired, unless --protocol is given
Protocol--protocolOVERCAST_PROTOCOLrequired, unless --chain is given
Wallet-k, --keypairOVERCAST_KEYPAIRrequired for signing
RPC--rpcOVERCAST_RPC_URLthe deployment's own; required with --protocol
Backend--backendOVERCAST_BACKEND_URLhttps://api.overcast.xyz
Transport--transportOVERCAST_TRANSPORTnegotiated by socket.io
Chain id--chain-idOVERCAST_CHAIN_IDthe deployment's own; required with --protocol evm
Program id--program-idOVERCAST_PROGRAM_IDthe deployment's own; required with --protocol svm
Domain--domainOVERCAST_DOMAINpreset's value with --chain; required with --protocol
KMS key--kms-keyOVERCAST_KMS_KEY_VERSIONnone — signs with the keypair
KMS provider--kms-providerOVERCAST_KMS_PROVIDERgcp
Owner--ownerOVERCAST_OWNERyour wallet (required with --kms-key)

These are global options — they work on every subcommand (common subset above; overcast --help is the full list). overcast --help is the full list: every flag is generated from the config schema of the package that owns the field behind it, so the two cannot drift.

Choosing a deployment​

Exactly one of --chain / --protocol is required. --chain names a deployment the CLI already knows, and carries its RPC and addresses with it:

overcast --chain anvil assets # local EVM node
overcast --chain solana assets # the Solana preset

--protocol covers anything else — it selects the client package, and the deployment's own flags then become mandatory (including --domain):

overcast --protocol evm --rpc <url> --chain-id <id> --domain <n> assets
overcast --protocol svm --rpc <url> --program-id <address> --domain <n> assets

Every other example on this page assumes one of these is set (via the flag or OVERCAST_CHAIN / OVERCAST_PROTOCOL) and omits it for brevity.

The keypair value may be a file path, a raw JSON byte array, base58 (Solana), or 0x-hex (EVM):

export OVERCAST_KEYPAIR=~/.config/solana/id.json
export OVERCAST_API_KEY=<your-api-key>
export OVERCAST_RPC_URL=http://127.0.0.1:8899
export OVERCAST_BACKEND_URL=http://127.0.0.1:3000

Read-only commands (balance --user, assets, offer list/show, option list/show) work without a wallet.

Getting an API key​

Access is granted per app, so the first key comes from us:

  1. Request a login from the Overcast team (info@overcast.xyz). We create your login for the Overcast web app.
  2. Sign in to the web app with the credentials you receive.
  3. Create an API key under Profile → API keys
  4. Export it as OVERCAST_API_KEY (above), or pass --api-key per command.

Further keys — a second environment, a rotation — you create yourself in the same place.

A five-minute tour​

# 1. What can I trade?
overcast assets

# 2. Fund my escrow account (premiums and collateral are paid from the escrow account).
# Deposit/withdraw --amount is whole tokens unless --native.
overcast deposit --token <cash-token> --amount 10
overcast balance --token <cash-token>

# 3. Request quotes for an option, interactively — pick strategy, strike,
# expiry; watch quotes stream in; accept one; the option mints on-chain.
overcast rfq create

# 4. ...or be the one quoting: run an RFQ quoter until Ctrl-C.
overcast quote

# 5. Later: exercise (taker) or redeem (maker), then withdraw.
overcast exercise --id <option-id>
overcast redeem --id <option-id>
overcast withdraw --token <cash-token> --amount 5

Any flag you omit — a token, an amount, an offer ID — the CLI asks for with an interactive prompt, so overcast deposit with no flags at all is valid.

Continue with the command reference or the RFQ quoting guide.

⚠️ Pre-release. The CLI is under heavy development. Expect breaking changes; overcast <command> --help is always the authoritative reference.