Skills gator-cli
Use when you need to operate the @metamask/gator-cli to initialize profiles, upgrade EOA to EIP-7702, grant, redeem, and revoke ERC-7710 delegations, or inspect balances and delegations. Covers commands, required flags, grant scopes, redeem action types, configuration locations, and common usage flows.
git clone https://github.com/openclaw/skills
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/ayushbherwani1998/gator-cli" ~/.claude/skills/openclaw-skills-gator-cli && rm -rf "$T"
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/ayushbherwani1998/gator-cli" ~/.openclaw/skills/openclaw-skills-gator-cli && rm -rf "$T"
skills/ayushbherwani1998/gator-cli/SKILL.mdQuick Reference
Use this skill to run the gator CLI from the repo and to choose the correct command/flags for delegation workflows.
Installation
npm install -g @metamask/gator-cli
CLI Overview
- Binary name:
gator - Default profile:
default - Config path:
(or~/.gator-cli/permissions.json
)~/.gator-cli/profiles/<profile-name>.json - Delegations local cache:
when storage not configured~/.gator-cli/delegations/<profile-name>.json
Configuration Requirements
Edit the profile config after
gator init:
{ "delegationStorage": { "apiKey": "your-api-key", "apiKeyId": "your-api-key-id" }, "rpcUrl": "https://your-rpc-url.com" }
is optional; when missing, delegations are stored locally.delegationStorage
is required for on-chain actions.rpcUrl
Commands
init
Generate a private key and save config. Errors if the profile already exists.
gator init [--chain <chain>] [--profile <profile-name>]
values:--chain
(default),base
,baseSepoliasepolia
default:--profiledefault- Prints: address, chain, and config file path.
create
Upgrade an EOA to an EIP-7702 smart account. Uses the chain in your profile config.
gator create [--profile <profile-name>]- Requires the account to be funded with native token first.
- Prints: address, chain, and the upgrade transaction hash.
show
Display the EOA address for a profile.
gator show [--profile <profile-name>]
status
Check config and on-chain account status.
gator status [--profile <profile-name>]- Prints: address, chain, config upgrade status, on-chain code presence, storage and RPC URL config.
balance
Show native balance and optional ERC-20 balance.
gator balance [--tokenAddress <address>] [--profile <profile-name>]- If
is provided, prints ERC-20 balance and decimals-derived units.--tokenAddress
grant
Create, sign, and store a delegation with a predefined scope.
gator grant --to <to-address> --scope <type> [scope flags] [--profile <profile-name>]
Scope flags:
- Token scopes:
,--tokenAddress <token-address>
,--maxAmount <amount>--tokenId <id> - Periodic scopes:
,--periodAmount <amount>
,--periodDuration <seconds>--startDate <timestamp> - Streaming scopes:
,--amountPerSecond <amount>
,--initialAmount <amount>--startTime <timestamp> - Function call scope:
,--targets <addresses>
,--selectors <sigs>--valueLte <ether> - Ownership transfer:
--contractAddress <contract-address>
Supported scopes:
erc20TransferAmounterc20PeriodTransfererc20Streamingerc721TransfernativeTokenTransferAmountnativeTokenPeriodTransfernativeTokenStreamingfunctionCallownershipTransfer
Grant flags per scope:
| Scope | Required Flags | Optional Flags |
|---|---|---|
| , | |
| , , | |
| , , , | |
| , | |
| | |
| , | |
| , , | |
| , | |
| |
and--startDate
default to the current time (unix seconds) when omitted.--startTime
sets the max native token value per call for--valueLte
scopes.functionCall
redeem
Redeem a stored delegation using a specific action type.
gator redeem --from <from-address> --action <type> [action flags] [--profile <profile-name>]
Supported action types:
erc20Transfer, erc721Transfer, nativeTransfer, functionCall, ownershipTransfer, raw
Action-specific flags:
:erc20Transfer
,--tokenAddress
,--to--amount
:erc721Transfer
,--tokenAddress
,--to--tokenId
:nativeTransfer
,--to--amount
:functionCall
,--target
,--function
,--args--value
:ownershipTransfer
,--contractAddress--to
:raw
,--target
,--callData--value
revoke
Revoke a delegation on-chain. Revokes the first matching delegation.
gator revoke --to <to-address> [--profile <profile-name>]
inspect
Inspect delegations for your account.
gator inspect [--from <from-address>] [--to <to-address>] [--profile <profile-name>]- With no filters, prints both Given and Received.
- Printed fields: From, To, Authority, Caveats count, Signed flag.
Redeem Flags per Action
| Action | Required Flags |
|---|---|
| , , |
| , , |
| , |
| , , |
| , |
| , |
Example Flows
Initialize and upgrade:
gator init --profile <profile-name> gator create --profile <profile-name>
Grant an ERC-20 transfer delegation:
gator grant --profile <profile-name> --to <to-address> --scope erc20TransferAmount \ --tokenAddress <token-address> --maxAmount 50
Redeem an ERC-20 transfer:
gator redeem --profile <profile-name> --from <from-address> --action erc20Transfer \ --tokenAddress <token-address> --to <to-address> --amount 10
Redeem a native transfer:
gator redeem --profile <profile-name> --from <from-address> --action nativeTransfer \ --to <to-address> --amount 0.5
Redeem in raw mode:
gator redeem --profile <profile-name> --from <from-address> --action raw \ --target <contract-address> --callData 0xa9059cbb...
Inspect delegations:
gator inspect --profile <profile-name> gator inspect --profile <profile-name> --from <from-address> gator inspect --profile <profile-name> --to <to-address>
Revoke a delegation:
gator revoke --profile <profile-name> --to <to-address>
Operational Notes
- Private key security: This is alpha version. Private keys are stored in plaintext JSON. Never use accounts with significant funds.
refers to the delegator address;--from
refers to the delegate/recipient.--to
and--targets
are comma-separated lists.--selectors
accepts a human-readable Solidity function signature like--function
. Do not pass a 4-byte selector (e.g."approve(address,uint256)"
) — the CLI derives the selector from the signature automatically.0x095ea7b3
and--startDate
accept unix timestamps in seconds. When omitted, they default to the current time.--startTime
is required for--action
and must be one of:redeem
,erc20Transfer
,erc721Transfer
,nativeTransfer
,functionCall
,ownershipTransfer
.raw- Supported chains for
in--chain
:gator init
(default),base
,baseSepolia
.sepolia