GOAT Network
AgentKit

Plugins Reference

AgentKit ships 13 plugins containing 95 actions that cover wallet operations, DeFi, bridging, payments, identity, governance, and cross-chain messaging. Each plugin is a collection of related ActionDefinition objects that you register with an ActionProvider.

Plugin Overview

Core On-Chain Operations

PluginActionsFunctionality
wallet10ERC-20 transfer, approve, balance, contract read/write, deploy, token symbol resolution
bridge7Bridge.sol native bridge: withdraw, cancel, refund, replace-by-fee, deposit/withdrawal status, get-params
dex7OKU (Uniswap V3): swap, quote, get-pool, add/remove liquidity, collect-fees, get-position
x4025Agent payment protocol: create payment, submit signature, transfer, status, cancel

Merchant and Identity

PluginActionsFunctionality
x402-merchant30Merchant portal: auth, dashboard, profile, orders, balance, addresses, callbacks, API keys, webhooks, invite codes, audit logs
erc80049ERC-8004 Trustless Agents: register, set URI, get/set metadata, get wallet, give/revoke feedback, reputation, clients

Protocols and Assets

PluginActionsFunctionality
layerzero3LayerZero V2 OFT cross-chain: quote-send, send, quote-oft
bitvm210BitVM2 BTC bridge + staking: deposit, withdraw, status, register-pubkey, approve, stake, lock, pegbtc balance, pegin, pegout
erc7213NFT: mint, transfer, balance
wgbtc3Wrapped GBTC: wrap, unwrap, balance
goat-token3Governance: delegate, get-votes, get-delegates
faucet2Testnet tokens: request-funds, get-chains
bitcoin3BTC light client: block-hash, latest-height, network-name

wallet

The wallet plugin provides fundamental EVM wallet operations. Most actions take a WalletProvider or WalletReadAdapter instance.

ActionNameRisk LevelDescription
walletBalanceActionwallet.balancereadQuery native or ERC-20 balance
getDetailsActionwallet.get_detailsreadGet wallet address and network
getAllowanceActionwallet.get_allowancereadCheck ERC-20 allowance
contractReadActionwallet.contract_readreadRead from any contract
contractWriteActionwallet.contract_writehighWrite to any contract
transferNativeActionwallet.transfer_nativehighTransfer native token (BTC)
transferErc20Actionwallet.transfer_erc20highTransfer ERC-20 tokens
approveErc20Actionwallet.approve_erc20mediumApprove ERC-20 spending
deployContractActionwallet.deploy_contracthighDeploy a smart contract
resolveTokenActionwallet.resolve_tokenreadResolve token symbol to address

Token Symbol Resolution

The resolveTokenAction uses GOAT Network's built-in token registry. You can reference tokens by symbol instead of address:

Token Registry
// Known token symbols:
// WGBTC, GOAT, BRIDGE, BITCOIN
// OKU_SWAP_ROUTER, OKU_QUOTER, OKU_POSITION_MANAGER, OKU_FACTORY
// LZ_ENDPOINT

Registration Example

Register wallet actions
import {
  walletBalanceAction,
  getDetailsAction,
  transferNativeAction,
  transferErc20Action,
  approveErc20Action,
  contractReadAction,
  contractWriteAction,
  deployContractAction,
  resolveTokenAction,
  getAllowanceAction,
  NoopWalletReadAdapter,
} from '@goatnetwork/agentkit/plugins';

const walletRead = new NoopWalletReadAdapter(); // Use EvmWalletReadAdapter for production

provider.register(walletBalanceAction(walletRead));
provider.register(getDetailsAction(wallet));
provider.register(getAllowanceAction(wallet));
provider.register(contractReadAction(wallet));
provider.register(contractWriteAction(wallet));
provider.register(transferNativeAction(wallet));
provider.register(transferErc20Action(wallet));
provider.register(approveErc20Action(wallet));
provider.register(deployContractAction(wallet));
provider.register(resolveTokenAction());

dex

The DEX plugin wraps OKU (Uniswap V3 deployment on GOAT Network) for decentralized exchange operations.

