Commands
jaw rpc call
Execute any EIP-1193 RPC method through the browser bridge or local session key.
jaw rpc call <method> [params]Arguments
| Argument | Required | Description |
|---|---|---|
method | Yes | RPC method name (e.g., wallet_connect, wallet_sendCalls) |
params | No | JSON string with method parameters |
Flags
| Flag | Short | Default | Description |
|---|---|---|---|
--output | -o | human | Output format: json or human |
--chain | -c | config | Chain ID (e.g., 8453 for Base) |
--api-key | config | JAW API key | |
--timeout | -t | 120 | Request timeout in seconds |
--yes | -y | false | Skip confirmations |
--quiet | -q | false | Suppress non-essential output |
--session | -s | false | Use local session key (Auto Mode) |
Examples
Connect wallet:jaw rpc call wallet_connectjaw rpc call eth_accountsjaw rpc call wallet_sendCalls '{"calls":[{"to":"0xRecipient","value":"0x2386F26FC10000"}]}' -c 8453jaw rpc call wallet_sendCalls '{"calls":[{"to":"0xTokenAddress","data":"0xa9059cbb000000000000000000000000RECIPIENT0000000000000000000000000000000000000000000000000000000000000000000000000000000DE0B6B3A7640000"}]}' -c 8453jaw rpc call personal_sign '["0x48656c6c6f","0xYourAddress"]'jaw rpc call wallet_grantPermissions '{"permissions":[{"type":"call","data":{"to":"0xContractAddress"}},{"type":"spend","data":{"token":"0xUSDCAddress","limit":"1000000","period":"daily"}}],"expiry":1735689600}'jaw rpc call wallet_getCallsStatus '["0xBundleId"]'jaw rpc call eth_accounts -o json -yjaw 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.comjaw 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.jsonjaw config show
Display current configuration. The API key is redacted in output.
jaw config show
jaw config show -o jsonjaw 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
| Flag | Description |
|---|---|
--permissions | Override config.permissions (inline JSON or file path) |
--expiry | Override config.sessionExpiry (days, default: 7) |
--yes / -y | Skip overwrite confirmation |
Example
jaw session setup --chain 84532
jaw session setup --chain 84532 --expiry 14 --yesjaw session status
Show current session status.
jaw session status
jaw session status -o jsonjaw session revoke
Revoke the on-chain permission and delete local session files. Opens browser for passkey approval (skipped if session is expired).
jaw session revokejaw disconnect
Close the relay session and browser tab. Cleans up the session stored in ~/.jaw/relay.json.
jaw disconnectjaw mcp
Start the MCP server on stdio for AI agent integration. See the MCP Server page for setup details.
jaw mcpjaw version
Display the CLI version.
jaw version
jaw -v