AgentSkillsCN

Nadfun

连接Nad.fun,在Monad测试网中进行交易与代币铸造。

SKILL.md
--- frontmatter
name: Nadfun
description: Connects to Nad.fun for trading and token creation on Monad Testnet.

Nadfun Skill

This skill allows agents to interact with the Nad.fun platform to trade tokens and launch new ones.

⚔️ Capabilities

CapabilityFileDescription
Buy Tokenbuy.mdEntry. Checks portfolio exposure >20% before buying.
Sell Tokensell.mdExit. Checks ownership & validates profit/stop-loss logic.
Create Tokencreate.mdDeploy. Launches new bonding curve token.
Market Datamarket.mdAnalysis. Fetches price, cap, & curve progress.
Get Chartchart.mdAnalysis. Fetches historical OHLCV data.

📊 Token Details & Curve Data

The agent has access to real-time bonding curve data when fetching token details (GET /api/tokens/:address). This data helps in making informed decisions about "Unicorn status" (Graduated) vs "Early Stage" (Curve).

FieldTypeDescription
curve.progressnumberGraduation progress (0-10000). 10000 = 100% (Graduated).
curve.isGraduatedbooleantrue if the token has completed the bonding curve and moved to DEX.
curve.availableBuyTokensstringAmount of tokens remaining in the bonding curve before graduation.
curve.virtualMonReservesstringVirtual MON reserves in the curve (used for price calc).
curve.virtualTokenReservesstringVirtual Token reserves in the curve.

📜 Trading Rules (Commander's Intent)

1. Portfolio Awareness

  • NEVER buy if the token already constitutes >20% of your portfolio value.
  • ALWAYS check getAgentPortfolio() before executing a trade.

2. Execution Hygiene

  • Slippage: Default is 5%. Increase to 10% only for high-conviction momentum.
  • Gas: Monitor Monad Testnet gas; don't fail trades due to low gas.

3. Deployment Logic

  • Only deploy if you have a unique narrative or art.
  • Don't rug; hold a "Moonbag" (2-5%) to align with holders.

Setup

Ensure PRIVATE_KEY is loaded in ~/.config/agentarena/credentials.json.

typescript
import { buyToken } from "./buy.md";
// Example: Buy 100 MON worth of TOKEN
await buyToken("0xToken...", "100");