ActionNameRisk LevelDescription
dexSwapActiondex.swaphighExact-input single swap
dexQuoteActiondex.quotereadGet a swap quote
dexGetPoolActiondex.get_poolreadGet pool info by token pair and fee tier
dexAddLiquidityActiondex.add_liquidityhighAdd liquidity to a pool
dexRemoveLiquidityActiondex.remove_liquidityhighRemove liquidity from a position
dexCollectFeesActiondex.collect_feesmediumCollect accrued fees from a position
dexGetPositionActiondex.get_positionreadQuery a liquidity position

DEX swap actions are restricted to goat-mainnet only. The swap router address is pre-configured to the OKU SwapRouter02 deployment on GOAT Network.

Contract Addresses

ContractAddress
SwapRouter020xaa52bB8110fE38D0d2d2AF0B85C3A3eE622CA455
QuoterV20x5911cB3633e764939edc2d92b7e1ad375Bb57649
PositionManager0x743E03cceB4af2efA3CC76838f6E8B50B63F184c
V3Factory0xcb2436774C3e191c85056d248EF4260ce5f27A9D

bridge

The Bridge plugin interacts with GOAT Network's native Bridge.sol contract for the full bridge lifecycle.

ActionNameRisk LevelDescription
bridgeWithdrawActionbridge.withdrawhighInitiate a withdrawal
bridgeCancelActionbridge.cancelhighCancel a pending withdrawal
bridgeRefundActionbridge.refundhighRefund a failed bridge request
bridgeReplaceByFeeActionbridge.replace_by_feehighBump fee on a pending withdrawal
bridgeDepositStatusActionbridge.deposit_statusreadCheck deposit status
bridgeWithdrawalStatusActionbridge.withdrawal_statusreadCheck withdrawal status
bridgeGetParamsActionbridge.get_paramsreadGet current bridge parameters

x402

The x402 plugin implements the payer side of the x402 agent payment protocol. See the Payments guide for full details.

ActionNameRisk LevelDescription
createPaymentActiongoat.x402.payment.createmediumCreate a payment intent
submitSignatureActiongoat.x402.payment.submitSignaturemediumSubmit EIP-712 signature
transferPaymentActiongoat.x402.payment.transferhighExecute the on-chain transfer
paymentStatusActiongoat.x402.payment.statusreadQuery payment status
cancelPaymentActiongoat.x402.payment.cancelmediumCancel a payment

x402-merchant

The x402-merchant plugin provides 30 actions for complete merchant portal management. Actions use the HttpMerchantPortalClient HTTP adapter and support per-request token isolation via ActionContext.accessToken.

Action Categories

Authentication (4 actions): register, register with invite, login, refresh token

Dashboard (1 action): stats overview

Profile (2 actions): get profile, update profile

Orders (2 actions): list orders, get order details

Balance (3 actions): get balance, list transactions, fees config

Addresses (3 actions): list, add, remove settlement addresses

Callback Contracts (4 actions): list, submit, remove, cancel submission

API Keys (2 actions): get keys, rotate keys

Webhooks (4 actions): list, create, update, delete webhooks

Invite Codes (3 actions): list, create, revoke

Audit Logs (1 action): list audit logs

Supported Tokens (1 action): list supported tokens


erc8004

The ERC-8004 plugin implements on-chain agent identity and reputation. See the AgentKit ERC-8004 guide for the agent-focused integration flow.

ActionNameRisk LevelDescription
erc8004RegisterAgentActionerc8004.register_agenthighRegister an agent in the Identity Registry
erc8004SetAgentURIActionerc8004.set_agent_urihighUpdate the agent's metadata URI
erc8004GetMetadataActionerc8004.get_metadatareadRead agent metadata
erc8004SetMetadataActionerc8004.set_metadatahighWrite agent metadata
erc8004GetAgentWalletActionerc8004.get_agent_walletreadGet an agent's wallet address
erc8004GiveFeedbackActionerc8004.give_feedbackmediumSubmit trust feedback for an agent
erc8004RevokeFeedbackActionerc8004.revoke_feedbackmediumRevoke previously given feedback
erc8004GetReputationActionerc8004.get_reputationreadQuery an agent's reputation score
erc8004GetClientsActionerc8004.get_clientsreadList an agent's clients

