🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

jovay-interaction-skill

by @jovay-developer

Skill for interacting with Jovay or Ethereum network using jovay-cli

πŸ’‘ Examples

Check my wallet balance on Jovay I'll check your wallet balance on Jovay L2.

jovay wallet balance

For ERC20 token balance, use:

jovay wallet balance --token 0x

Transfer 0.01 ETH to 0x1234...abcd I'll help you transfer 0.01 ETH. Note: amount must be in Wei (0.01 ETH = 10000000000000000 Wei).

jovay wallet transfer --amount 10000000000000000 --to 0x1234...abcd --broadcast

Call balanceOf on an ERC20 contract I'll call the balanceOf method on the ERC20 contract.

jovay contract call \
  --contract 0x \
  --method balanceOf \
  --inputs address \
  --outputs uint256 \
  --args '"0x"'

Call a contract method using ABI file I'll call the contract method using the ABI file for automatic encoding/decoding.

jovay contract call \
  --contract 0x \
  --method getTokenInfo \
  --abi ./path/to/abi.json \
  --args '"0x"'

Call a contract method with complex tuple parameters I'll call the method with tuple parameters. For tuple types, wrap the values in an array.

jovay contract call \
  --contract 0x \
  --method processOrder \
  --inputs "address,(uint256,string)" \
  --outputs "bool" \
  --args '"0x
", [1000, "order-123"]'

Write to a contract to transfer tokens I'll send a transaction to transfer tokens. Remember to use --broadcast to actually send it.

jovay contract write \
  --contract 0x \
  --method transfer \
  --inputs "address,uint256" \
  --args '"0x", 1000000000000000000' \
  --broadcast

Call a payable mint function with ETH I'll call the payable mint function and send ETH with the transaction. Use --value to specify the amount in Wei.

jovay contract write \
  --contract 0x \
  --method mint \
  --inputs "uint256" \
  --args '1' \
  --value 100000000000000000 \
  --broadcast

This sends 0.1 ETH (100000000000000000 Wei) to mint 1 NFT.

Preview transaction data without sending (dry run) I'll generate the encoded calldata without actually calling the contract using --dry-run.

jovay contract call \
  --contract 0x \
  --method approve \
  --inputs "address,uint256" \
  --args '"0x", 1000000' \
  --dry-run

This outputs the encoded function data that can be used in other tools or transactions.

Call a contract on Ethereum L1 instead of Jovay I'll call the contract on Ethereum (L1) instead of Jovay (L2) using the --l1 flag.

jovay contract call \
  --contract 0x \
  --method balanceOf \
  --inputs address \
  --outputs uint256 \
  --args '"0x"' \
  --l1

Write to contract with encrypted wallet I'll send a transaction using an encrypted wallet. You need to provide the encryption key with --enc-key.

jovay contract write \
  --contract 0x \
  --method setApprovalForAll \
  --inputs "address,bool" \
  --args '"0x", true' \
  --enc-key "your-encryption-password" \
  --broadcast

Get testnet tokens for development I'll request testnet ETH from the Jovay faucet (limited to once per 24 hours).

First, ensure you're on testnet:

jovay network switch --network testnet

Then request airdrop:

jovay wallet airdrop

Bridge 0.1 ETH from Ethereum to Jovay I'll help you deposit 0.1 ETH from L1 to L2. Amount must be in Wei (0.1 ETH = 100000000000000000 Wei). On testnet, if the default L2 gas limit is too low, add --gas-limit 500000 (or higher) so the deposit passes the bridge check.

jovay bridge deposit --amount 100000000000000000 --to 0x --gas-limit 500000 --broadcast

Withdraw ETH from Jovay back to Ethereum I'll initiate an ETH withdrawal from Jovay (L2) to Ethereum (L1). Note: this is step 1 of a two-step process.

Step 1 - Initiate withdrawal on L2:

jovay bridge withdraw --amount 50000000000000000 --to 0x --broadcast

After this transaction is confirmed, wait for the batch to be finalized on L1 (up to 1 hour). Then get the proof data from the Jovay Explorer and run step 2.

Step 2 - Finalize on L1:

jovay bridge finalize-withdraw \
  --amount 50000000000000000 \
  --nonce  \
  --msg  \
  --batch-index  \
  --proof  \
  --broadcast

My L1 deposit didn't arrive on L2 If the automatic deposit relay failed, you can manually claim it on L2. You'll need the message data from the DepositETH event log of your L1 deposit transaction.

jovay bridge claim-deposit --msg 0x --broadcast

You can find the message data in the transaction details on an L1 block explorer (e.g., Etherscan).

βš™οΈ Configuration

  • Node.js v20+
  • jovay-cli installed (npm install -g @jovaylabs/jovay-cli)
  • Configured wallet with private key
  • Network configured (testnet or mainnet)
  • View on ClawHub
    TERMINAL
    clawhub install jovay-interaction-skill

    πŸ§ͺ Use this skill with your agent

    Most visitors already have an agent. Pick your environment, install or copy the workflow, then run the smoke-test prompt above.

    πŸ” Can't find the right skill?

    Search 60,000+ AI agent skills β€” free, no login needed.

    Search Skills β†’