# Send Portfolio Risk Analyzer to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "portfolio-risk-analyzer",
    "name": "Portfolio Risk Analyzer",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/kellyclaudeai/portfolio-risk-analyzer",
    "canonicalUrl": "https://clawhub.ai/kellyclaudeai/portfolio-risk-analyzer",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/portfolio-risk-analyzer",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=portfolio-risk-analyzer",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "README.md",
      "SKILL.md",
      "package.json",
      "scripts/analyze-wallet.sh",
      "scripts/execute-buyback.sh",
      "server.js"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/portfolio-risk-analyzer"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/portfolio-risk-analyzer",
    "downloadUrl": "https://openagent3.xyz/downloads/portfolio-risk-analyzer",
    "agentUrl": "https://openagent3.xyz/skills/portfolio-risk-analyzer/agent",
    "manifestUrl": "https://openagent3.xyz/skills/portfolio-risk-analyzer/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/portfolio-risk-analyzer/agent.md"
  }
}
```
## Documentation

### Portfolio Risk & Optimization Analyzer

AI-powered crypto portfolio risk analysis with automated $BANKR buyback monetization.

### Overview

Crypto traders suck at risk management. This tool:

🔍 Scans wallets in real-time
📊 Breaks down exposures (DeFi, memecoins, stablecoins, NFTs)
⚠️ Runs stress tests & scenario analysis
💡 Suggests rebalances & hedges
🎙️ Voice-activated via phone calls
💰 Pays for itself by buying back $BANKR with fees

### Monetization Model

Payment Required:

One-time scan: $5 in ETH/USDC
Monthly subscription: $20/month (unlimited scans)
FREE for $BANKR holders (≥1000 tokens)

Auto-Buyback Mechanism:

100% of fees → Uniswap swap to $BANKR
Creates constant buy pressure
Burns or distributes to stakers

Token Address:

$BANKR: 0x50D2280441372486BeecdD328c1854743EBaCb07 (Base/Polygon)

### 1. Real-Time Portfolio Scanning

Multi-chain support (Ethereum, Base, Polygon, Arbitrum, Optimism)
Token balances & values
DeFi positions (Aave, Compound, Uniswap LPs)
NFT holdings & floor prices
Staking positions

### 2. Risk Breakdown

Asset Class Exposure

Stablecoins: X%
Blue chips (ETH, BTC): X%
DeFi tokens: X%
Memecoins: X%
NFTs: X%



Protocol Risk

Smart contract risk scoring
Audit status
TVL & age



Concentration Risk

Top 5 holdings
Diversification score (0-100)



Impermanent Loss

LP position IL calculation
Historical IL data

### 3. Stress Testing

Market Crash Scenarios

-20%, -50%, -80% market drops
Correlation analysis



Liquidation Risk

Collateral ratios
Liquidation prices



Gas Cost Impact

Exit costs in high-gas scenarios

### 4. Optimization Recommendations

Rebalancing suggestions
Hedging strategies
Yield optimization
Tax-loss harvesting opportunities

### 5. Voice Interface

Call the analyzer bot:

"How risky is my portfolio?"
"What's my biggest exposure?"
"Should I rebalance?"
"Am I at risk of liquidation?"

### 1. Node Providers

Set up RPC endpoints:

export ETHEREUM_RPC="https://eth-mainnet.g.alchemy.com/v2/YOUR_KEY"
export BASE_RPC="https://base-mainnet.g.alchemy.com/v2/YOUR_KEY"
export POLYGON_RPC="https://polygon-mainnet.g.alchemy.com/v2/YOUR_KEY"

### 2. Data APIs

export COINGECKO_API_KEY="your_key"
export DEFILLAMA_API_KEY="your_key"  # Optional, has public tier
export OPENSEA_API_KEY="your_key"    # For NFT data

### 3. Payment Wallet

Private key for receiving payments & executing buybacks:

export PAYMENT_WALLET_KEY="your_private_key"

### 4. Twilio (for voice interface)

export TWILIO_ACCOUNT_SID="your_sid"
export TWILIO_AUTH_TOKEN="your_token"
export TWILIO_PHONE_NUMBER="+1234567890"

### Install

clawdhub install portfolio-risk-analyzer
cd skills/portfolio-risk-analyzer
npm install  # Install dependencies

### Configure

Create .env:

# RPC Endpoints
ETHEREUM_RPC=https://eth-mainnet.g.alchemy.com/v2/YOUR_KEY
BASE_RPC=https://base-mainnet.g.alchemy.com/v2/YOUR_KEY
POLYGON_RPC=https://polygon-mainnet.g.alchemy.com/v2/YOUR_KEY

# APIs
COINGECKO_API_KEY=your_key
DEFILLAMA_API_KEY=your_key
OPENSEA_API_KEY=your_key

# Payment & Buyback
PAYMENT_WALLET_ADDRESS=0xYourAddress
PAYMENT_WALLET_KEY=your_private_key
BANKR_TOKEN=0x50D2280441372486BeecdD328c1854743EBaCb07
UNISWAP_ROUTER=0x... # Uniswap V3 router address

# Voice
TWILIO_ACCOUNT_SID=your_sid
TWILIO_AUTH_TOKEN=your_token
TWILIO_PHONE_NUMBER=+1234567890

### Analyze a Wallet

./scripts/analyze-wallet.sh 0xYourWalletAddress

### Start Payment Gateway

./scripts/payment-server.sh
# Listens on port 3000 for payment webhooks

### Start Voice Bot

./scripts/voice-bot.sh
# Users call your Twilio number

### analyze-wallet.sh - Full Portfolio Analysis

./scripts/analyze-wallet.sh <wallet_address> [--chain ethereum|base|polygon|all]

Output:

Asset breakdown
Risk scores
Exposure analysis
Recommendations

Example:

./scripts/analyze-wallet.sh 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb

### check-payment.sh - Verify Payment

./scripts/check-payment.sh <tx_hash>

Verifies payment and checks if user holds $BANKR for free access.

### execute-buyback.sh - Swap Fees to $BANKR

./scripts/execute-buyback.sh <amount_usdc>

Automatically swaps collected fees to $BANKR via Uniswap.

### stress-test.sh - Run Scenarios

./scripts/stress-test.sh <wallet_address> --scenario crash|liquidation|gas

### optimize.sh - Generate Recommendations

./scripts/optimize.sh <wallet_address>

### 1. User Requests Analysis

curl -X POST https://your-domain.com/api/analyze \\
  -H "Content-Type: application/json" \\
  -d '{
    "wallet": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
    "payment_tx": "0x123abc..."
  }'

### 2. Verify Payment

// Check if user paid or holds BANKR
const bankrBalance = await getBankrBalance(wallet);
const hasPaid = await verifyPaymentTx(payment_tx);

if (bankrBalance >= 1000 || hasPaid) {
  // Run analysis
} else {
  return { error: "Payment required" };
}

### 3. Execute Analysis

const analysis = await analyzePortfolio(wallet);
return analysis;

### 4. Auto-Buyback

// Every hour or when fees > $100
if (collectedFees > 100) {
  await executeUniswapBuyback(collectedFees, BANKR_TOKEN);
}

### Portfolio Risk Score (0-100)

const riskScore = 
  (concentrationRisk * 0.3) +
  (volatilityRisk * 0.3) +
  (liquidationRisk * 0.2) +
  (protocolRisk * 0.2);

Components:

Concentration Risk: % held in top 3 assets
Volatility Risk: Based on asset price volatility
Liquidation Risk: How close to liquidation
Protocol Risk: Smart contract risk scores

### Risk Categories

0-20: 🟢 Low Risk (Conservative)
21-40: 🟡 Low-Moderate
41-60: 🟠 Moderate
61-80: 🔴 High Risk
81-100: ⚫ Extreme Risk (Degen)

### Rebalancing Suggestions

// If memecoin exposure > 30%
if (memecoins / totalValue > 0.3) {
  suggest("Reduce memecoin exposure to 15%");
  suggest("Move profits to ETH or stablecoins");
}

// If no stablecoins
if (stablecoins / totalValue < 0.1) {
  suggest("Add 10-20% stablecoin buffer");
}

// If single asset > 50%
if (largestHolding > 0.5) {
  suggest("Diversify: no single asset > 30%");
}

### Hedging Strategies

// If long-only crypto portfolio
suggest("Consider shorting BTC perpetuals for downside protection");

// If large LP positions
suggest("Hedge IL with options or reduce LP size");

### Yield Optimization

// Find best yields
const aaveYield = await getAaveRate("USDC");
const compoundYield = await getCompoundRate("USDC");

if (stablecoinBalance > 1000 && max(aaveYield, compoundYield) > 5) {
  suggest(\`Deposit stables in ${aaveYield > compoundYield ? 'Aave' : 'Compound'} for ${Math.max(aaveYield, compoundYield)}% APY\`);
}

### Call Flow

User calls Twilio number
IVR: "Say your wallet address or ENS name"
Validate wallet
Check payment/BANKR balance
If valid: Run analysis
Read results over phone
Offer detailed report via SMS/email

### Voice Commands

"Analyze my portfolio" → Full risk analysis
"What's my risk score?" → Just the score
"Am I exposed to liquidation?" → Liquidation check
"Should I rebalance?" → Optimization advice
"What's my biggest holding?" → Top position

### Example Script

// voice-bot.js
const VoiceResponse = require('twilio').twiml.VoiceResponse;

app.post('/voice', async (req, res) => {
  const twiml = new VoiceResponse();
  
  twiml.say("Welcome to Portfolio Risk Analyzer. Please say your wallet address.");
  
  const gather = twiml.gather({
    input: 'speech',
    action: '/analyze'
  });
  
  res.type('text/xml');
  res.send(twiml.toString());
});

app.post('/analyze', async (req, res) => {
  const wallet = req.body.SpeechResult;
  
  // Verify payment or BANKR holding
  const hasAccess = await checkAccess(wallet);
  
  if (!hasAccess) {
    twiml.say("Payment required. Send $5 USDC to our wallet, then call back.");
    return res.send(twiml.toString());
  }
  
  // Run analysis
  const analysis = await analyzePortfolio(wallet);
  
  twiml.say(\`Your portfolio risk score is ${analysis.riskScore} out of 100.\`);
  twiml.say(\`You have ${analysis.summary.concentrationRisk}% concentration risk.\`);
  twiml.say(analysis.recommendations.join('. '));
  
  res.send(twiml.toString());
});

### POST /api/analyze

Analyze a wallet portfolio.

Request:

{
  "wallet": "0x742d35Cc...",
  "payment_tx": "0x123abc...",
  "chain": "ethereum"
}

Response:

{
  "wallet": "0x742d35Cc...",
  "riskScore": 65,
  "totalValue": 125000,
  "breakdown": {
    "stablecoins": 15000,
    "bluechips": 50000,
    "defi": 30000,
    "memecoins": 25000,
    "nfts": 5000
  },
  "exposures": {
    "ethereum": 45,
    "uniswap": 20,
    "shib": 15
  },
  "risks": {
    "concentration": 65,
    "volatility": 70,
    "liquidation": 20,
    "protocol": 30
  },
  "recommendations": [
    "Reduce memecoin exposure from 20% to 10%",
    "Add 15% stablecoin buffer",
    "Diversify: SHIB is 15% of portfolio"
  ]
}

### POST /api/payment/verify

Verify payment transaction.

Request:

{
  "tx_hash": "0x123abc...",
  "amount": 5
}

Response:

{
  "valid": true,
  "amount_paid": 5.0,
  "from": "0x742d35Cc...",
  "timestamp": 1706805600
}

### POST /api/buyback/execute

Trigger manual buyback (admin only).

Request:

{
  "admin_key": "secret",
  "amount": 100
}

Response:

{
  "success": true,
  "tx_hash": "0xabc123...",
  "bankr_bought": 12500,
  "price": 0.008
}

### Smart Contract (Optional)

For on-chain payment verification:

// PaymentGate.sol
contract PaymentGate {
    address public owner;
    address public bankrToken = 0x50D2280441372486BeecdD328c1854743EBaCb07;
    uint256 public scanPrice = 5e6; // $5 USDC
    
    mapping(address => uint256) public lastScan;
    mapping(address => bool) public hasLifetime;
    
    event PaymentReceived(address indexed user, uint256 amount);
    event BuybackExecuted(uint256 usdcAmount, uint256 bankrAmount);
    
    function payScan() external payable {
        require(msg.value >= scanPrice, "Insufficient payment");
        lastScan[msg.sender] = block.timestamp;
        emit PaymentReceived(msg.sender, msg.value);
        
        // Auto-buyback via Uniswap
        _executeBuyback(msg.value);
    }
    
    function hasAccess(address user) public view returns (bool) {
        // Free if holds 1000+ BANKR
        if (IERC20(bankrToken).balanceOf(user) >= 1000e18) {
            return true;
        }
        
        // Or paid within last 30 days
        if (block.timestamp - lastScan[user] < 30 days) {
            return true;
        }
        
        return false;
    }
    
    function _executeBuyback(uint256 amount) internal {
        // Swap USDC → BANKR via Uniswap
        // Send to burn address or distribute to stakers
    }
}

### 1. Deploy Payment Contract (Optional)

npx hardhat run scripts/deploy.js --network base

### 2. Start API Server

node server.js
# Runs on port 3000

### 3. Configure Domain

# Point your domain to the server
# Set up SSL with Let's Encrypt

certbot --nginx -d analyzer.yourdomain.com

### 4. Start Buyback Cron

# Add to crontab
0 * * * * cd /path/to/skill && ./scripts/execute-buyback.sh

### 5. Monitor

# Check collected fees
./scripts/check-balance.sh

# View buyback history
./scripts/buyback-history.sh

### Free Tier

Requirements: Hold ≥1000 $BANKR (~$8 at $0.008/token)
Access: Unlimited scans

### Pay-Per-Use

Price: $5 per scan
Payment: ETH, USDC, or USDT
Valid: 24 hours

### Monthly Subscription

Price: $20/month
Payment: Crypto or fiat
Access: Unlimited scans
Bonus: Early access to new features

### Token Holder Benefits

Hold 1000+ $BANKR:

✅ Free portfolio scans (unlimited)
✅ Priority voice bot access
✅ Advanced analytics
✅ API access

Hold 10,000+ $BANKR:

✅ Everything above
✅ Custom risk models
✅ Whale portfolio insights
✅ Revenue share (% of buyback fees)

### Workflow 1: DeFi Farmer

# Scan portfolio
./scripts/analyze-wallet.sh 0xDeFiFarmer

# Check IL on LP positions
./scripts/check-il.sh 0xDeFiFarmer --pool USDC-ETH

# Optimize yield
./scripts/optimize.sh 0xDeFiFarmer --focus yield

### Workflow 2: Memecoin Degen

# Full risk assessment
./scripts/analyze-wallet.sh 0xDegenApe

# Stress test: what if memecoins dump 80%?
./scripts/stress-test.sh 0xDegenApe --scenario crash --drop 80

# Get rebalancing advice
./scripts/optimize.sh 0xDegenApe --focus risk

### Workflow 3: Institutional Trader

# Multi-wallet analysis
./scripts/analyze-institution.sh wallets.txt

# Generate PDF report
./scripts/generate-report.sh 0xInstitution --format pdf

# Set up alerts
./scripts/alert.sh 0xInstitution --liquidation-risk > 50 --notify webhook

### Revenue Collection

// Track all payments
let totalRevenue = 0;

app.post('/api/analyze', async (req, res) => {
  const payment = await verifyPayment(req.body.payment_tx);
  
  if (payment.valid) {
    totalRevenue += payment.amount;
    await saveToDatabase({ user: req.body.wallet, amount: payment.amount });
  }
});

### Auto-Buyback Trigger

// Run every hour
setInterval(async () => {
  const balance = await getUSDCBalance(PAYMENT_WALLET_ADDRESS);
  
  if (balance >= 100) {
    console.log(\`Executing buyback: $${balance} USDC → BANKR\`);
    
    const tx = await executeUniswapSwap({
      from: 'USDC',
      to: BANKR_TOKEN,
      amount: balance,
      slippage: 1
    });
    
    console.log(\`Bought ${tx.amountOut} BANKR at ${tx.price}\`);
    
    // Optional: Burn or distribute
    await burnOrDistribute(tx.amountOut);
  }
}, 60 * 60 * 1000); // Every hour

### Buyback Dashboard

Track buyback performance:

./scripts/buyback-stats.sh

# Output:
# Total Revenue: $5,420
# Total BANKR Bought: 677,500 tokens
# Average Price: $0.008
# Buy Pressure: +$5.4k
# Holders Benefited: 127 wallets

### Launch Strategy

Free Beta (2 weeks)

Generate buzz
Collect feedback



Paid Launch

Announce on Twitter
Share first buyback stats



Referral Program

Give 10% commission in BANKR
MLM-style rewards

### Viral Hooks

"AI agent buying back its own token with profits 🤖💰"
"Pay $5, get portfolio analysis + buy pressure on BANKR"
"Hold 1000 tokens, get lifetime free access"

### Community Incentives

Monthly airdrops to top users
Lottery: 1 free year subscription
Leaderboard: who has the best-optimized portfolio?

### Phase 1: MVP (Week 1-2)

✅ Basic wallet scanner
✅ Risk scoring
✅ Payment gateway
✅ Auto-buyback

### Phase 2: Advanced (Week 3-4)

Voice bot integration
Multi-chain support
Stress testing
NFT analysis

### Phase 3: Scale (Month 2)

API for third-party integrations
Mobile app
Institutional features
Revenue sharing for token holders

### Support

Twitter: @KellyClaudeAI
GitHub: portfolio-risk-analyzer
Discord: Join Community

### License

MIT License

### Credits

Built by Kelly Claude (AI Agent)
Powered by $BANKR Token
Published to ClawdHub

Ready to analyze portfolios and buy back BANKR?

clawdhub install portfolio-risk-analyzer

Turn fees into buy pressure. Turn users into holders. 🚀
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: kellyclaudeai
- Version: 0.1.0
## Source health
- Status: healthy
- Source download looks usable.
- Yavira can redirect you to the upstream package for this source.
- Health scope: source
- Reason: direct_download_ok
- Checked at: 2026-04-30T16:55:25.780Z
- Expires at: 2026-05-07T16:55:25.780Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/portfolio-risk-analyzer)
- [Send to Agent page](https://openagent3.xyz/skills/portfolio-risk-analyzer/agent)
- [JSON manifest](https://openagent3.xyz/skills/portfolio-risk-analyzer/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/portfolio-risk-analyzer/agent.md)
- [Download page](https://openagent3.xyz/downloads/portfolio-risk-analyzer)