Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

Commands

jaw rpc call

Execute any EIP-1193 RPC method through the browser bridge or local session key.

jaw rpc call <method> [params]

Arguments

ArgumentRequiredDescription
methodYesRPC method name (e.g., wallet_connect, wallet_sendCalls)
paramsNoJSON string with method parameters

Flags

FlagShortDefaultDescription
--output-ohumanOutput format: json or human
--chain-cconfigChain ID (e.g., 8453 for Base)
--api-keyconfigJAW API key
--timeout-t120Request timeout in seconds
--yes-yfalseSkip confirmations
--quiet-qfalseSuppress non-essential output
--session-sfalseUse local session key (Auto Mode)

Examples

Connect wallet:
jaw rpc call wallet_connect
Get accounts:
jaw rpc call eth_accounts
Send ETH (0.01 ETH on Base):
jaw rpc call wallet_sendCalls '{"calls":[{"to":"0xRecipient","value":"0x2386F26FC10000"}]}' -c 8453
Send ERC-20 tokens:
jaw rpc call wallet_sendCalls '{"calls":[{"to":"0xTokenAddress","data":"0xa9059cbb000000000000000000000000RECIPIENT0000000000000000000000000000000000000000000000000000000000000000000000000000000DE0B6B3A7640000"}]}' -c 8453
Sign a message:
jaw rpc call personal_sign '["0x48656c6c6f","0xYourAddress"]'
Grant permissions:
jaw rpc call wallet_grantPermissions '{"permissions":[{"type":"call","data":{"to":"0xContractAddress"}},{"type":"spend","data":{"token":"0xUSDCAddress","limit":"1000000","period":"daily"}}],"expiry":1735689600}'
Check transaction status:
jaw rpc call wallet_getCallsStatus '["0xBundleId"]'
JSON output (for scripts and AI agents):
jaw rpc call eth_accounts -o json -y

jaw config set

Set one or more configuration values.

jaw config set [key=value ...]

Valid keys: apiKey, defaultChain, keysUrl, ens, relayUrl, sessionExpiry

Examples

# Set API key and chain
jaw config set apiKey=YOUR_KEY defaultChain=8453
 
# Enable ENS resolution
jaw config set ens=myapp.eth
 
# Set session expiry
jaw config set sessionExpiry=14
 
# Use a self-hosted relay
jaw config set relayUrl=wss://relay.mycompany.com

jaw config write

Write a full config from inline JSON or a file path.

jaw config write <json-or-filepath>

If the input starts with {, it's parsed as inline JSON. Otherwise, it's read as a file path.

Examples

# Inline JSON
jaw config write '{"apiKey":"...","defaultChain":84532,"paymasters":{...}}'
 
# From file
jaw config write ./my-config.json

jaw config show

Display current configuration. The API key is redacted in output.

jaw config show
jaw config show -o json

jaw session setup

Generate a session key and grant scoped on-chain permissions. Opens the browser once for passkey approval. See Auto Mode for details.

jaw session setup [--chain <id>] [--permissions <json|file>] [--expiry <days>]

Flags

FlagDescription
--permissionsOverride config.permissions (inline JSON or file path)
--expiryOverride config.sessionExpiry (days, default: 7)
--yes / -ySkip overwrite confirmation

Example

jaw session setup --chain 84532
jaw session setup --chain 84532 --expiry 14 --yes

jaw session status

Show current session status.

jaw session status
jaw session status -o json

jaw session revoke

Revoke the on-chain permission and delete local session files. Opens browser for passkey approval (skipped if session is expired).

jaw session revoke

jaw disconnect

Close the relay session and browser tab. Cleans up the session stored in ~/.jaw/relay.json.

jaw disconnect

jaw mcp

Start the MCP server on stdio for AI agent integration. See the MCP Server page for setup details.

jaw mcp

jaw version

Display the CLI version.

jaw version
jaw -v