The Overcast CLI
@overcast-xyz/cli packages the entire SDK into one binary: overcast. It covers
the full protocol surface — vault 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:
| Setting | Flag | Env var | Default |
|---|---|---|---|
| API key | --api-key | OVERCAST_API_KEY | currently required |
| Deployment | --chain | OVERCAST_CHAIN | required, unless --protocol is given |
| Protocol | --protocol | OVERCAST_PROTOCOL | required, unless --chain is given |
| Wallet | -k, --keypair | OVERCAST_KEYPAIR | required for signing |
| RPC | --rpc | OVERCAST_RPC_URL | the deployment's own; required with --protocol |
| Backend | --backend | OVERCAST_BACKEND_URL | https://api.sandbox.overcast.xyz |
| Transport | --transport | OVERCAST_TRANSPORT | negotiated by socket.io |
| Chain id | --chain-id | OVERCAST_CHAIN_ID | the deployment's own; required with --protocol evm |
| Program id | --program-id | OVERCAST_PROGRAM_ID | the deployment's own; required with --protocol svm |
| Domain | --domain | OVERCAST_DOMAIN | read from the deployment |
| KMS key | --kms-key | OVERCAST_KMS_KEY_VERSION | none — signs with the keypair |
These are global options — they work on every subcommand. 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-sandbox assets # the Solana sandbox
--protocol covers anything else — it selects the client package, and the
deployment's own flags then become mandatory:
overcast --protocol evm --rpc <url> --chain-id <id> assets
overcast --protocol svm --rpc <url> --program-id <address> 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 path to a Solana id.json, a raw JSON byte
array, or a base58 secret key:
export OVERCAST_KEYPAIR=~/.config/solana/id.json
export OVERCAST_API_KEY=<your-api-key>
export SOLANA_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:
- Request a login from the Overcast team (info@overcast.xyz). We create your login for the Overcast web app.
- Sign in to the web app with the credentials you receive.
- Create an API key under Profile → API keys
- Export it as
OVERCAST_API_KEY(above), or pass--api-keyper 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 vault (premiums and collateral are paid from the vault).
overcast deposit --token <cash-token> --amount 1000000000
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 -c <collateral-offer-id> -s <settlement-offer-id>
overcast redeem -c <collateral-offer-id> -s <settlement-offer-id>
overcast withdraw --token <cash-token> --amount 500000000
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: the inline-keypair signer is temporary and RFQ offer signatures are currently stubbed placeholders. Expect breaking changes;
overcast <command> --helpis always the authoritative reference.