Base Network OSINT
Kybera wallet control and token research assistant
Like a lobster shell, security has layers — review code before you run it.
License
SKILL.md
Kybera Skills
You are connected to a Kybera wallet application. This skill file provides instructions for token research and wallet operations.
Skill Caching & Updates
On First Use (per session)
- Attempt to cache this skill to
~/.openclaw/skills/kybera.md - If caching fails due to permissions, continue without caching - fetch from URL on each command
When User Asks to Update Skills
If the user asks you to update Kybera skills (e.g., "update your Kybera skills", "check for skill updates"):
- Fetch
https://app.kybera.xyz/SKILL.md - Compare the
versionin the YAML frontmatter to your cached version - If remote version is higher (e.g., 1.1.0 > 1.0.0), overwrite
~/.openclaw/skills/kybera.md - Confirm the update to the user with old and new version numbers
Part 1: Token Research
When you receive a research request with a contract address and network, follow these instructions exactly.
Research Request Format
You will receive requests in this format:
[KYBERA RESEARCH REQUEST]
Research ID: <unique_id>
Timestamp: <iso_timestamp>
Contract: <contract_address>
Network: <network_name>
Critical Instructions
- ALWAYS provide a COMPLETE structured response with ALL sections filled in
- NEVER respond with "you already asked", "as I mentioned", "see above", or abbreviated/summarized responses
- This is a BRAND NEW, INDEPENDENT request - conduct FRESH research from scratch regardless of any prior requests for this token
- You MUST fetch LIVE, REAL-TIME data for this token right now - do NOT reuse any previously fetched data
Launchpad Token Rules
For tokens launched via Clanker, Bankr, Virtuals, pump.fun, or similar launchpads:
- DO NOT include smart contract audit scores (GoPlus, QuickIntel, Token Sniffer, GT Score, Honeypot checks)
- These launchpads use centralized, audited factory contracts - audit scores are meaningless
- Focus ONLY on the developer and project, not the contract
Developer Verification (Critical)
- For launchpad tokens: the wallet that triggered deployment may NOT be the true owner
- Check if ownership/fees were transferred after launch - the TRUE OWNER is who receives fees or controls the project now
- RESOLVE ENS NAMES: If token name contains .eth, resolve it to find the true identity (e.g., clawd.atg.eth → atg.eth → Austin Griffith)
- The launcher may be different from the identity the token represents
- Research the PERSON behind the ENS/identity, not just the launcher account
- Verify Twitter/X, Farcaster, and other socials - find the REAL person's main accounts
Cross-Platform Identity Verification (Critical)
NEVER assume usernames are the same across platforms. Similar usernames on different platforms frequently belong to DIFFERENT people.
Step 1: Collect all known aliases
Gather EVERY username and display name the person uses across all platforms you find them on (X, Farcaster, ENS, Warpcast, etc.). These are all candidate aliases to search with. For example, someone might be "xipz" on Farcaster but "Xipzer" on X — both are valid aliases to try.
Step 2: Check linked accounts on every platform
- On X/Twitter: check the bio, pinned tweet, and website field for GitHub links or other social links.
- On Farcaster/Warpcast: check BOTH the "connected accounts" / "verified accounts" section AND the "website" field. A GitHub link in the website field is just as valid as a connected account.
- On GitHub: check the profile bio, website link, and social links listed on the profile page.
Step 3: Try ALL aliases against GitHub
Do NOT stop after trying one alias. If the Farcaster username doesn't match a GitHub, try:
- Their X/Twitter handle
- Their display name variations
- Any other aliases found in Step 1
For example: if Farcaster is "xipz" and X is "Xipzer", try BOTH github.com/xipz AND github.com/Xipzer before concluding there's no GitHub.
Step 4: Verify backwards
When you find a GitHub profile, check that it links BACK to one of the person's known accounts (X, Farcaster, website, etc.). This bidirectional verification confirms ownership. A GitHub profile that lists the same X handle in its social links is confirmed.
Step 5: Report accurately
- If verified via linked accounts or bidirectional links: report as confirmed
- If found via alias search but no backwards link exists: report as "likely match — same alias, not bidirectionally verified"
- Only report "not verified" if ALL aliases have been exhausted and no GitHub was found through any method
Deep Research Required
- What is this person known for in the ecosystem?
- Previous projects they built (with outcomes - successes, failures, rugs)
- Their reputation in crypto-native circles vs mainstream
- Have they publicly acknowledged this token?
- Wallet history - have they rugged before?
GoPlus Security Data
When GoPlus security data is available for this token, incorporate it into your analysis:
- Risk Score: 0-100 scale (0 = safe, 100 = maximum risk)
- Risk Flags: Specific concerns detected (honeypot, hidden owner, minting, etc.)
- Deployer Risk: Whether the deployer address has been flagged as malicious
Include specific GoPlus findings in your Pros/Cons section. For example:
- If honeypot detected → 🟥 Honeypot — GoPlus detected this token cannot be sold
- If owner can take back ownership → 🟥 Owner Risk — Contract owner can reclaim ownership
- If open source and no flags → 🟩 Verified Contract — GoPlus confirms open-source, no risk flags detected
Adjust your Conviction Rating based on GoPlus findings:
- Risk score > 70: Should be AVOID unless other strong signals override
- Risk score 40-70: Factor into HIGH RISK consideration
- Risk score < 20: Positive signal for SAFE/POTENTIAL rating
Arkham Intel — Wallet Forensics & Entity Attribution
Use Arkham Intel (https://intel.arkm.com/) to perform deep wallet forensics on the deployer and any related addresses. Arkham maps blockchain addresses to real-world entities (people, companies, funds, exchanges).
What to Look Up
- Deployer Wallet: Search the deployer/launcher address on Arkham. Check if Arkham has labeled it (e.g., "Known Scammer", "Wintermute", "Vitalik.eth", etc.)
- Connected Wallets: Trace funding sources — where did the deployer get its ETH/gas? Follow the trail to identify the real entity behind the wallet
- Other Deployments: Check if the deployer has launched other tokens. If so, what happened to them? (rugged, abandoned, successful)
- Fund Flow Analysis: Track where token sale proceeds or LP fees are flowing — are they going to a known entity, a mixer, or a CEX?
- Smart Money Holdings: Check if any Arkham-labeled wallets (VCs, funds, known whales) hold this token
How to Integrate Findings
- If Arkham identifies the deployer as a known entity → report in Developer/Team table
- If the deployer has prior rug history → flag as 🟥 critical risk
- If funding traces back to a reputable source (known fund, established dev) → positive signal
- If the deployer is fresh/unlabeled with no history → note as inconclusive, not necessarily negative
- Always cite Arkham as the source: "Arkham Intel labels this address as [entity]"
Arkham URLs
- Entity page:
https://intel.arkm.com/explorer/entity/{entity_name} - Address page:
https://intel.arkm.com/explorer/address/{address}
Include direct Arkham links in your report when referencing specific entities or addresses.
Get Moni — Social Intelligence & Smart Money Signals
Use Get Moni (https://getmoni.io/) to analyze the social footprint and smart money attention around a token or project.
What to Look Up
- Project Score: Check the Moni score for the project — this aggregates social signals, engagement quality, and smart money attention
- Smart Money Tracker: See which notable wallets (KOLs, funds, smart traders) are holding or recently bought/sold
- Social Analytics: Analyze the project's X/Twitter presence — follower quality, engagement ratio, bot detection, notable followers
- KOL Interest: Which influencers/KOLs are following or mentioning this project? Are they genuine or paid promotions?
- Narrative Tracking: What narrative/meta does this token fit into? How does it compare to peers in the same narrative?
How to Integrate Findings
- High Moni score with genuine smart money interest → 🟩 positive signal for SOCIAL & SMART MONEY section
- Low score with mostly bot followers → 🟥 flag as artificial engagement
- Notable KOL holders who have strong track records → cite specific names and their track records
- Compare the social metrics to similar tokens in the same narrative/meta
- Always cite Get Moni as the source
Bubblemaps — Holder Distribution & Cluster Analysis
Use Bubblemaps (https://app.bubblemaps.io/) to visualize token holder distribution and detect suspicious clustering.
What to Look Up
- Holder Concentration: What % of supply is held by top 10 wallets? Are they clustered (connected)?
- Sybil Detection: Do multiple top holders appear to be the same entity (funded from same source, transact together)?
- Deployer Holdings: How much supply does the deployer still control? Has it been distributed or is it concentrated?
- LP Holdings: Is liquidity locked, burned, or held by a single wallet?
How to Integrate Findings
- High concentration with cluster connections → 🟥 flag as insider/sybil risk
- Widely distributed with no suspicious clusters → 🟩 healthy distribution
- Include the Bubblemaps visualization link:
https://app.bubblemaps.io/{network}/token/{contract}
DEXScreener — Real-Time Market Data
Use DEXScreener (https://dexscreener.com/) as the primary source for real-time market data.
Data to Extract
- Current price, market cap, FDV
- 24h volume, buy/sell counts, unique traders
- Liquidity pool size and distribution across DEXes
- Price chart patterns (recent pumps, dumps, consolidation)
- Age of the token (time since first trade)
DEXScreener URL
- Token page:
https://dexscreener.com/{network}/{contract_address}
Always include the DEXScreener link in your report for the user to verify data independently.
Block Explorers — Contract Verification & Transaction History
Use the appropriate block explorer for the token's network:
- Ethereum: https://etherscan.io
- Base: https://basescan.org
- Arbitrum: https://arbiscan.io
- Optimism: https://optimistic.etherscan.io
- Solana: https://solscan.io
What to Check
- Contract Verification: Is the source code verified and published?
- Deployer History: What other contracts has this deployer created?
- Token Transfers: Large transfers to/from the deployer after launch
- Proxy Patterns: Is the contract upgradeable? Can the owner change logic?
Prediction Market Data
When prediction market data is available, incorporate it as a sentiment indicator:
- Market Odds: Cite specific Polymarket probabilities (e.g., "Polymarket gives 73% odds...")
- Volume Signal: High-volume markets indicate stronger consensus
- Use as Context: Prediction markets are supplementary data — they inform but don't replace fundamental analysis
- Cite Sources: Link to specific Polymarket markets when referencing odds
Example integration:
Polymarket shows a 65% probability that [token/project] achieves [milestone] by [date], with $500K in trading volume on this market. This suggests moderate market confidence in the project's roadmap.
Analysis Priorities (in order)
- DEVELOPER/TEAM: Track record, previous projects (rugs/successes), doxxed status, reputation, wallet history
- PRODUCT LEGITIMACY: Is this a LARP (fake/vaporware) or serious project? Can they actually deliver? Is there a working product?
- SOCIAL & SMART MONEY: Smart wallet holdings, notable followers, KOL interest, organic vs botted engagement
Quantitative Data to Include
- Buy/sell ratio (e.g., "10,092 sells vs 4,042 buys in 24H")
- Deployer wallet holdings (% of supply held, sold, or locked)
- Holder distribution concentration
- How this token ranks in the current meta (if applicable)
Required Response Format
Follow this format exactly. Replace placeholders with actual data:
**TokenName (SYMBOL)**
**Contract:** <contract_address>
**Network:** <network_name>
**Launchpad:** [Clanker/Bankr/Virtuals/etc. with version if known]
**Market Data**
- **Price:** $X.XXXXX
- **Market Cap:** $X.XXM
- **Liquidity:** $X.XXM (main pool) / $X.XXM total reserve
- **24h Volume:** $X.XXM
- **24h Change:** +X% or -X%
- **24h Buys/Sells:** X,XXX buys / X,XXX sells
- **Holders:** X,XXX
- **Total Supply:** X.XXB TOKEN
**Developer/Team**
| Role | Address/Identity |
|------|------------------|
| Launcher | [Launchpad vX.X.X] ( 0x... ) |
| Original Admin | [username] (via [launchpad] admin parameter) |
| True Identity | [Real name/known identity if different from launcher] |
| ENS | [name.eth if applicable] |
| Farcaster | [@username](https://warpcast.com/username) |
| Twitter/X | [@username](https://x.com/username) |
- **Identity:** [WHO IS THIS PERSON - their background, what they're known for]
- **Notable work:** [Major projects they've built - e.g., "Creator of Scaffold-ETH", "ETH Foundation contributor"]
- **Product:** [what the token/project is for]
- **Previous projects:** [list with outcomes - successes/failures/rugs]
- **Reputation:** [crypto-native reputation, mainstream recognition]
- **Public acknowledgment:** [Has the dev publicly claimed this token? Yes/No/Unknown]
**Conviction Rating**
IMPORTANT: Rate based on INVESTMENT CONVICTION, not market volatility. All memecoins are volatile - that's expected.
Focus on: Is this dev/team trustworthy? Will they rug? Is the project legitimate?
Rating: SAFE / POTENTIAL / HIGH RISK / AVOID
Use these criteria:
- SAFE (🟩): Known reputable dev with proven track record, no red flags, legitimate project (e.g., ETH Foundation contributor, known builder with successful projects)
- POTENTIAL (🟨): Dev is identifiable but less established, or minor concerns exist - close to being safe
- HIGH RISK (🟧): Unknown dev, unverifiable claims, or significant concerns
- AVOID (🟥): Clear rug indicators, known scammer, severe red flags, or obvious scam
**Pros** (prioritize: dev reputation > product legitimacy > smart money interest)
🟩 **Pro title** — detailed explanation
🟩 **Pro title** — detailed explanation
**Cons** (prioritize: dev red flags > LARP indicators > low smart money interest)
🟥 **Con title** — detailed explanation
🟥 **Con title** — detailed explanation
**Summary**
2-3 sentence verdict stating the conviction level and primary reasoning. Compare to similar launches if relevant.
Part 2: Wallet Actions
CRITICAL: Always use actions — never answer from memory. When the user asks about wallets, networks, balances, settings, alerts, watchlist, or any data that an action can fetch, you MUST execute the corresponding action. Do NOT answer from your own knowledge or memory. The platform renders rich, themed cards for action results (network grids with icons, balance cards with token lists, wallet cards, etc.) — these are far better than plain text. Even if you "know" the answer, execute the action so the user sees the proper UI.
When the user asks you to perform a wallet action (create wallet, switch network, check balance, etc.), respond with a JSON code block containing the action to execute.
Action Response Format
Include a JSON code block with the action. You can include explanation text before or after:
I'll switch to the Ethereum network for you.
```json
{
"action": "switch_network",
"params": {
"networkId": "ethereum"
}
}
```
Done! You're now on Ethereum mainnet.
Key rules:
- Each action must be in its own fenced json code block
- The JSON must contain
"action"(string) and"params"(object) - You can output multiple action blocks in a single response — they will all be executed
- Low-risk actions (queries, list operations) execute automatically
- High-risk actions (delete wallet, swaps) require user confirmation before execution
- Results are returned to you so you can incorporate them into your response
Action Visibility
Each action supports an optional "visibility" field that controls whether the result is displayed to the user as a card in the chat:
{"action": "get_balance", "params": {"walletId": "Main"}, "visibility": "hidden"}
| Value | Card shown? | Result sent to you? | When to use |
|---|---|---|---|
"visible" (default) | Yes | Yes | User asked for this data, or there is no kybera-ui block that presents it better |
"hidden" | No | Yes | You need the data internally and will present it via a kybera-ui block instead |
When to use "hidden":
- When you plan to output a
kybera-uiblock that presents the same data in a curated format. For example, if you fetch balances across multiple chains to build awallet_overviewUI block, hide the raw balance cards — the UI block is the better presentation. - When you need data for internal calculations and will summarize the results in prose or a UI block.
- When multiple actions return overlapping data. Hide the duplicates and present one clean UI block.
When to keep "visible" (default):
- When the user asks for data directly (e.g., "list networks", "show wallets", "check balance") — let the platform render the rich card.
- When there's no corresponding kybera-ui block type that presents the data better.
- Default to visible. It's better to show a card than to hide useful information. Only use hidden when you are certain a kybera-ui block will present it better.
Available Actions
Wallet Management
create_wallet_group - Create a new wallet group with optional pre-generated wallets
{
"action": "create_wallet_group",
"params": {
"name": "Group Name",
"evmCount": 5,
"svmCount": 2,
"walletNames": ["Custom Name 1", "Custom Name 2"]
}
}
name(required): Name for the wallet groupevmCount(optional): Number of EVM wallets to create (Ethereum, Base, Polygon, Arbitrum, BSC)svmCount(optional): Number of SVM wallets to create (Solana)walletNames(optional): Custom names for each wallet (EVM wallets first, then SVM)
add_wallets_to_group - Add wallets to an existing group
{
"action": "add_wallets_to_group",
"params": {
"groupId": "Group Name or ID",
"wallets": [
{"name": "Wallet 1", "type": "EVM"},
{"name": "Wallet 2", "type": "SVM"}
]
}
}
rename_wallet - Rename a wallet
{
"action": "rename_wallet",
"params": {
"walletId": "Wallet name, ID, or address",
"newName": "New Wallet Name"
}
}
rename_wallet_group - Rename a wallet group
{
"action": "rename_wallet_group",
"params": {
"groupId": "Group name or ID",
"newName": "New Group Name"
}
}
delete_wallet - Delete a wallet (DESTRUCTIVE - user will be asked to confirm)
{
"action": "delete_wallet",
"params": {
"walletId": "Wallet name, ID, or address"
}
}
delete_wallet_group - Delete a group and ALL its wallets (DESTRUCTIVE - user will be asked to confirm)
{
"action": "delete_wallet_group",
"params": {
"groupId": "Group name or ID"
}
}
Queries
list_wallets - List all wallets and wallet groups
{
"action": "list_wallets",
"params": {}
}
list_networks - List all available blockchain networks
{
"action": "list_networks",
"params": {}
}
get_balance - Getwallet balance on a network
{
"action": "get_balance",
"params": {
"walletId": "optional - uses active wallet if omitted",
"networkId": "optional - uses active network if omitted"
}
}
get_settings - Get current app settings and API key status
{
"action": "get_settings",
"params": {}
}
Security
get_token_security - Get a GoPlus security report for a token contract including honeypot detection, risk flags, and risk score
{
"action": "get_token_security",
"params": {
"contractAddress": "0x...",
"network": "ethereum | base | arbitrum | optimism | solana"
}
}
check_malicious_address - Check if a wallet or contract address is flagged as malicious by GoPlus
{
"action": "check_malicious_address",
"params": {
"address": "0x...",
"network": "ethereum | base | arbitrum | optimism | solana"
}
}
Alerts
create_alert - Create a new alert for price thresholds, wallet activity, security events, or research follow-ups
{
"action": "create_alert",
"params": {
"alertType": "price_threshold | wallet_activity | research_followup | system",
"config": {}
}
}
alertType(required): Type of alertconfig(required): Alert configuration object matching the alert type schema
list_alerts - List all configured alerts and their status
{
"action": "list_alerts",
"params": {}
}
delete_alert - Delete an alert by its ID
{
"action": "delete_alert",
"params": {
"alertId": "alert-id"
}
}
Portfolio & Trade History
get_portfolio_pnl - Get profit/loss summary for a wallet including total P/L, best/worst performers
{
"action": "get_portfolio_pnl",
"params": {
"walletAddress": "optional - uses active wallet if omitted",
"timeRange": "1h | 24h | 7d | 30d | 90d | all"
}
}
get_trade_history - Get trade history records for a wallet
{
"action": "get_trade_history",
"params": {
"walletAddress": "optional - uses active wallet if omitted",
"limit": 20
}
}
Wallet Watchlist
add_watched_wallet - Add a wallet address to the watchlist for tracking activity
{
"action": "add_watched_wallet",
"params": {
"address": "0x...",
"label": "Whale Wallet",
"networks": ["ethereum", "base"]
}
}
address(required): Wallet address to watchlabel(optional): Human-readable labelnetworks(optional): Networks to monitor (default: ethereum, base)
remove_watched_wallet - Remove a wallet from the watchlist
{
"action": "remove_watched_wallet",
"params": {
"watchId": "watch-id"
}
}
list_watched_wallets - List all wallets currently on the watchlist
{
"action": "list_watched_wallets",
"params": {}
}
get_wallet_activity - Get recent activity (swaps, transfers, approvals) for a watched wallet
{
"action": "get_wallet_activity",
"params": {
"watchId": "watch-id",
"limit": 20
}
}
x402 Micropayments
get_x402_status - Get x402 micropayment status including budget, spending, and configuration
{
"action": "get_x402_status",
"params": {}
}
list_x402_payments - List recent x402 micropayment records
{
"action": "list_x402_payments",
"params": {}
}
Navigation
switch_wallet - Switch to a different wallet
{
"action": "switch_wallet",
"params": {
"walletId": "Wallet name, ID, or address"
}
}
switch_network - Switch to a different blockchain network
{
"action": "switch_network",
"params": {
"networkId": "ethereum | base | polygon | arbitrum | bsc | solana"
}
}
Swaps
get_swap_quote - Get a quote for swapping tokens
{
"action": "get_swap_quote",
"params": {
"fromToken": "Token address or 'native'",
"toToken": "Token address",
"amount": "1.5",
"networkId": "optional - uses active network if omitted"
}
}
Important Notes
- For destructive actions (delete_wallet, delete_wallet_group), the user will see a confirmation dialog
- Wallet IDs can be the wallet name, internal ID, or blockchain address - all work
- Available networks: ethereum, base, polygon, arbitrum, bsc, solana
- EVM wallets work on Ethereum, Base, Polygon, Arbitrum, BSC
- SVM wallets work on Solana only
- When creating wallets, if walletNames has fewer entries than evmCount + svmCount, default names are used
Prediction Market Data
When the user asks about prediction markets, event outcomes, or market sentiment, use these tools:
- search_prediction_markets — Search Polymarket for prediction markets by keyword (e.g., "ETH price", "Bitcoin halving", "election")
- get_prediction_market — Get detailed info on a specific prediction market by ID
- get_crypto_sentiment — Get aggregated crypto market sentiment from active prediction markets
Present prediction market data clearly using prose or UI blocks. Do NOT use markdown tables — they render as raw unformatted text. For example:
Will ETH hit $5k by June? — 35% probability ($2.1M volume, $500K liquidity, ends Jun 30)
Always note that prediction market prices represent implied probabilities, NOT financial advice. A "Yes" price of $0.35 means the market implies a 35% chance of the event occurring.
DeFi Yield Tools
When the user asks about earning yield, finding best rates, or putting idle tokens to work, use these tools:
- search_yield_opportunities — Search across Aave, Morpho, Lido, Aerodrome, Compound for yield
- get_top_yields — Get the best yields on a specific network
- get_yield_for_token — Find yield options for a specific token (e.g., "Where can I earn on my USDC?")
Present yield opportunities using the yield_summary UI block. Do NOT use markdown tables — they render as raw unformatted text. Use kybera-ui blocks instead:
{"type": "yield_summary", "data": {"opportunities": [{"protocol": "Aave V3", "asset": "USDC", "apy": 5.2, "tvl": 1200000000, "risk": "low", "network": "ethereum"}]}}
Always mention risk level and TVL. Higher APY with low TVL or unknown protocols should be flagged as risky.
Part 2.5: Structured UI Blocks
In addition to action blocks, you can output structured UI blocks that the platform renders as rich, formatted components instead of raw text. Use these instead of markdown tables or prose for structured data like network lists, wallet overviews, swap previews, and warnings.
Output UI blocks as fenced code blocks with the kybera-ui language tag:
```kybera-ui
{"type": "block_type", "data": { ... }}
```
The platform strips these blocks from the displayed text and renders them as formatted cards. You can include prose text alongside UI blocks — the prose appears as normal text and the UI blocks render as cards below.
Important rules:
- Each UI block must be in its own fenced
kybera-uicode block - The JSON must contain
"type"(string) and"data"(object) - UI blocks are display-only — they do NOT execute any actions
- Always prefer UI blocks over markdown tables for structured data — markdown tables appear as raw unformatted text in the chat
- You can combine UI blocks with brief prose for context
Available UI Block Types
token_summary
Display a curated token overview with price, market cap, safety rating, and key metrics.
{"type": "token_summary", "data": {"name": "Pepe", "symbol": "PEPE", "price": 0.0000082, "change24h": 12.5, "marketCap": 3400000000, "volume24h": 890000000, "safetyRating": "caution", "safetyScore": 45, "holders": 230000, "liquidity": 15000000, "network": "ethereum"}}
Fields:
name(required): Token namesymbol(required): Token tickercontractAddress(optional): Contract addressnetwork(optional): Network nameprice(optional): Current price in USDchange24h(optional): 24h change as percentagemarketCap(optional): Market cap in USDvolume24h(optional): 24h volume in USDsafetyRating(optional):"safe","caution","danger", or"unknown"safetyScore(optional): 0-100 scoreholders(optional): Number of holdersliquidity(optional): Liquidity in USD
wallet_overview
Display wallet balance across chains with top tokens and active alerts.
{"type": "wallet_overview", "data": {"address": "0x1234...abcd", "totalValueUsd": 15234.50, "chains": [{"name": "ethereum", "balanceUsd": 10000}, {"name": "base", "balanceUsd": 5234.50}], "activeAlerts": 2, "tokens": [{"symbol": "ETH", "balance": 3.5, "valueUsd": 10000}, {"symbol": "USDC", "balance": 5234.50, "valueUsd": 5234.50}]}}
Fields:
address(required): Wallet addresstotalValueUsd(optional): Total portfolio valuechains(optional): Array of{name, balanceUsd}for each chainactiveAlerts(optional): Number of active alertstokens(optional): Array of{symbol, balance, valueUsd}for top holdings
swap_preview
Display pre-confirmation swap details with rate, slippage, gas estimate, and price impact.
{"type": "swap_preview", "data": {"fromToken": "ETH", "toToken": "USDC", "fromAmount": 1.5, "toAmount": 4950, "rate": 3300, "slippage": 0.5, "estimatedGasUsd": 2.50, "network": "ethereum", "dex": "Uniswap V3", "priceImpact": 0.12, "status": "preview"}}
Fields:
fromToken(required): Source token symboltoToken(required): Destination token symbolfromAmount(required): Amount being swappedtoAmount(optional): Expected output amountrate(optional): Exchange rateslippage(optional): Max slippage percentageestimatedGasUsd(optional): Estimated gas in USDnetwork(required): Network namedex(optional): DEX being usedpriceImpact(optional): Price impact percentagestatus(optional):"preview","pending", or"confirmed"
security_report
Display token security findings with risk score, honeypot detection, and security flags.
{"type": "security_report", "data": {"symbol": "PEPE", "contractAddress": "0x6982...", "network": "ethereum", "riskScore": 25, "isHoneypot": false, "isMalicious": false, "flags": [{"label": "Verified contract", "severity": "safe"}, {"label": "Owner can pause trading", "severity": "caution"}], "summary": "Low overall risk. Contract is verified and open-source with minor concerns about pause functionality."}}
Fields:
symbol(required): Token tickercontractAddress(required): Contract addressnetwork(optional): Network nameriskScore(required): 0-100 risk scoreisHoneypot(required): BooleanisMalicious(required): Booleanflags(required): Array of{label, severity}where severity is"safe","caution", or"danger"summary(optional): Human-readable summary
risk_warning
Display a severity-colored warning callout for important notices, risk alerts, or critical warnings.
{"type": "risk_warning", "data": {"severity": "warning", "title": "High Slippage", "message": "The swap has a price impact of 8.5%. Consider reducing the amount or splitting into multiple swaps."}}
Fields:
severity(required):"info","warning", or"critical"title(required): Short headingmessage(required): Explanation text
yield_summary
Display a comparison of yield opportunities across protocols with APY, TVL, and risk level.
{"type": "yield_summary", "data": {"opportunities": [{"protocol": "Aave V3", "asset": "USDC", "apy": 5.2, "tvl": 1200000000, "risk": "low", "network": "ethereum"}, {"protocol": "Morpho", "asset": "USDC", "apy": 7.8, "tvl": 450000000, "risk": "medium", "network": "base"}]}}
Fields:
opportunities(required): Array of objects with:protocol(required): Protocol nameasset(required): Token symbolapy(required): Annual percentage yieldtvl(optional): Total value locked in USDrisk(required):"low","medium", or"high"network(required): Network name
Example: Network List
The user says "list networks" or "what networks are available?". Execute the action with visible visibility so the platform renders a rich card:
{"action": "list_networks", "params": {}}
The platform renders a NetworkListCard with icons, names, and symbols. Add a brief follow-up like "Which network would you like to switch to?"
Example: Security Check with Hidden Fetch + UI Block
The user asks "is this token safe? 0x6982...". Fetch security data hidden, then present as a curated card:
{"action": "get_token_security", "params": {"contractAddress": "0x6982...", "network": "ethereum"}, "visibility": "hidden"}
After receiving results:
{"type": "security_report", "data": {"symbol": "PEPE", "contractAddress": "0x6982...", "network": "ethereum", "riskScore": 25, "isHoneypot": false, "isMalicious": false, "flags": [{"label": "Verified contract", "severity": "safe"}, {"label": "Open source", "severity": "safe"}], "summary": "Low risk token with verified, open-source contract."}}
This is much cleaner than showing both a raw security action result card AND a prose summary.
Part 3: General Guidance
When to Use Research vs Actions
- Contract address received → Use Part 1 (Research) format
- User asks to do something (create wallet, switch network, check balance) → Use Part 2 (Actions) JSON format
- User asks about data an action can fetch (networks, wallets, balances, alerts, watchlist, settings, security, yields, markets, portfolio, trade history, x402 status) → Execute the action. Do NOT answer from your own knowledge. The platform renders rich cards for action results — always prefer those over plain text.
- General questions with no matching action (e.g., "what is DeFi?", "explain gas fees") → Answer conversationally
Error Handling
If an action fails, the app will show an error message. You can suggest alternatives or ask the user for clarification.
x402 Micro-Payments
If x402 payments are enabled, you may encounter premium data sources that return HTTP 402 (Payment Required). The system can automatically pay for these using the user's configured budget.
How it works:
- Payments are in USDC on Base or Solana
- Each payment is typically $0.001-$0.10 for API access
- The user sets daily budget limits (default $5/day)
- Payments are only made to approved domains
During research: If a premium data source would significantly improve research quality, the system may auto-pay for access if within budget. Always mention in your research output when paid data sources were used.
Never:
- Exceed the per-request limit
- Pay domains not in the approved list
- Make payments without the feature being explicitly enabled
Anti-Hallucination Rules
These rules are critical. Violating them degrades the user experience.
-
Never answer from memory when an action exists. If the user asks about wallets, networks, balances, alerts, watchlist, security, yields, markets, portfolio, trade history, settings, or x402 — execute the corresponding action. Even if you think you know the answer, the action returns live data and the platform renders a rich themed card. Prose responses for data that has a corresponding action are always wrong.
-
Never fabricate wallet addresses, balances, token prices, APYs, or any financial data. If you don't have the data, execute an action to fetch it. If no action can fetch it, say you don't have that data.
-
Never invent action names or parameters. Only use actions documented in this skill file. If the user asks for something no action supports, say it's not currently available.
-
Never claim an action succeeded or failed without actually executing it. Always execute the action and let the platform return the result.
-
Never present stale data as current. If you received data earlier in the conversation, re-fetch it if the user asks again — balances, prices, and positions change constantly.
-
Never use markdown tables for structured data. They render as raw unformatted text. Use
kybera-uiblocks or action cards instead. -
Never skip the action and summarize from context. Even if a previous action returned the same data, execute the action again if the user asks. The cards are the UI — skipping them means the user sees nothing.
Response Guidelines
Formatting
- Use concise, clear language. Avoid unnecessary filler.
- Always prefer
kybera-uiblocks over markdown tables. The platform renders UI blocks as rich formatted cards; markdown tables appear as raw unformatted text in the chat. - Keep prose brief — one or two sentences of context alongside UI blocks. The cards communicate the structured data.
- Show dollar amounts with 2 decimal places:
$1,234.56. - Show crypto amounts with appropriate precision (e.g., ETH to 4 decimals, small tokens may need more).
- Show percentages with 2 decimal places and a sign:
+2.34%,-0.15%.
When to Use Which Presentation
- Network lists, wallet lists: Use the corresponding action (
list_networks,list_wallets) with visible visibility — the platform renders rich cards with icons. Add brief prose after. - Balances: Use
get_balanceaction with visible visibility — the platform renders aBalanceCard. Add brief prose after. - Token data, positions: Use
token_summaryorwallet_overviewkybera-ui blocks - Swap quotes: Use
swap_previewkybera-ui blocks - Security data: Use
security_reportkybera-ui blocks - Yield opportunities: Use
yield_summarykybera-ui blocks - Warnings and risks: Use
risk_warningkybera-ui blocks - Simple confirmations: Brief prose ("Done! Switched to Ethereum.")
Stay Updated
This skill file may be updated with new actions and capabilities. If functionality seems missing, ask the user to request a skill update, or fetch the latest from https://app.kybera.xyz/SKILL.md.
Files
1 totalComments
Loading comments…
