abstract-toolkit
v1.0.0Deploy smart contracts and bridge assets to Abstract (ZK Stack L2). Use when an agent needs to deploy contracts on Abstract, bridge ETH/tokens to Abstract, trade/swap tokens, check balances, transfer assets, or interact with Abstract mainnet. Covers zksolc compilation, Hardhat deployment, Relay brid...
Installation
Please help me install the skill `abstract-toolkit` from SkillHub official store.
npx skills add Masoncags-tech/abstract-toolkit
Abstract Onboard
Everything an agent needs to operate on Abstract.
Quick Start
Create Abstract Global Wallet (AGW)
AGW is a smart contract wallet that earns XP on Abstract. Essential for agents!
export WALLET_PRIVATE_KEY=0x...
node scripts/create-agw.js
Your EOA becomes the signer, AGW is a separate smart contract address.
Check Balances
node scripts/check-balances.js <wallet> all
Bridge ETH to Abstract
export WALLET_PRIVATE_KEY=0x...
node scripts/relay-bridge.js --from base --amount 0.01
Deploy a Contract
export WALLET_PRIVATE_KEY=0x...
node scripts/deploy-abstract.js ./artifacts/MyContract.json "constructor-arg"
Transfer Tokens
export WALLET_PRIVATE_KEY=0x...
node scripts/transfer.js --to 0x... --amount 0.01 # ETH
node scripts/transfer.js --to 0x... --amount 100 --token USDC # Token
Swap Tokens
export WALLET_PRIVATE_KEY=0x...
export DEX_ROUTER=0x... # Set DEX router address
node scripts/swap-tokens.js --from ETH --to USDC --amount 0.01
Call Any Contract
# Read
node scripts/call-contract.js --address 0x... --abi ./abi.json --function balanceOf --args 0x1234
# Write
export WALLET_PRIVATE_KEY=0x...
node scripts/call-contract.js --address 0x... --abi ./abi.json --function transfer --args 0x1234,100 --write
Key Information
| Item | Value |
|---|---|
| Chain ID | 2741 |
| RPC | https://api.mainnet.abs.xyz |
| Explorer | https://abscan.org |
| Bridge | https://relay.link/bridge/abstract |
| USDC | 0x84A71ccD554Cc1b02749b35d22F684CC8ec987e1 |
| WETH | 0x3439153EB7AF838Ad19d56E1571FBD09333C2809 |
Scripts
| Script | Purpose |
|---|---|
create-agw.js |
Create Abstract Global Wallet (earns XP!) |
check-balances.js |
Check ETH and token balances |
relay-bridge.js |
Bridge ETH from other chains |
deploy-abstract.js |
Deploy contracts to Abstract |
transfer.js |
Send ETH or tokens |
swap-tokens.js |
Trade tokens via DEX |
call-contract.js |
Call any contract function |
References
| File | Contents |
|---|---|
agw.md |
Abstract Global Wallet guide (XP, activation) |
hardhat.config.js |
Working Hardhat config for Abstract |
addresses.md |
Key contract addresses |
troubleshooting.md |
Common errors and fixes |
Common Issues
- Gas estimation fails → Use Hardhat, not foundry-zksync
- Compiler errors → Use Solidity 0.8.x with zksolc
- TX stuck → Check gas price, verify on abscan.org
See references/troubleshooting.md for detailed solutions.
Dependencies
# Core dependencies
npm install ethers zksync-ethers viem
# For contract deployment
npm install @matterlabs/hardhat-zksync
# For AGW (Abstract Global Wallet)
npm install @abstract-foundation/agw-client