agentwallet-sdk 4.0.5 → 5.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +154 -158
- package/dist/abi.d.ts +396 -46
- package/dist/abi.d.ts.map +1 -1
- package/dist/abi.js +0 -2
- package/dist/abi.js.map +1 -1
- package/dist/ap2/index.d.ts +185 -0
- package/dist/ap2/index.d.ts.map +1 -0
- package/dist/ap2/index.js +255 -0
- package/dist/ap2/index.js.map +1 -0
- package/dist/bridge/abis.d.ts.map +1 -1
- package/dist/bridge/abis.js +0 -2
- package/dist/bridge/abis.js.map +1 -1
- package/dist/bridge/client.d.ts +28 -43
- package/dist/bridge/client.d.ts.map +1 -1
- package/dist/bridge/client.js +0 -2
- package/dist/bridge/client.js.map +1 -1
- package/dist/bridge/index.d.ts +1 -0
- package/dist/bridge/index.d.ts.map +1 -1
- package/dist/bridge/index.js +0 -2
- package/dist/bridge/index.js.map +1 -1
- package/dist/bridge/types.d.ts +48 -32
- package/dist/bridge/types.d.ts.map +1 -1
- package/dist/bridge/types.js +0 -2
- package/dist/bridge/types.js.map +1 -1
- package/dist/bridge/unified.d.ts +101 -0
- package/dist/bridge/unified.d.ts.map +1 -0
- package/dist/bridge/unified.js +284 -0
- package/dist/bridge/unified.js.map +1 -0
- package/dist/chains.d.ts +62 -0
- package/dist/chains.d.ts.map +1 -0
- package/dist/chains.js +108 -0
- package/dist/chains.js.map +1 -0
- package/dist/escrow/MutualStakeEscrow.d.ts +75 -0
- package/dist/escrow/MutualStakeEscrow.d.ts.map +1 -0
- package/dist/escrow/MutualStakeEscrow.js +339 -0
- package/dist/escrow/MutualStakeEscrow.js.map +1 -0
- package/dist/escrow/types.d.ts +59 -0
- package/dist/escrow/types.d.ts.map +1 -0
- package/dist/escrow/types.js +11 -0
- package/dist/escrow/types.js.map +1 -0
- package/dist/escrow/verifiers.d.ts +26 -0
- package/dist/escrow/verifiers.d.ts.map +1 -0
- package/dist/escrow/verifiers.js +53 -0
- package/dist/escrow/verifiers.js.map +1 -0
- package/dist/fiat/index.d.ts +10 -0
- package/dist/fiat/index.d.ts.map +1 -0
- package/dist/fiat/index.js +9 -0
- package/dist/fiat/index.js.map +1 -0
- package/dist/fiat/onramp.d.ts +101 -0
- package/dist/fiat/onramp.d.ts.map +1 -0
- package/dist/fiat/onramp.js +155 -0
- package/dist/fiat/onramp.js.map +1 -0
- package/dist/fiat/providers/index.d.ts +16 -0
- package/dist/fiat/providers/index.d.ts.map +1 -0
- package/dist/fiat/providers/index.js +30 -0
- package/dist/fiat/providers/index.js.map +1 -0
- package/dist/fiat/providers/moonpay.d.ts +22 -0
- package/dist/fiat/providers/moonpay.d.ts.map +1 -0
- package/dist/fiat/providers/moonpay.js +107 -0
- package/dist/fiat/providers/moonpay.js.map +1 -0
- package/dist/fiat/providers/stripe.d.ts +26 -0
- package/dist/fiat/providers/stripe.d.ts.map +1 -0
- package/dist/fiat/providers/stripe.js +135 -0
- package/dist/fiat/providers/stripe.js.map +1 -0
- package/dist/fiat/providers/transak.d.ts +26 -0
- package/dist/fiat/providers/transak.d.ts.map +1 -0
- package/dist/fiat/providers/transak.js +119 -0
- package/dist/fiat/providers/transak.js.map +1 -0
- package/dist/fiat/types.d.ts +106 -0
- package/dist/fiat/types.d.ts.map +1 -0
- package/dist/fiat/types.js +13 -0
- package/dist/fiat/types.js.map +1 -0
- package/dist/flash/executor.d.ts +119 -0
- package/dist/flash/executor.d.ts.map +1 -0
- package/dist/flash/executor.js +195 -0
- package/dist/flash/executor.js.map +1 -0
- package/dist/flash/index.d.ts +28 -0
- package/dist/flash/index.d.ts.map +1 -0
- package/dist/flash/index.js +29 -0
- package/dist/flash/index.js.map +1 -0
- package/dist/flash/scanner.d.ts +133 -0
- package/dist/flash/scanner.d.ts.map +1 -0
- package/dist/flash/scanner.js +212 -0
- package/dist/flash/scanner.js.map +1 -0
- package/dist/flash/types.d.ts +136 -0
- package/dist/flash/types.d.ts.map +1 -0
- package/dist/flash/types.js +23 -0
- package/dist/flash/types.js.map +1 -0
- package/dist/gas/index.d.ts +4 -0
- package/dist/gas/index.d.ts.map +1 -0
- package/dist/gas/index.js +3 -0
- package/dist/gas/index.js.map +1 -0
- package/dist/gas/sponsor.d.ts +70 -0
- package/dist/gas/sponsor.d.ts.map +1 -0
- package/dist/gas/sponsor.js +193 -0
- package/dist/gas/sponsor.js.map +1 -0
- package/dist/gas/types.d.ts +76 -0
- package/dist/gas/types.d.ts.map +1 -0
- package/dist/gas/types.js +21 -0
- package/dist/gas/types.js.map +1 -0
- package/dist/identity/agent-identity.d.ts +276 -0
- package/dist/identity/agent-identity.d.ts.map +1 -0
- package/dist/identity/agent-identity.js +300 -0
- package/dist/identity/agent-identity.js.map +1 -0
- package/dist/identity/erc6551.d.ts +441 -0
- package/dist/identity/erc6551.d.ts.map +1 -0
- package/dist/identity/erc6551.js +517 -0
- package/dist/identity/erc6551.js.map +1 -0
- package/dist/identity/erc8004.d.ts +296 -141
- package/dist/identity/erc8004.d.ts.map +1 -1
- package/dist/identity/erc8004.js +43 -12
- package/dist/identity/erc8004.js.map +1 -1
- package/dist/identity/index.d.ts +6 -2
- package/dist/identity/index.d.ts.map +1 -1
- package/dist/identity/index.js +3 -2
- package/dist/identity/index.js.map +1 -1
- package/dist/identity/reputation.d.ts +318 -0
- package/dist/identity/reputation.d.ts.map +1 -0
- package/dist/identity/reputation.js +272 -0
- package/dist/identity/reputation.js.map +1 -0
- package/dist/identity/validation.d.ts +284 -0
- package/dist/identity/validation.d.ts.map +1 -0
- package/dist/identity/validation.js +226 -0
- package/dist/identity/validation.js.map +1 -0
- package/dist/index.d.ts +32624 -1011
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -12
- package/dist/index.js.map +1 -1
- package/dist/mev/index.d.ts +4 -0
- package/dist/mev/index.d.ts.map +1 -0
- package/dist/mev/index.js +8 -0
- package/dist/mev/index.js.map +1 -0
- package/dist/mev/protection.d.ts +54 -0
- package/dist/mev/protection.d.ts.map +1 -0
- package/dist/mev/protection.js +185 -0
- package/dist/mev/protection.js.map +1 -0
- package/dist/mev/risk.d.ts +19 -0
- package/dist/mev/risk.d.ts.map +1 -0
- package/dist/mev/risk.js +95 -0
- package/dist/mev/risk.js.map +1 -0
- package/dist/mev/types.d.ts +49 -0
- package/dist/mev/types.d.ts.map +1 -0
- package/dist/mev/types.js +2 -0
- package/dist/mev/types.js.map +1 -0
- package/dist/plugins/elizaos.d.ts +26 -14
- package/dist/plugins/elizaos.d.ts.map +1 -1
- package/dist/plugins/elizaos.js +0 -2
- package/dist/plugins/elizaos.js.map +1 -1
- package/dist/policy/SpendingPolicy.d.ts +89 -15
- package/dist/policy/SpendingPolicy.d.ts.map +1 -1
- package/dist/policy/SpendingPolicy.js +0 -2
- package/dist/policy/SpendingPolicy.js.map +1 -1
- package/dist/policy/SpendingPolicy.test.d.ts +2 -0
- package/dist/policy/SpendingPolicy.test.d.ts.map +1 -0
- package/dist/policy/SpendingPolicy.test.js +143 -0
- package/dist/policy/SpendingPolicy.test.js.map +1 -0
- package/dist/settlement/index.d.ts +4 -0
- package/dist/settlement/index.d.ts.map +1 -0
- package/dist/settlement/index.js +3 -0
- package/dist/settlement/index.js.map +1 -0
- package/dist/settlement/types.d.ts +66 -0
- package/dist/settlement/types.d.ts.map +1 -0
- package/dist/settlement/types.js +37 -0
- package/dist/settlement/types.js.map +1 -0
- package/dist/settlement/verifier.d.ts +75 -0
- package/dist/settlement/verifier.d.ts.map +1 -0
- package/dist/settlement/verifier.js +354 -0
- package/dist/settlement/verifier.js.map +1 -0
- package/dist/solana/bridge.d.ts +144 -0
- package/dist/solana/bridge.d.ts.map +1 -0
- package/dist/solana/bridge.js +352 -0
- package/dist/solana/bridge.js.map +1 -0
- package/dist/solana/index.d.ts +8 -0
- package/dist/solana/index.d.ts.map +1 -0
- package/dist/solana/index.js +6 -0
- package/dist/solana/index.js.map +1 -0
- package/dist/solana/swap.d.ts +85 -0
- package/dist/solana/swap.d.ts.map +1 -0
- package/dist/solana/swap.js +173 -0
- package/dist/solana/swap.js.map +1 -0
- package/dist/solana/types.d.ts +126 -0
- package/dist/solana/types.d.ts.map +1 -0
- package/dist/solana/types.js +10 -0
- package/dist/solana/types.js.map +1 -0
- package/dist/solana/wallet.d.ts +83 -0
- package/dist/solana/wallet.d.ts.map +1 -0
- package/dist/solana/wallet.js +164 -0
- package/dist/solana/wallet.js.map +1 -0
- package/dist/solana/x402.d.ts +69 -0
- package/dist/solana/x402.d.ts.map +1 -0
- package/dist/solana/x402.js +154 -0
- package/dist/solana/x402.js.map +1 -0
- package/dist/solver/adapter.d.ts +47 -0
- package/dist/solver/adapter.d.ts.map +1 -0
- package/dist/solver/adapter.js +146 -0
- package/dist/solver/adapter.js.map +1 -0
- package/dist/solver/analyzer.d.ts +48 -0
- package/dist/solver/analyzer.d.ts.map +1 -0
- package/dist/solver/analyzer.js +171 -0
- package/dist/solver/analyzer.js.map +1 -0
- package/dist/solver/builder.d.ts +31 -0
- package/dist/solver/builder.d.ts.map +1 -0
- package/dist/solver/builder.js +60 -0
- package/dist/solver/builder.js.map +1 -0
- package/dist/solver/index.d.ts +22 -0
- package/dist/solver/index.d.ts.map +1 -0
- package/dist/solver/index.js +25 -0
- package/dist/solver/index.js.map +1 -0
- package/dist/solver/types.d.ts +115 -0
- package/dist/solver/types.d.ts.map +1 -0
- package/dist/solver/types.js +10 -0
- package/dist/solver/types.js.map +1 -0
- package/dist/spend-guard/index.d.ts +125 -0
- package/dist/spend-guard/index.d.ts.map +1 -0
- package/dist/spend-guard/index.js +150 -0
- package/dist/spend-guard/index.js.map +1 -0
- package/dist/swap/SwapModule.d.ts +28 -39
- package/dist/swap/SwapModule.d.ts.map +1 -1
- package/dist/swap/SwapModule.js +2 -4
- package/dist/swap/SwapModule.js.map +1 -1
- package/dist/swap/abi.d.ts.map +1 -1
- package/dist/swap/abi.js +0 -2
- package/dist/swap/abi.js.map +1 -1
- package/dist/swap/index.d.ts +1 -0
- package/dist/swap/index.d.ts.map +1 -1
- package/dist/swap/index.js +0 -2
- package/dist/swap/index.js.map +1 -1
- package/dist/swap/router/cache.d.ts +13 -0
- package/dist/swap/router/cache.d.ts.map +1 -0
- package/dist/swap/router/cache.js +30 -0
- package/dist/swap/router/cache.js.map +1 -0
- package/dist/swap/router/flashbots.d.ts +10 -0
- package/dist/swap/router/flashbots.d.ts.map +1 -0
- package/dist/swap/router/flashbots.js +43 -0
- package/dist/swap/router/flashbots.js.map +1 -0
- package/dist/swap/router/health.d.ts +17 -0
- package/dist/swap/router/health.d.ts.map +1 -0
- package/dist/swap/router/health.js +38 -0
- package/dist/swap/router/health.js.map +1 -0
- package/dist/swap/router/index.d.ts +10 -0
- package/dist/swap/router/index.d.ts.map +1 -0
- package/dist/swap/router/index.js +10 -0
- package/dist/swap/router/index.js.map +1 -0
- package/dist/swap/router/providers/cowswap.d.ts +11 -0
- package/dist/swap/router/providers/cowswap.d.ts.map +1 -0
- package/dist/swap/router/providers/cowswap.js +79 -0
- package/dist/swap/router/providers/cowswap.js.map +1 -0
- package/dist/swap/router/providers/index.d.ts +20 -0
- package/dist/swap/router/providers/index.d.ts.map +1 -0
- package/dist/swap/router/providers/index.js +32 -0
- package/dist/swap/router/providers/index.js.map +1 -0
- package/dist/swap/router/providers/jupiter.d.ts +12 -0
- package/dist/swap/router/providers/jupiter.d.ts.map +1 -0
- package/dist/swap/router/providers/jupiter.js +73 -0
- package/dist/swap/router/providers/jupiter.js.map +1 -0
- package/dist/swap/router/providers/lifi.d.ts +11 -0
- package/dist/swap/router/providers/lifi.d.ts.map +1 -0
- package/dist/swap/router/providers/lifi.js +123 -0
- package/dist/swap/router/providers/lifi.js.map +1 -0
- package/dist/swap/router/providers/oneinch.d.ts +13 -0
- package/dist/swap/router/providers/oneinch.d.ts.map +1 -0
- package/dist/swap/router/providers/oneinch.js +71 -0
- package/dist/swap/router/providers/oneinch.js.map +1 -0
- package/dist/swap/router/providers/paraswap.d.ts +11 -0
- package/dist/swap/router/providers/paraswap.d.ts.map +1 -0
- package/dist/swap/router/providers/paraswap.js +73 -0
- package/dist/swap/router/providers/paraswap.js.map +1 -0
- package/dist/swap/router/providers/uniswap.d.ts +31 -0
- package/dist/swap/router/providers/uniswap.d.ts.map +1 -0
- package/dist/swap/router/providers/uniswap.js +237 -0
- package/dist/swap/router/providers/uniswap.js.map +1 -0
- package/dist/swap/router/providers/zerox.d.ts +13 -0
- package/dist/swap/router/providers/zerox.d.ts.map +1 -0
- package/dist/swap/router/providers/zerox.js +94 -0
- package/dist/swap/router/providers/zerox.js.map +1 -0
- package/dist/swap/router/router.d.ts +86 -0
- package/dist/swap/router/router.d.ts.map +1 -0
- package/dist/swap/router/router.js +224 -0
- package/dist/swap/router/router.js.map +1 -0
- package/dist/swap/router/rsi/engine.d.ts +60 -0
- package/dist/swap/router/rsi/engine.d.ts.map +1 -0
- package/dist/swap/router/rsi/engine.js +483 -0
- package/dist/swap/router/rsi/engine.js.map +1 -0
- package/dist/swap/router/rsi/index.d.ts +3 -0
- package/dist/swap/router/rsi/index.d.ts.map +1 -0
- package/dist/swap/router/rsi/index.js +3 -0
- package/dist/swap/router/rsi/index.js.map +1 -0
- package/dist/swap/router/rsi/types.d.ts +106 -0
- package/dist/swap/router/rsi/types.d.ts.map +1 -0
- package/dist/swap/router/rsi/types.js +3 -0
- package/dist/swap/router/rsi/types.js.map +1 -0
- package/dist/swap/router/types.d.ts +120 -0
- package/dist/swap/router/types.d.ts.map +1 -0
- package/dist/swap/router/types.js +16 -0
- package/dist/swap/router/types.js.map +1 -0
- package/dist/swap/types.d.ts +41 -7
- package/dist/swap/types.d.ts.map +1 -1
- package/dist/swap/types.js +1 -3
- package/dist/swap/types.js.map +1 -1
- package/dist/tax/engine.d.ts +131 -0
- package/dist/tax/engine.d.ts.map +1 -0
- package/dist/tax/engine.js +307 -0
- package/dist/tax/engine.js.map +1 -0
- package/dist/tax/index.d.ts +9 -0
- package/dist/tax/index.d.ts.map +1 -0
- package/dist/tax/index.js +12 -0
- package/dist/tax/index.js.map +1 -0
- package/dist/tax/lots.d.ts +60 -0
- package/dist/tax/lots.d.ts.map +1 -0
- package/dist/tax/lots.js +129 -0
- package/dist/tax/lots.js.map +1 -0
- package/dist/tax/types.d.ts +113 -0
- package/dist/tax/types.d.ts.map +1 -0
- package/dist/tax/types.js +18 -0
- package/dist/tax/types.js.map +1 -0
- package/dist/types.d.ts +106 -5
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +0 -2
- package/dist/types.js.map +1 -1
- package/dist/x402/__tests__/budget.test.d.ts +2 -0
- package/dist/x402/__tests__/budget.test.d.ts.map +1 -0
- package/dist/x402/__tests__/budget.test.js +114 -0
- package/dist/x402/__tests__/budget.test.js.map +1 -0
- package/dist/x402/__tests__/client.test.d.ts +2 -0
- package/dist/x402/__tests__/client.test.d.ts.map +1 -0
- package/dist/x402/__tests__/client.test.js +107 -0
- package/dist/x402/__tests__/client.test.js.map +1 -0
- package/dist/x402/budget.d.ts +23 -15
- package/dist/x402/budget.d.ts.map +1 -1
- package/dist/x402/budget.js +0 -2
- package/dist/x402/budget.js.map +1 -1
- package/dist/x402/chains/abstract/index.d.ts +87 -59
- package/dist/x402/chains/abstract/index.d.ts.map +1 -1
- package/dist/x402/chains/abstract/index.js +0 -2
- package/dist/x402/chains/abstract/index.js.map +1 -1
- package/dist/x402/client.d.ts +27 -13
- package/dist/x402/client.d.ts.map +1 -1
- package/dist/x402/client.js +0 -2
- package/dist/x402/client.js.map +1 -1
- package/dist/x402/index.d.ts +2 -0
- package/dist/x402/index.d.ts.map +1 -1
- package/dist/x402/index.js +0 -2
- package/dist/x402/index.js.map +1 -1
- package/dist/x402/middleware.d.ts +4 -4
- package/dist/x402/middleware.d.ts.map +1 -1
- package/dist/x402/middleware.js +0 -2
- package/dist/x402/middleware.js.map +1 -1
- package/dist/x402/types.d.ts +88 -5
- package/dist/x402/types.d.ts.map +1 -1
- package/dist/x402/types.js +0 -2
- package/dist/x402/types.js.map +1 -1
- package/dist/yield/index.d.ts +26 -0
- package/dist/yield/index.d.ts.map +1 -0
- package/dist/yield/index.js +29 -0
- package/dist/yield/index.js.map +1 -0
- package/dist/yield/rates.d.ts +114 -0
- package/dist/yield/rates.d.ts.map +1 -0
- package/dist/yield/rates.js +351 -0
- package/dist/yield/rates.js.map +1 -0
- package/dist/yield/types.d.ts +134 -0
- package/dist/yield/types.d.ts.map +1 -0
- package/dist/yield/types.js +24 -0
- package/dist/yield/types.js.map +1 -0
- package/dist/yield/vault.d.ts +112 -0
- package/dist/yield/vault.d.ts.map +1 -0
- package/dist/yield/vault.js +264 -0
- package/dist/yield/vault.js.map +1 -0
- package/package.json +18 -32
- package/dist/__tests__/identity.did.test.d.ts +0 -2
- package/dist/__tests__/identity.did.test.d.ts.map +0 -1
- package/dist/__tests__/identity.did.test.js +0 -56
- package/dist/__tests__/identity.did.test.js.map +0 -1
- package/dist/__tests__/staking.test.d.ts +0 -2
- package/dist/__tests__/staking.test.d.ts.map +0 -1
- package/dist/__tests__/staking.test.js +0 -70
- package/dist/__tests__/staking.test.js.map +0 -1
- package/dist/__tests__/verify.test.d.ts +0 -2
- package/dist/__tests__/verify.test.d.ts.map +0 -1
- package/dist/__tests__/verify.test.js +0 -57
- package/dist/__tests__/verify.test.js.map +0 -1
- package/dist/identity/did.d.ts +0 -66
- package/dist/identity/did.d.ts.map +0 -1
- package/dist/identity/did.js +0 -186
- package/dist/identity/did.js.map +0 -1
- package/dist/staking/AgentStakingPool.d.ts +0 -100
- package/dist/staking/AgentStakingPool.d.ts.map +0 -1
- package/dist/staking/AgentStakingPool.js +0 -298
- package/dist/staking/AgentStakingPool.js.map +0 -1
- package/dist/staking/index.d.ts +0 -2
- package/dist/staking/index.d.ts.map +0 -1
- package/dist/staking/index.js +0 -2
- package/dist/staking/index.js.map +0 -1
- package/dist/verify/index.d.ts +0 -2
- package/dist/verify/index.d.ts.map +0 -1
- package/dist/verify/index.js +0 -2
- package/dist/verify/index.js.map +0 -1
- package/dist/verify/verifyAgent.d.ts +0 -42
- package/dist/verify/verifyAgent.d.ts.map +0 -1
- package/dist/verify/verifyAgent.js +0 -216
- package/dist/verify/verifyAgent.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,224 +1,220 @@
|
|
|
1
|
-
#
|
|
1
|
+
# AgentWallet SDK
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Non-custodial AI agent wallet with ERC-8004 on-chain identity, ERC-6551 token-bound accounts, x402 payments, mutual stake escrow, and programmable spending guardrails.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Agent Wallet gives AI agents autonomous spending power with hard on-chain limits. No more choosing between "agent can drain everything" and "every transaction needs manual approval."
|
|
6
6
|
|
|
7
|
-
[
|
|
8
|
-
[](https://discord.gg/958AACqf7Y)
|
|
9
|
-

|
|
10
|
-

|
|
11
|
-

|
|
12
|
-

|
|
7
|
+
> **ERC-8004 Ready:** Maps directly to [ERC-8004 (Trustless Agents)](https://eips.ethereum.org/EIPS/eip-8004) — your agent's ERC-6551 wallet NFT doubles as its on-chain identity handle, with built-in Identity Registry, Reputation Registry, and Validation Registry clients.
|
|
13
8
|
|
|
14
|
-
```bash
|
|
15
|
-
npm i agentwallet-sdk
|
|
16
9
|
```
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
## Why agentwallet-sdk?
|
|
21
|
-
|
|
22
|
-
Most agent wallet solutions compromise on the thing that matters most: who controls the keys.
|
|
23
|
-
|
|
24
|
-
| | agentwallet-sdk | Coinbase Agentic Wallets | MoonPay Agents |
|
|
25
|
-
|---|---|---|---|
|
|
26
|
-
| **Key custody** | Agent holds own keys | Coinbase TEE (custodial) | MoonPay managed |
|
|
27
|
-
| **Freeze risk** | None — on-chain only | Yes — platform can freeze | Yes — KYC-gated |
|
|
28
|
-
| **Cross-chain** | 17 chains via CCTP V2 | Base only | Limited |
|
|
29
|
-
| **Swap fee** | **0.77%** | 0.875% | N/A |
|
|
30
|
-
| **x402 support** | Native (v2.0.1+) | No public x402 client | No |
|
|
31
|
-
| **Spend limits** | On-chain, enforced by contract | Platform-enforced | Platform-enforced |
|
|
32
|
-
| **Agent identity** | DID + Verifiable Credentials | No | No |
|
|
33
|
-
| **Agent staking** | AAVE USDC yield pool | No | No |
|
|
34
|
-
| **KYC required** | No | No | Yes |
|
|
35
|
-
| **MCP compatible** | Yes | No | No |
|
|
36
|
-
|
|
37
|
-
### 0.77% swap fee — 12% cheaper than MetaMask and Coinbase Wallet
|
|
38
|
-
|
|
39
|
-
Both MetaMask and Coinbase Wallet charge **0.875%** on every swap. We charge **0.77%** — the lowest fee from any major wallet SDK. Built for agents that execute hundreds of swaps autonomously. Every basis point compounds.
|
|
40
|
-
|
|
41
|
-
```typescript
|
|
42
|
-
import { SwapModule } from 'agentwallet-sdk/swap';
|
|
43
|
-
|
|
44
|
-
const swap = new SwapModule(publicClient, walletClient, accountAddress);
|
|
45
|
-
|
|
46
|
-
// 0.77% fee — cheaper than MetaMask, cheaper than Coinbase Wallet
|
|
47
|
-
const result = await swap.executeSwap(USDC_ADDRESS, WETH_ADDRESS, 1000_000000n);
|
|
10
|
+
Agent wants to spend $15 → ✅ Auto-approved (under $25 limit)
|
|
11
|
+
Agent wants to spend $500 → ⏳ Queued for your approval
|
|
12
|
+
Agent spent $490 today → 🛑 Next tx queued ($500/day limit hit)
|
|
48
13
|
```
|
|
49
14
|
|
|
50
|
-
|
|
15
|
+
## Why Agent Wallet?
|
|
51
16
|
|
|
52
|
-
|
|
17
|
+
| Approach | Problem |
|
|
18
|
+
|----------|---------|
|
|
19
|
+
| Raw EOA wallet | Agent can drain everything. One prompt injection = rugged. |
|
|
20
|
+
| Multisig (Safe) | Every tx needs human sigs. Kills agent autonomy. |
|
|
21
|
+
| Custodial API (Stripe) | Centralized, KYC friction, not crypto-native. |
|
|
22
|
+
| **Agent Wallet** | **Agents spend freely within limits. Everything else queues for approval.** |
|
|
53
23
|
|
|
54
|
-
|
|
55
|
-
import { createWallet, createX402Fetch, NATIVE_TOKEN } from 'agentwallet-sdk';
|
|
24
|
+
Built on **ERC-6551** (token-bound accounts). Your agent's wallet is tied to an NFT — portable, auditable, fully on-chain.
|
|
56
25
|
|
|
57
|
-
|
|
26
|
+
## Quick Start
|
|
58
27
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
const data = await fetch('https://api.example.com/premium');
|
|
62
|
-
// Server returned 402? Payment handled. Original request retried. Human not consulted.
|
|
28
|
+
```bash
|
|
29
|
+
npm install agentwallet-sdk viem
|
|
63
30
|
```
|
|
64
31
|
|
|
65
|
-
###
|
|
66
|
-
|
|
67
|
-
Every agent gets a permanent, self-sovereign decentralized identity derived directly from its wallet key. No external registry. No KYC. Just cryptographic proof that this agent is who it claims to be.
|
|
32
|
+
### Create a Wallet
|
|
68
33
|
|
|
69
34
|
```typescript
|
|
70
|
-
import {
|
|
35
|
+
import { createWallet, setSpendPolicy, agentExecute, NATIVE_TOKEN } from 'agentwallet-sdk';
|
|
36
|
+
import { createWalletClient, http } from 'viem';
|
|
37
|
+
import { privateKeyToAccount } from 'viem/accounts';
|
|
38
|
+
import { base } from 'viem/chains';
|
|
71
39
|
|
|
72
|
-
|
|
73
|
-
const
|
|
74
|
-
// → "did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK"
|
|
40
|
+
const account = privateKeyToAccount('0x...');
|
|
41
|
+
const walletClient = createWalletClient({ account, chain: base, transport: http() });
|
|
75
42
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
owner: '0xff86...',
|
|
43
|
+
const wallet = createWallet({
|
|
44
|
+
accountAddress: '0xYourAgentWallet',
|
|
45
|
+
chain: 'base',
|
|
46
|
+
walletClient,
|
|
81
47
|
});
|
|
82
48
|
|
|
83
|
-
//
|
|
84
|
-
|
|
49
|
+
// Set a $25/tx, $500/day spend policy for ETH
|
|
50
|
+
await setSpendPolicy(wallet, {
|
|
51
|
+
token: NATIVE_TOKEN,
|
|
52
|
+
perTxLimit: 25000000000000000n, // 0.025 ETH
|
|
53
|
+
periodLimit: 500000000000000000n, // 0.5 ETH
|
|
54
|
+
periodLength: 86400,
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
// Agent executes — auto-approved if within limits, queued if over
|
|
58
|
+
const result = await agentExecute(wallet, {
|
|
59
|
+
to: '0xRecipient',
|
|
60
|
+
value: 10000000000000000n, // 0.01 ETH
|
|
61
|
+
});
|
|
62
|
+
console.log(result.executed ? 'Sent!' : 'Queued for approval');
|
|
85
63
|
```
|
|
86
64
|
|
|
87
|
-
|
|
65
|
+
## ERC-8004 On-Chain Identity
|
|
88
66
|
|
|
89
|
-
|
|
67
|
+
Register your agent on the ERC-8004 Identity Registry — a portable, censorship-resistant on-chain identity using ERC-721.
|
|
90
68
|
|
|
91
69
|
```typescript
|
|
92
|
-
import {
|
|
70
|
+
import { ERC8004Client } from 'agentwallet-sdk';
|
|
93
71
|
|
|
94
|
-
const
|
|
72
|
+
const identity = new ERC8004Client({ chain: 'base' });
|
|
95
73
|
|
|
96
|
-
//
|
|
97
|
-
await
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
walletClient,
|
|
101
|
-
chain: 'base',
|
|
74
|
+
// Register agent
|
|
75
|
+
const { txHash, agentId } = await identity.registerAgent(walletClient, {
|
|
76
|
+
name: 'MyAgent',
|
|
77
|
+
description: 'Autonomous trading agent',
|
|
102
78
|
});
|
|
103
79
|
|
|
104
|
-
//
|
|
105
|
-
const
|
|
106
|
-
console.log(
|
|
80
|
+
// Look up any agent
|
|
81
|
+
const agent = await identity.lookupAgentIdentity(agentId!);
|
|
82
|
+
console.log(agent.owner, agent.agentURI);
|
|
107
83
|
```
|
|
108
84
|
|
|
109
|
-
|
|
85
|
+
## ERC-8004 Reputation Registry
|
|
110
86
|
|
|
111
|
-
|
|
87
|
+
On-chain reputation signals — scored feedback from clients, aggregated summaries, revocable.
|
|
112
88
|
|
|
113
89
|
```typescript
|
|
114
|
-
import {
|
|
115
|
-
|
|
116
|
-
const
|
|
117
|
-
|
|
118
|
-
//
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
90
|
+
import { ReputationClient } from 'agentwallet-sdk';
|
|
91
|
+
|
|
92
|
+
const reputation = new ReputationClient({ chain: 'base' });
|
|
93
|
+
|
|
94
|
+
// Leave feedback for an agent
|
|
95
|
+
await reputation.giveFeedback(walletClient, {
|
|
96
|
+
agentId: 42n,
|
|
97
|
+
score: 95n,
|
|
98
|
+
category: 1,
|
|
99
|
+
comment: 'Fast execution, accurate results',
|
|
100
|
+
taskRef: 'task-abc-123',
|
|
101
|
+
verifierRef: '',
|
|
102
|
+
clientRef: '',
|
|
103
|
+
contentHash: '0x0000000000000000000000000000000000000000000000000000000000000000',
|
|
104
|
+
});
|
|
105
|
+
|
|
106
|
+
// Read aggregated reputation
|
|
107
|
+
const rep = await reputation.getAgentReputation(42n);
|
|
108
|
+
console.log(`Score: ${rep.totalScore} from ${rep.count} reviews`);
|
|
129
109
|
```
|
|
130
110
|
|
|
131
|
-
|
|
111
|
+
## ERC-8004 Validation Registry
|
|
132
112
|
|
|
133
|
-
|
|
113
|
+
Request and receive on-chain validation from validator contracts (TEE attestations, capability proofs, compliance checks).
|
|
134
114
|
|
|
135
115
|
```typescript
|
|
136
|
-
import {
|
|
116
|
+
import { ValidationClient } from 'agentwallet-sdk';
|
|
117
|
+
import { keccak256, toBytes } from 'viem';
|
|
137
118
|
|
|
138
|
-
const
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
amount: 1_000_000n,
|
|
142
|
-
sourceChain: 'solana',
|
|
143
|
-
destinationChain: 'base',
|
|
144
|
-
destinationAddress: '0x...',
|
|
119
|
+
const validation = new ValidationClient({
|
|
120
|
+
chain: 'base',
|
|
121
|
+
validationAddress: '0xYourValidationRegistry', // address required until official deployment
|
|
145
122
|
});
|
|
146
|
-
```
|
|
147
123
|
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
124
|
+
// Request validation from a validator
|
|
125
|
+
const requestHash = keccak256(toBytes('my-validation-request-v1'));
|
|
126
|
+
await validation.requestValidation(walletClient, {
|
|
127
|
+
validator: '0xValidatorContract',
|
|
128
|
+
agentId: 42n,
|
|
129
|
+
requestURI: 'https://example.com/validation-spec.json',
|
|
130
|
+
requestHash,
|
|
131
|
+
});
|
|
151
132
|
|
|
152
|
-
|
|
133
|
+
// Check validation status
|
|
134
|
+
const status = await validation.getValidationStatus(requestHash);
|
|
135
|
+
console.log(status.responded ? `Result: ${status.response}` : 'Pending');
|
|
153
136
|
|
|
154
|
-
|
|
155
|
-
|
|
137
|
+
// Get summary for an agent
|
|
138
|
+
const summary = await validation.getSummary(42n);
|
|
139
|
+
console.log(`${summary.passCount} passed, ${summary.failCount} failed`);
|
|
156
140
|
```
|
|
157
141
|
|
|
158
|
-
##
|
|
142
|
+
## Mutual Stake Escrow
|
|
159
143
|
|
|
160
|
-
|
|
161
|
-
import { createWallet, setSpendPolicy, agentExecute, NATIVE_TOKEN } from 'agentwallet-sdk';
|
|
162
|
-
import { createWalletClient, http } from 'viem';
|
|
163
|
-
import { privateKeyToAccount } from 'viem/accounts';
|
|
144
|
+
Reciprocal collateral for agent-to-agent task settlement. Both parties stake, both lose if the task fails.
|
|
164
145
|
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
transport: http('https://mainnet.base.org'),
|
|
168
|
-
});
|
|
146
|
+
```typescript
|
|
147
|
+
import { MutualStakeEscrow } from 'agentwallet-sdk';
|
|
169
148
|
|
|
170
|
-
const
|
|
171
|
-
accountAddress: '0xYOUR_AGENT_ACCOUNT',
|
|
149
|
+
const escrow = new MutualStakeEscrow({
|
|
172
150
|
chain: 'base',
|
|
173
151
|
walletClient,
|
|
174
152
|
});
|
|
175
153
|
|
|
176
|
-
//
|
|
177
|
-
await
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
154
|
+
// Create escrow — both agent and client stake
|
|
155
|
+
const { escrowId, txHash } = await escrow.create({
|
|
156
|
+
counterparty: '0xOtherAgent',
|
|
157
|
+
token: '0xUSDC',
|
|
158
|
+
stakeAmount: 100000000n, // 100 USDC
|
|
159
|
+
taskHash: '0x...',
|
|
160
|
+
deadline: BigInt(Math.floor(Date.now() / 1000) + 86400),
|
|
182
161
|
});
|
|
183
162
|
|
|
184
|
-
//
|
|
185
|
-
await
|
|
163
|
+
// Counterparty funds their side
|
|
164
|
+
await escrow.fund(escrowId);
|
|
165
|
+
|
|
166
|
+
// After task completion, fulfill
|
|
167
|
+
await escrow.fulfill(escrowId, proofHash);
|
|
168
|
+
|
|
169
|
+
// Verify and release stakes
|
|
170
|
+
await escrow.verify(escrowId);
|
|
186
171
|
```
|
|
187
172
|
|
|
188
|
-
##
|
|
173
|
+
## Feature Tiers
|
|
174
|
+
|
|
175
|
+
### Base (Free)
|
|
176
|
+
|
|
177
|
+
| Feature | Description |
|
|
178
|
+
|---------|-------------|
|
|
179
|
+
| Agent Identity | ERC-8004 Identity Registry — on-chain ERC-721 agent IDs |
|
|
180
|
+
| Agent Reputation | ERC-8004 Reputation Registry — scored feedback and summaries |
|
|
181
|
+
| Agent Validation | ERC-8004 Validation Registry — validator request/response |
|
|
182
|
+
| ERC-6551 TBA | NFT-bound wallets with autonomous spending |
|
|
183
|
+
| Mutual Stake Escrow | Reciprocal collateral task settlement |
|
|
184
|
+
| Optimistic Escrow | Time-locked optimistic verification |
|
|
185
|
+
| x402 Payments | HTTP 402 auto-pay for agent-to-service payments |
|
|
186
|
+
| CCTP Bridge | Circle CCTP V2 across 17 chains + Solana |
|
|
187
|
+
| Spend Policies | Per-token, per-period on-chain spending limits |
|
|
188
|
+
| Swap | Uniswap V3 on Base/Arbitrum/Optimism |
|
|
189
|
+
| Fiat Onramp | Opt-in fiat-to-crypto |
|
|
190
|
+
| AP2 Protocol | Agent-to-Agent task delegation and payment |
|
|
191
|
+
| Settlement | On-chain settlement finalization |
|
|
192
|
+
| Gas Sponsorship | ERC-4337 paymaster-based gas sponsorship |
|
|
193
|
+
| Solana Support | Cross-chain Solana bridging via CCTP |
|
|
194
|
+
|
|
195
|
+
### Premium
|
|
189
196
|
|
|
190
|
-
|
|
|
191
|
-
|
|
192
|
-
|
|
|
193
|
-
|
|
|
194
|
-
|
|
|
195
|
-
|
|
|
196
|
-
|
|
|
197
|
-
| Identity | `agentwallet-sdk/identity` | Agent DID (W3C did:key) + Verifiable Credentials |
|
|
198
|
-
| Staking | `agentwallet-sdk/staking` | Agent-only AAVE USDC yield pool |
|
|
199
|
-
| Verify | `agentwallet-sdk/verify` | Trust bundle — DID + staking + reputation |
|
|
197
|
+
| Feature | Description |
|
|
198
|
+
|---------|-------------|
|
|
199
|
+
| CowSwap Solver | Batch auction solutions, earn COW tokens |
|
|
200
|
+
| Flash Executor | Atomic flash loan execution |
|
|
201
|
+
| MEV Protection | Private mempool via Flashbots/MEV Blocker |
|
|
202
|
+
| Yield Staking | Aave V3, Compound V3, Morpho Blue strategies |
|
|
203
|
+
| Tax Reporting | Cost basis and gain/loss reporting |
|
|
200
204
|
|
|
201
|
-
|
|
205
|
+
Premium access: [github.com/up2itnow/AgentNexus2](https://github.com/up2itnow/AgentNexus2)
|
|
202
206
|
|
|
203
|
-
|
|
207
|
+
## Supported Chains
|
|
204
208
|
|
|
205
|
-
|
|
206
|
-
|---|---|---|
|
|
207
|
-
| **Open source** | ✅ MIT licensed | ❌ Closed enterprise product |
|
|
208
|
-
| **x402-native** | ✅ Built-in (v2.0.1+) | ❌ No x402 support |
|
|
209
|
-
| **Key custody** | Agent holds own keys | MoonPay managed |
|
|
210
|
-
| **KYC required** | ❌ None | ✅ KYC-gated |
|
|
211
|
-
| **Vendor lock-in** | ❌ On-chain, permissionless | ✅ Platform-dependent |
|
|
212
|
-
| **Cross-chain** | 17 chains via CCTP V2 | Limited |
|
|
213
|
-
| **DID / identity** | ✅ W3C did:key standard | ❌ No |
|
|
209
|
+
Mainnet: Ethereum, Base, Arbitrum, Polygon, Optimism, Avalanche, BSC, Celo, Gnosis, Linea, Mantle, Scroll, and more.
|
|
214
210
|
|
|
215
|
-
|
|
211
|
+
Testnet: Base Sepolia, Arbitrum Sepolia, and corresponding testnets.
|
|
216
212
|
|
|
217
|
-
##
|
|
213
|
+
## Links
|
|
218
214
|
|
|
219
|
-
- [
|
|
220
|
-
- [
|
|
221
|
-
- [
|
|
215
|
+
- [ERC-8004 Spec](https://eips.ethereum.org/EIPS/eip-8004)
|
|
216
|
+
- [GitHub](https://github.com/agentnexus/agent-wallet-sdk)
|
|
217
|
+
- [npm](https://www.npmjs.com/package/agentwallet-sdk)
|
|
222
218
|
|
|
223
219
|
## License
|
|
224
220
|
|