Contract Addresses

NetworkIdentity RegistryReputation Registry
goat-mainnet0x8004A169FB4a3325136EB29fA0ceB6D2e539a4320x8004BAa17C55a88189AE136b182e5fdA19dE9b63
goat-testnet0x556089008Fc0a60cD09390Eca93477ca254A55220xd9140951d8aE6E5F625a02F5908535e16e3af964

Recent AgentKit releases resolve ERC-8004 contract addresses from the execution network at runtime, so testnet3 no longer reuses the mainnet registry addresses.


bitvm2

The BitVM2 plugin provides BTC bridge operations and staking via the BitVM2 protocol.

ActionNameRisk LevelDescription
bridgeDepositActionbitvm2.bridge.deposithighDeposit BTC via BitVM2 bridge
bridgeWithdrawActionbitvm2.bridge.withdrawhighWithdraw from BitVM2 bridge
bridgeStatusActionbitvm2.bridge.statusreadCheck bridge request status
bitvm2RegisterPubkeyActionbitvm2.stake.register_pubkeyhighRegister staking pubkey
bitvm2StakeApproveActionbitvm2.stake.approvemediumApprove staking contract
bitvm2StakeActionbitvm2.stake.stakehighStake tokens
bitvm2LockStakeActionbitvm2.stake.lockhighLock staked tokens
bitvm2PegBtcBalanceActionbitvm2.pegbtc.balancereadCheck pegBTC balance
bitvm2PeginRequestActionbitvm2.pegin.requesthighRequest a peg-in
bitvm2PegoutInitiateActionbitvm2.pegout.initiatehighInitiate a peg-out

layerzero

Cross-chain messaging via LayerZero V2 OFT (Omnichain Fungible Token) protocol.

ActionNameRisk LevelDescription
oftQuoteSendActionlayerzero.quote_sendreadQuote a cross-chain send
oftSendActionlayerzero.sendhighExecute a cross-chain send
oftQuoteOftActionlayerzero.quote_oftreadQuote OFT conversion

erc721

Standard NFT operations.

ActionNameRisk Level
erc721MintActionerc721.minthigh
erc721TransferActionerc721.transferhigh
erc721BalanceActionerc721.balanceread

wgbtc

Wrapped GBTC (WGBTC) operations.

ActionNameRisk Level
wgbtcWrapActionwgbtc.wraphigh
wgbtcUnwrapActionwgbtc.unwraphigh
wgbtcBalanceActionwgbtc.balanceread

goat-token

GOAT governance token operations.

ActionNameRisk Level
goatTokenDelegateActiongoat_token.delegatemedium
goatTokenGetVotesActiongoat_token.get_votesread
goatTokenGetDelegatesActiongoat_token.get_delegatesread

faucet

Testnet faucet for requesting test tokens.

ActionNameRisk Level
faucetRequestFundsActionfaucet.request_fundslow
faucetGetChainsActionfaucet.get_chainsread

bitcoin

On-chain Bitcoin light client queries.

ActionNameRisk Level
bitcoinBlockHashActionbitcoin.block_hashread
bitcoinLatestHeightActionbitcoin.latest_heightread
bitcoinNetworkNameActionbitcoin.network_nameread

Risk Levels

Every action declares a risk level that the Policy Engine uses to gate execution:

LevelDescriptionExample Actions
readNo state change, no funds at riskbalance queries, status checks
lowMinimal risk operationsfaucet requests
mediumModerate risk, typically approvals or payment creationapprove ERC-20, create payment, delegate
highSignificant risk, moves funds or deploys contractstransfer, swap, deploy, register agent

Actions with requiresConfirmation: true always need explicit confirmation regardless of the policy's maxRiskWithoutConfirm setting.

On this page