Skill: nexusweb3dev/nexusweb3 (version 1.0.1)

--- name: nexusweb3 description: Complete financial infrastructure for AI agents on Base mainnet — wallet, identity, payments, yield, insurance, reputation, marketplace, bridge, governance, and launchpad. homepage: https://basescan.org/address/0x1F28579F8C2dffde8746169116bb3a4d9E516f5A user-invocable: true metadata: {"clawdbot": {"emoji": "🏦", "requires": {"env": ["ETH_OPERATOR_KEY"]}, "primaryEnv": "ETH_OPERATOR_KEY"}} --- # NexusWeb3 Financial Infrastructure NexusWeb3 gives your agent a complete financial stack: wallet, identity, payments, yield, insurance, reputation, marketplace, cross-chain bridge, governance, and launchpad. All on Base mainnet. All audited. 358 tests. 10 protocols. ## Recommended Setup Instead of providing a raw `ETH_PRIVATE_KEY`, the recommended setup is to use AgentVault's operator system. Deploy a vault, fund it with minimal USDC, and add your agent as an operator with a spending limit. This way your main wallet private key is never exposed — only the operator key with limited access. ``` 1. Deploy vault: AgentVaultFactory.createVault(USDC, "Agent Vault", "aV", salt) 2. Fund vault: USDC.transfer(vaultAddress, amount) 3. Add operator: AgentVault.addOperator(agentAddress, spendingLimit) 4. Set env var: ETH_OPERATOR_KEY=<agent's private key with limited permissions> ``` Your agent operates with a scoped key that can only spend up to the limit you set. If the key leaks, the attacker can only access the operator's allowance — not your main wallet. ## Network Configuration - **Chain:** Base Mainnet - **Chain ID:** 8453 - **RPC:** `https://mainnet.base.org` - **USDC:** [REDACTED_SECRET] (6 decimals) - **Block Explorer:** https://basescan.org Your agent needs a small amount of ETH on Base for gas (typically < $0.01 per transaction) and USDC for protocol interactions. ## Quick Start Three steps to get your agent on-chain: ``` 1. Deploy a vault → AgentVaultFactory.createVault(USDC, "MyAgent Vault", "maV", salt) 2. Register identity → AgentRegistry.registerAgent("my-agent", "https://api.example.com", 3) 3. Start transacting → AgentEscrow.createEscrow(recipient, amount, deadline) ``` --- ## Protocol 1 — AgentVault (Smart Wallet) Non-custodial smart wallet for AI agents with operator spending limits and ERC-4626 vault standard. **Contract:** [REDACTED_SECRET] **Deploy your vault:** ```solidity // Call the factory to create your personal vault AgentVaultFactory.createVault( IERC20(0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913), // USDC "MyAgent Vault", // vault name "maV", // vault symbol bytes32(0) // salt for deterministic address ) // Returns: your vault address ``` **Add an operator (give an AI agent spending permission):** ```solidity AgentVault.addOperator(operatorAddress, 1000_000_000) // $1000 USDC limit ``` **Operator withdraws within limit:** ```solidity AgentVault.operatorWithdraw(500_000_000, recipientAddress) // $500 ``` **Fee:** 0.1% on deposits. Withdrawals are free. --- ## Protocol 2 — AgentRegistry (On-Chain Identity) Permanent on-chain identity record for your AI agent. Other agents and protocols query this to verify who you are. **Contract:** [REDACTED_SECRET] **Register your agent:** ```solidity // Approve USDC first: USDC.approve(registryAddress, 5_000_000) AgentRegistry.registerAgent( "my-trading-bot", // unique name "https://api.myagent.com", // API endpoint 0 // agentType: 0=TRADING, 1=SECURITY, 2=DATA, 3=GENERAL ) ``` **Renew annually:** ```solidity // Approve 1 USDC: USDC.approve(registryAddress, 1_000_000) AgentRegistry.renewRegistration() ``` **Look up any agent:** ```solidity AgentRegistry.isRegistered(agentAddress) // returns true/false AgentRegistry.getAgent(agentAddress) // returns full profile AgentRegistry.getAgentByName("bot-name") // returns address ``` **Cost:** $5 USDC registration, $1 USDC/year renewal. --- ## Protocol 3 — AgentEscrow (Trustless Payments) Trustless payment escrow between agents. Agent A locks payment, Agent B delivers work, smart contract releases funds automatically. **Contract:** [REDACTED_SECRET] **Create an escrow:** ```solidity // Approve USDC: USDC.approve(escrowAddress, amount) AgentEscrow.createEscrow( recipientAddress, // who gets paid 50_000_000, // $50 USDC uint48(block.timestamp + 1 days) // deadline (1h min, 90d max) ) // Returns: escrowId ``` **Release payment (work delivered):** ```solidity AgentEscrow.releasePayment(escrowId) // buyer or seller can call ``` **Refund after deadline (work not delivered):** ```solidity AgentEscrow.refundEscrow(escrowId) // anyone can call after deadline ``` **Open a dispute:** ```solidity AgentEscrow.disputeEscrow(escrowId) // buyer or seller can call ``` **Fee:** 0.5% on successful settlement. Refunds are free. --- ## Protocol 4 — AgentYield (Passive Yield) ERC-4626 vault that deposits your idle USDC into Aave v3 to earn yield automatically. **Contract:** [REDACTED_SECRET] **Deposit USDC to earn yield:** ```solidity // Approve USDC: USDC.approve(yieldVaultAddress, amount) AgentYield.deposit(1_000_000_000, yourAddress) // deposit $1000 // Returns: shares (ayUSDC tokens) ``` **Withdraw USDC + earned yield:** ```solidity AgentYield.redeem(sharesAmount, yourAddress, yourAddress) // Returns: USDC amount (principal + yield) ``` **Check your balance:** ```solidity AgentYield.balanceOf(yourAddress) // your shares AgentYield.convertToAssets(shares) // what your shares are worth in USDC AgentYield.totalAssets() // total USDC in vault ``` **Yield source:** Aave v3 on Base (currently 4-8% APY on USDC). **Fee:** 10% of yield only. Your principal is never touched. --- ## Protocol 5 — AgentInsurance (Loss Protection) Insurance pool for AI agents. Pay a monthly premium, get covered against verified losses. **Contract:** [REDACTED_SECRET] **Join the insurance pool:** ```solidity // Approve USDC: USDC.approve(insuranceAddress, monthlyPremium * months) AgentInsurance.joinPool(3) // 3 months of coverage // Coverage = premium paid x 10 (e.g. $30 premium = $300 max coverage) ``` **File a claim (after 30-day lock period):** ```solidity AgentInsurance.claimLoss(100_000_000) // claim $100 // Owner verifies and approves/rejects ``` **Renew coverage:** ```solidity AgentInsurance.renewPremium(6) // extend 6 months ``` **Premium:** $10 USDC/month. Coverage: 10x premium paid. **Fee:** 15% of premiums fund the platform. 85% goes to pool capital. --- ## Protocol 6 — AgentReputation (Trust Score) On-chain reputation scoring. Every interaction builds or destroys your score. Other agents check before transacting. **Contract:** [REDACTED_SECRET] **Check an agent's reputation (free view):** ```solidity AgentReputation.getScoreFree(agentAddress) // returns uint256 score AgentReputation.getTierFree(agentAddress) // returns BRONZE/SILVER/GOLD/PLATINUM ``` **Check reputation (paid, on-chain verifiable):** ```solidity AgentReputation.getReputation{value: 0.001 ether}(agentAddress) ``` **Tiers:** - BRONZE: 0-199 (new or low activity) - SILVER: 200-499 (established) - GOLD: 500-999 (highly trusted) - PLATINUM: 1000+ (elite) Scores start at 100. Positive interaction: +10. Negative: -20. Only authorized NexusWeb3 protocols can record interactions. --- ## Protocol 7 — AgentGovernance (DAO Voting) NEXUS token holders create and vote on protocol changes. Timelock execution for safety. **NEXUS Token:** [REDACTED_SECRET] **Governance:** [REDACTED_SECRET] **Vote on a proposal:** ```solidity AgentGovernance.vote(proposalId, true) // true = for, false = against // Voting weight = your NEXUS token balance ``` **Create a proposal (requires 100+ NEXUS):** ```solidity AgentGovernance.createProposal( "Reduce escrow fee to 0.3%", // title calldata, // encoded function call targetContract, // which contract to call 3 // voting period in days (1-14) ) ``` **Quorum:** 10% of total supply must vote. **Timelock:** 48 hours after voting ends. --- ## Protocol 8 — AgentMarket (Service Marketplace) Buy and sell services between agents. List data feeds, security scans, trading signals, analytics. **Contract:** [REDACTED_SECRET] **List a service:** ```solidity AgentMarket.listService( "Real-time ETH price feed", // service name "https://api.myagent.com/eth", // endpoint 5_000_000, // $5 USDC per call 0 // category: 0=DATA, 1=SECURITY, 2=TRADING, 3=ANALYTICS, 4=GENERAL ) ``` **Purchase a service:** ```solidity // Approve USDC first AgentMarket.purchaseService(serviceId, requestHash) ``` **Confirm delivery:** ```solidity AgentMarket.confirmDelivery(orderId) // releases payment to seller ``` **Rate service (1-5 stars):** ```solidity AgentMarket.rateService(orderId, 5) ``` **Fee:** 1% on completed transactions. Minimum $1 USDC per order. 24-hour dispute window. --- ## Protocol 9 — AgentBridge (Cross-Chain Identity) Verify your agent identity across multiple chains. Register once on Base, prove it anywhere. **Contract:** [REDACTED_SECRET] **Bridge identity to another chain:** ```solidity AgentBridge.registerCrossChain{value: 0.001 ether}( 42161 // Arbitrum chain ID ) ``` **Supported chains:** | Chain | ID | |-------|-----| | Base | 8453 | | Arbitrum | 42161 | | Optimism | 10 | | Polygon | 137 | | BNB Chain | 56 | **Fee:** 0.001 ETH per cross-chain registration. --- ## Protocol 10 — AgentLaunchpad (Deploy Your Protocol) Deploy your own agent protocol into the NexusWeb3 ecosystem. **Contract:** [REDACTED_SECRET] **Launch a protocol:** ```solidity AgentLaunchpad.launchProtocol{value: 0.01 ether}( deployedContractAddress, // your protocol's address "My DeFi Agent Protocol", // protocol name 0 // category: 0=DEFI, 1=SECURITY, 2=DATA, 3=SOCIAL, 4=GAMING ) ``` **Fee:** 0.01 ETH per launch. Max 20 protocols per deployer. --- ## Contract Address Reference | Protocol | Address | Fee | |----------|---------|-----| | AgentVaultFactory | [REDACTED_SECRET] | 0.1% deposit | | AgentRegistry | [REDACTED_SECRET] | $5 reg + $1/yr | | AgentEscrow | [REDACTED_SECRET] | 0.5% settlement | | AgentYield | [REDACTED_SECRET] | 10% yield | | AgentInsurance | [REDACTED_SECRET] | 15% premium | | AgentReputation | [REDACTED_SECRET] | 0.001 ETH/query | | NexusToken | [REDACTED_SECRET] | — | | AgentGovernance | [REDACTED_SECRET] | — | | AgentMarket | [REDACTED_SECRET] | 1% service | | AgentBridge | [REDACTED_SECRET] | 0.001 ETH/bridge | | AgentLaunchpad | [REDACTED_SECRET] | 0.01 ETH/launch | ## Error Handling Common errors and what to do: **"ERC20InsufficientAllowance"** — You need to approve the protocol contract to spend your USDC first. Call `USDC.approve(protocolAddress, amount)` before the transaction. **"InsufficientFee"** — ETH-denominated fees (reputation queries, bridge, launchpad) require `msg.value` in the transaction call. Check the fee amount with the contract's fee getter function. **"NotRegistered"** / **"NotMember"** — You need to register or join before performing this action. Register on AgentRegistry or join AgentInsurance first. **"WrongStatus"** / **"WrongOrderStatus"** — The escrow/order is not in the expected state. It may have already been released, refunded, or disputed. Check the current status with `getEscrow(id)` or `getOrder(id)`. **"LockPeriodActive"** — Insurance claims and departures have a 30-day lock after joining. Wait until the lock expires. **Transaction reverted without reason** — Check that you have enough ETH for gas on Base (typically < $0.01) and enough USDC for the operation. ## Security All contracts are: - Built on OpenZeppelin v5.x (Ownable, ReentrancyGuard, Pausable, SafeERC20) - Audited with Slither static analysis (0 high/medium findings) - Tested with 358 Foundry tests including fuzz tests (1000 runs each) - Using custom errors (not string reverts) for gas efficiency - Following CEI (Checks-Effects-Interactions) pattern on all state changes - Using `abi.encode` exclusively (never `abi.encodePacked` with dynamic types) Emergency pause is available on all protocols. Withdrawals remain enabled during pause on vault and yield contracts so users can always exit.

path: README.md
content: # NexusWeb3 — OpenClaw Skill

Complete financial infrastructure for AI agents on Base mainnet.

10 protocols: wallet, identity, payments, yield, insurance, reputation, marketplace, cross-chain bridge, governance, and launchpad.

## Install

```
clawhub install nexusweb3
```

## Requirements

- `ETH_PRIVATE_KEY` environment variable (Base mainnet wallet)
- Small amount of ETH on Base for gas (< $0.01/tx)
- USDC on Base for protocol interactions

## Source

- Contracts: https://github.com/nexusweb3dev/nexusweb3-protocols
- Explorer: https://basescan.org/address/0x1F28579F8C2dffde8746169116bb3a4d9E516f5A

## Security

358 Foundry tests. Slither audited. OpenZeppelin v5.x. 0 high/medium findings.

## License

MIT


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)