trading-on-aborean
Aborean Protocol
Use this skill to keep Aborean-specific discovery and flow selection outside the reusable AGW core skills.
Operating Rules
- Start with
agw app listoragw app show --json '{"appId":"183"}'. Treat the live AGW app metadata as the canonical contract index. - Use the official docs to classify the workflow before selecting a contract or function:
https://aborean.finance/docshttps://aborean.finance/liquidityhttps://aborean.finance/lockshttps://aborean.finance/votinghttps://aborean.finance/vaultshttps://aborean.finance/tokenomicshttps://aborean.finance/emissions
- Use
agw wallet balancesoragw wallet tokens listbefore proposing any flow that depends on holdings. - If the user names an exact pair, resolve the canonical token addresses first and query the v2 factory with
getPool(tokenA, tokenB, false)andgetPool(tokenA, tokenB, true)before using any search surface. - Use DexScreener only to discover candidate pools when the task involves trading, LPing, zaps, or pair selection and the exact pair or pool family is still unknown.
- Do not conclude that a pool does not exist from DexScreener search alone. Treat DexScreener as fuzzy discovery, not as the source of truth for exact-pair existence.
- Use Abscan verified source to discover real entrypoints and struct shapes before building a
contract.writepayload. - Prefer the live
app.showresult over remembered contract lists. - Use
agw app show --json '{"appId":"183","offline":true}'only when you intentionally want the small shipped catalog view for comparison or fallback. - Preview every allowance, lock, vote, claim, transfer, deposit, withdrawal, or contract write before execution.
- Route generic session, wallet, and transaction safety questions back to
authenticating-with-agw,reading-agw-wallet, andexecuting-agw-transactions. - Read references/discovery-and-entrypoints.md when the task needs pool discovery, function signatures, or concrete LP and zap entrypoints.
Contract Index
Use agw app show --json '{"appId":"183"}' as the source of truth for contracts.
- Expect
meta.contractsSource: "portal"when live enrichment succeeds. - The merged top-level
app.contractspayload is the normalized list you should use for AGW-oriented reasoning. - The nested
live.app.contractspayload preserves the raw Portal labels. - Use labels such as
Router,Voting Escrow,Voter,Minter,Rewards distributor, and gauge entries only as discovery hints. - Confirm the exact entrypoint in Abscan verified source before building a
contract.writepayload.
Verified Product Model
Use the official docs and frontend to reason about the protocol:
- Aborean positions itself as the liquidity layer for Abstract, centered on trading, LP capital, and governor incentives.
ABXis the governance and utility token.veABXis the vote-escrowed governance position created by locking ABX and is represented as an ERC-721 lock NFT.- veABX holders direct emissions to pools, earn fees and bribes, and participate in governance.
- Emissions are epoch-based and routed by veABX votes.
- Trading-fee rewards can accrue continuously, while epoch-based incentives and voting rewards become claimable on epoch transition, documented as Thursday 00:00 UTC.
- Vaults automate veABX participation rather than replacing it.
Primary User Flows
- Trading and routing:
- Use swap and pool context for token exchanges and price discovery.
- The live frontend exposes routes such as
/swap,/liquidity, and/positions/*.
- Liquidity provision:
- Users add capital to stable, volatile, or concentrated pools, then may stake LP positions for emissions.
- Concentrated-liquidity position management is a first-class surface in the live app.
- Locks and governance:
- Users lock ABX into veABX, extend duration, and manage voting power.
- The docs describe lock durations up to 4 years.
- The live frontend exposes
/locksand/lock/deposit.
- Voting and claims:
- veABX holders vote emissions toward gauges and later claim fees, bribes, and related rewards.
- The live frontend exposes
/vote.
- Vault participation:
veABX Maxi Vault: deposit ABX or veABX, max-lock it, collect fees, emissions, and bribes, then convert non-ABX rewards into ABX and re-lock.ABX Rewards Vault: deposit veABX, auto-vote the highest-yield gauges, harvest rewards and fees, convert them into ABX, and distribute ABX weekly.- The live frontend exposes
/earn/vault.
Discovery Workflow
- Load app metadata with
agw app show --json '{"appId":"183"}'. - Classify the task:
- swap or LP on a known pair
- single-sided zap
- v3 or concentrated position management
- veABX lock, vote, claim, or vault action
- Choose the discovery path:
- exact pair named: resolve token addresses, query
getPool(..., false)andgetPool(..., true), then inspect the returned pool - token-only or ambiguous LP request: use DexScreener to enumerate candidate pools, then narrow by quote asset and
v2versusv3 - v3 or concentrated request: identify the manager or NFT path before reasoning about execution
- exact pair named: resolve token addresses, query
- Use Abscan verified source to identify the actual router, pool, or manager entrypoint and the exact argument shape.
- Reconfirm the chosen pool onchain with
cast callor equivalent reads before drafting the write. - Preview the write with
agw contract write --json '{...}' --dry-run. - Execute only after explicit user confirmation with
--execute.
Do not infer that "LP token X" implies one unique pool. Aborean can expose multiple live pools for the same asset pair family.
Execution Rules
- Prefer Abscan-verified v2 router entrypoints for standard two-sided LP and zap flows when they match the user's request.
- Treat
v3or concentrated-liquidity flows as a separate path. Do not assume the v2 router covers CL position creation or management. - If the user only has one side of a pair, check whether the router exposes a zap path before inventing a manual swap-plus-add flow.
- If multiple Aborean pools exist for the same asset, stop and confirm the exact pool family with the user unless the request already implies one.
- If DexScreener does not surface an exact pair, say that the search did not surface a candidate and move to onchain confirmation. Do not state that the pool is absent until factory reads return zero addresses for the relevant pool family.
- Confirm deadlines, min amounts, and approvals from live reads or router quote helpers. Do not hardcode slippage or split ratios without a reason.
Key Entry Points
Use these as search anchors, not as permission to skip verification:
- v2 two-sided LP:
quoteAddLiquidity,addLiquidity,addLiquidityETH - v2 single-sided LP:
generateZapInParams,zapIn - v2 pool confirmation:
getPool,token0,token1,stable,getReserves - v3 or concentrated liquidity: find the manager or NFT path first; a CL pool alone is not enough to construct the user-facing LP write
- locks, votes, claims, and vault actions: inspect the verified contract selected from
app.contractsand confirm the exact write method before proceeding
See references/discovery-and-entrypoints.md for the concrete signatures, selectors, and example discovery commands.
Task Map
- Load app metadata with
agw app show --json '{"appId":"183"}'. - Inspect
app.contractsand, when label fidelity matters, compare againstlive.app.contracts. - Confirm wallet context with
agw wallet balances --json '{"fields":["accountAddress","nativeBalance"]}'oragw wallet tokens list --json '{"pageSize":25,"fields":["items.symbol","items.tokenAddress","items.value","nextCursor"]}'. - Classify the request into one of the primary flows above using the official docs and, for market tasks, the discovery workflow in references/discovery-and-entrypoints.md.
- Inspect live Aborean streams with
agw portal streams list --json '{"appId":"183","pageSize":10,"fields":["items.id","items.title","nextCursor"]}'only when the task depends on Portal content. - Choose the target contract from the live AGW app metadata, then confirm the exact ABI plus function name in Abscan verified source.
- Preview the write with
agw contract write --json '{...}' --dry-run. - Execute only after explicit user confirmation with
--execute. - Re-read balances, token inventory, LP state, or relevant claim state after execution when the user needs verification.
Escalation
- Stop and gather more evidence when the docs describe a flow but the exact ABI or function name is still unclear.
- Prefer a correct preview plan over a guessed execution payload.
More from abstract-foundation/agw-cli
mining-with-bigcoin
Interact with the Bigcoin virtual mining game on Abstract — buy facilities, purchase miners, claim rewards, check hashrate, and manage mining operations. Use when a user wants to play Bigcoin, mine $BIG tokens, buy a facility or miner, claim mining rewards, check pending rewards, view hashrate, upgrade their facility, sell miners, or interact with the Bigcoin game contracts on Abstract. Trigger for requests mentioning Bigcoin, $BIG, BIG token, virtual mining, hashrate, facility, miner purchase, mining rewards, claim BIG, or Bigcoin game on Abstract.
22upvoting-on-abstract
Vote for apps on the Abstract Portal using the AbstractVoting contract. Use when a user wants to upvote an app, check remaining votes, see vote counts for apps, check the current epoch or vote cost, or interact with Abstract Portal voting. Trigger for requests mentioning upvote, vote for app, Abstract voting, Portal voting, vote cost, epoch, voteForApp, votes remaining, or app popularity on Abstract.
22reading-agw-wallet
Read AGW wallet identity, balances, and token inventory with field trimming and pagination. Use when a user wants to know which wallet is linked, inspect balances, list tokens, confirm the current account before another workflow, or gather read-only wallet context without blowing the context window. Trigger for requests mentioning `agw wallet address`, `agw wallet balances`, `agw wallet tokens list`, portfolio inspection, token inventory, or linked wallet identity.
21trading-on-uniswap
Compose AGW wallet and contract commands for token swaps, price quotes, and liquidity on Abstract via Uniswap V2 and V3. Use when a user wants to trade tokens, swap ETH for USDC, swap USDC for ETH, check token prices, get swap quotes, add or remove liquidity, or interact with any Uniswap contract on Abstract. Trigger for requests mentioning swap, trade, exchange, Uniswap, DEX, liquidity pool, price quote, token pair, amountOut, slippage, or AGW trading actions on Abstract mainnet or testnet.
21authenticating-with-agw
Bootstrap, inspect, troubleshoot, and revoke AGW sessions through the companion approval flow. Use when a user needs to connect this machine to an AGW wallet, check session readiness, diagnose missing signer or delegated-access issues, inspect local session state, or explicitly revoke access. Trigger for requests mentioning `agw auth init`, `agw session status`, `agw session doctor`, onboarding, companion approval, or session revoke.
21bridging-to-abstract
Guide users through bridging assets to and from Abstract using the native bridge or third-party bridges (Relay, Stargate, Jumper, Symbiosis, thirdweb, deBridge). Use when a user wants to move funds onto Abstract, bridge ETH or tokens from Ethereum or another chain, withdraw from Abstract to L1, get a bridge quote, fund their Abstract wallet from another network, or needs guidance on bridge timing and costs. Trigger for requests mentioning bridge, bridging, deposit, withdraw, fund wallet, move funds, cross-chain transfer, L1 to L2, or any of the bridge providers (Relay, Stargate, Jumper, Symbiosis, deBridge).
21