LaunaDocs

CLI reference

Full launa command reference

The @launa/cli package automates seller API operations from shell scripts and CI. Same routes as the TypeScript SDK. Agent quick start: Agent guide.

Install and run

npm install -g @launa/cli
launa apis list --json

Or run without installing:

npx @launa/cli apis list --json

From source

git clone https://github.com/AxLabs/launa-sdks.git
cd launa-sdks && pnpm install
pnpm --filter @launa/cli build
node tools/cli/dist/index.js apis list --json

Global flags

  • --json — JSON output on any command
  • --sandbox — target Sandbox / Test mode (development): fork USDC accepts and X-Launa-Environment: development. Same as LAUNA_ENVIRONMENT=development or LAUNA_SANDBOX=1.

Full Sandbox guide (RPC, wallet private key, SDK/MCP/API): Sandbox.

Environment

VariablePurpose
LAUNA_BASE_URLSeller API base URL (default https://api.launa.io)
LAUNA_API_KEYScoped API key (launa_live_... or launa_sandbox_...)
LAUNA_JWTAlternative to API key; required for keys and sandbox-wallet
LAUNA_ENVIRONMENTdevelopment for Sandbox
LAUNA_SANDBOX1 / true — alias for development
LAUNA_EVM_PRIVATE_KEYBuyer signing for pay url (EVM)
HEDERA_ACCOUNT_IDBuyer signing for pay url (Hedera)
HEDERA_PRIVATE_KEYBuyer signing for pay url (Hedera)
HEDERA_NETWORKOptional Hedera network (hedera:mainnet)

Environment pairing (API keys)

API key environment is fixed by prefix — LAUNA_SANDBOX and --sandbox do not retarget an API key to a different control plane. Pair key and base URL:

Key prefixLAUNA_BASE_URL
launa_sandbox_...https://api.staging.launa.io
launa_live_...https://api.launa.io (default)

Wrong pairing → 401 {"error":"invalid token"} (not insufficient scope). With LAUNA_JWT, use --sandbox or X-Launa-Environment: development on either host instead.

Command reference

apis

launa apis list [--json]
launa apis create --name NAME --slug SLUG --upstream URL [--pay-to 0x...] [--webhook-url URL] [--webhook-secret SECRET] [--discovery-guidance TEXT] [--discovery-contact-email EMAIL] [--openapi-version VER] [--json]
launa apis get --id ID [--json]
launa apis discovery --id ID [--json]
launa apis update --id ID [--name NAME] [--slug SLUG] [--upstream URL] [--pay-to 0x...] [--webhook-url URL] [--webhook-secret SECRET] [--clear-webhook] [--discovery-guidance TEXT] [--discovery-contact-email EMAIL] [--openapi-version VER] [--json]
launa apis webhook-deliveries --id ID [--json]
launa apis delete --id ID [--json]
launa apis slug-check --slug SLUG [--exclude-api-id ID] [--json]
launa apis probe-upstream --api-id ID [--endpoint-id EP] [--path PATH] [--json]
launa apis cors-list --api-id ID [--json]
launa apis cors-set --api-id ID --origins ORIGIN[,ORIGIN...] [--json]
launa apis cors-add --api-id ID --origin ORIGIN [--json]
launa apis cors-remove --api-id ID --origin ORIGIN [--json]

endpoints

launa endpoints list --api-id ID [--json]
launa endpoints create --api-id ID --path "/v1/*" [--method GET] [--price-usdc 0.10] [--scheme exact|batch-settlement] [--network CAIP2] [--asset ADDR] [--decimals N] [--ttl SECONDS] [--request-schema JSON] [--response-schema JSON] [--json]
launa endpoints update --api-id ID --endpoint-id EP [--enabled true|false] [--network CAIP2 --asset ADDR --price 0.10] [--accepts JSON] [--request-schema JSON] [--response-schema JSON] [--clear-schemas] [--json]
launa endpoints delete --api-id ID --endpoint-id EP [--json]

discovery

launa discovery urls --api-id ID [--json]
launa discovery check --url "https://myapi.example.com" [--json]

Validate the gateway origin with AgentCash:

npx -y @agentcash/discovery@latest check "https://myapi.example.com/"
npx -y @agentcash/discovery@latest discover "https://myapi.example.com/"

See API discovery.

domains

launa domains suggest --apex example.com [--prefix x402] [--json]
launa domains add --api-id ID --hostname HOST [--json]
launa domains list --api-id ID [--json]
launa domains verify --api-id ID --domain-id ID [--json]
launa domains delete --api-id ID --domain-id ID [--json]

keys

launa keys list [--json]
launa keys create --name NAME --scopes apis:read,apis:write [--json]
launa keys revoke --id ID [--json]

keys commands require LAUNA_JWT.

sandbox-wallet

launa --sandbox sandbox-wallet get [--wait|--no-wait] [--json]
launa --sandbox sandbox-wallet reset [--wait|--no-wait] [--json]

Requires LAUNA_JWT and --sandbox (or development env). Returns a funded fork wallet; --json includes private_key for LAUNA_EVM_PRIVATE_KEY. See Sandbox.

auth

launa auth login --email EMAIL --password PASS [--json]
launa auth me [--json]

openapi

launa openapi parse [--file PATH] [--spec YAML_OR_JSON] [--json]
launa openapi import --api-id ID [--file PATH] [--spec YAML_OR_JSON] [--price-usdc 0.10] [--json]

stats / settlements / batch

launa stats overview [--days 30] [--json]
launa stats api --api-id ID [--days 30] [--json]
launa settlements list --api-id ID [--json]
launa settlements batch --api-id ID [--json]
launa settlements history [--days 30] [--api-id ID] [--limit N] [--offset N] [--json]
launa settlements export --format csv|json [--days 30] [--api-id ID] [--json]
launa batch overview --api-id ID [--json]
launa batch settings --api-id ID --claim-interval-secs N --settle-interval-secs N --refund-interval-secs N [--json]

billing / income / facilitator

launa billing overview [--json]
launa billing packages [--json]
launa billing invoices [--json]
launa income summary [--json]
launa income ledger [--limit N] [--offset N] [--api-id ID] [--network NET] [--json]
launa income payout-requests [--json]
launa facilitator stats [--days 30] [--json]
launa facilitator events [--days 30] [--limit N] [--offset N] [--json]

config / networks / scopes

launa config platform [--json]
launa config billing [--json]
launa networks supported [--json]
launa scopes presets [--json]
launa scopes list [--json]
launa exchange-rates list [--quote usd] [--date YYYY-MM-DD] [--json]
launa exchange-rates supported [--json]
launa exchange-rates lookup --network NET --asset ADDR [--quote USD] [--date YYYY-MM-DD] [--json]

inspect / pay (buyer)

launa inspect url --url GATEWAY_URL [--method GET] [--json]
launa pay url --url GATEWAY_URL [--method GET] [--json]

inspect url fetches a gateway hostname and parses HTTP 402 payment requirements (no wallet). pay url requires LAUNA_EVM_PRIVATE_KEY and/or Hedera credentials.

Exit codes

  • 0 — success
  • 1 — API error
  • 2 — usage / validation error

On this page