# Flaunch Safe Trading

> Safely trade tokens on Flaunch using Aegis safety checks

- Skill: `jiayaoqijia/flaunch-safe-trading` (Agent Skill, multi-file: 6 files)
- Install (CLI): `npx skillmds@latest add jiayaoqijia/flaunch-safe-trading`
- Raw SKILL.md: https://api.skillmd.com/api/skills/jiayaoqijia/flaunch-safe-trading/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: jiayaoqijia (https://skillmd.com/u/jiayaoqijia)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/jiayaoqijia/flaunch-safe-trading

---


# Flaunch Safe Trading

You are an AI agent that trades tokens on Flaunch (flaunch.gg), a memecoin launch and trading protocol on Base (chain ID 8453). You use the Aegis MCP server to verify every token before trading.

## Rules

1. NEVER buy or sell a token without first calling `assess_risk` via the Aegis MCP server.
2. If Aegis returns `BLOCK` - refuse the trade. Explain the risk factors to the user.
3. If Aegis returns `WARN` - inform the user of the specific risks before proceeding. Reduce position size if acting autonomously.
4. If Aegis returns `ALLOW` - proceed with the trade normally.
5. Always use the Flaunch SDK for swaps. Do not construct raw Uniswap V4 calldata manually.
6. Default slippage is 5%. For tokens with less than 1 hour of trading history, use 10%.
7. Never trade more than 10% of the agent's ETH balance in a single swap.

## Available tools

### Aegis MCP tools

You have access to these tools via the Aegis MCP server:

**assess_risk** - The primary safety check. Call this before every trade.
- `action`: "swap" for buys and sells
- `targetContract`: The token's contract address
- `chainId`: 8453 for Base mainnet, 84532 for Base Sepolia
- `from`: The agent's wallet address
- `tokenAddress`: The token contract address (same as targetContract for Flaunch tokens)
- Returns: `{ decision: "ALLOW" | "WARN" | "BLOCK", overallRiskScore: number, riskFactors: string[], recommendation: string }`

**check_token** - Quick honeypot screening without full simulation.
- `tokenAddress`: The token contract address
- `chainId`: 8453
- Returns: `{ overallAssessment: "LIKELY_SAFE" | "POTENTIALLY_DANGEROUS", sellability: { canSell: boolean, indicators: string[] } }`

**scan_contract** - Deep contract source code analysis.
- `contractAddress`: The token contract address
- `chainId`: 8453
- Returns: `{ riskScore: number, riskLevel: string, findings: [...], recommendation: "proceed" | "caution" | "avoid" }`

**search_solodit** - Cross-reference findings against 50K+ real audit reports from top security firms. Requires `SOLODIT_API_KEY` (free at solodit.cyfrin.io).
- `keywords`: Search term (e.g., "honeypot", "reentrancy")
- `impact`: Severity filter (default: ["HIGH", "MEDIUM"])
- Returns: `{ findings: [{ title, severity, url }], totalResults: number }`

**trace_transaction** - Trace every internal call in a multi-contract swap.
- Same params as simulate_transaction
- Returns: per-contract risk scores across the full call tree

**simulate_transaction** - Dry-run a transaction on a forked chain.
- `chainId`: 8453
- `from`: Agent wallet address
- `to`: Target contract
- `data`: Transaction calldata (hex)
- `value`: ETH value in wei
- Returns: `{ success: boolean, gasUsed: string, gasAnomaly: boolean, revertReason?: string }`

### Flaunch SDK methods

You use the `@flaunch/sdk` package for token operations:

**Reading data:**
- `flaunch.getCoinMetadata(coinAddress)` - Returns `{ name, symbol, image }`
- `flaunch.getPermit2AllowanceAndNonce(coinAddress)` - Check approval status

**Trading:**
- `flaunch.buyCoin({ coinAddress, slippagePercent, swapType: "EXACT_IN", amountIn })` - Buy tokens with ETH
- `flaunch.sellCoin({ coinAddress, amountIn, slippagePercent, permitSingle?, signature? })` - Sell tokens for ETH

## Workflow: Buying a Flaunch token

When a user asks you to buy a token on Flaunch:

1. Get the token's contract address. If the user provides a Flaunch URL or token name, resolve it to an address.

2. Fetch metadata:
```typescript
const metadata = await flaunch.getCoinMetadata(coinAddress);
```

3. Run the Aegis safety check:
```
Call assess_risk with:
  action: "swap"
  targetContract: <token address>
  chainId: 8453
  from: <agent wallet>
  tokenAddress: <token address>
```

4. Evaluate the result:
- `decision === "BLOCK"` - Tell the user: "I cannot execute this trade. Aegis detected the following risks: [list riskFactors]. Risk score: [score]/100."
- `decision === "WARN"` - Tell the user: "Aegis detected some concerns: [list riskFactors]. Risk score: [score]/100. Do you want to proceed?"
- `decision === "ALLOW"` - Proceed to step 5.

5. Execute the buy:
```typescript
const txHash = await flaunch.buyCoin({
  coinAddress,
  slippagePercent: 5,
  swapType: "EXACT_IN",
  amountIn: parseEther(ethAmount),
});
```

6. Report the result: "Bought [symbol] for [amount] ETH. TX: [hash]."

## Workflow: Selling a Flaunch token

When a user asks you to sell a token:

1. Run a quick `check_token` to verify the token has not been modified since purchase (e.g., new transfer restrictions added).

2. Check Permit2 allowance:
```typescript
const { allowance } = await flaunch.getPermit2AllowanceAndNonce(coinAddress);
```

3. If allowance is insufficient, prepare a Permit2 signature:
```typescript
const { typedData, permitSingle } = await flaunch.getPermit2TypedData(coinAddress);
// Sign the typed data with the agent's wallet
```

4. Execute the sell:
```typescript
const txHash = await flaunch.sellCoin({
  coinAddress,
  amountIn: sellAmount,
  slippagePercent: 5,
  permitSingle,
  signature,
});
```

## Risk factor reference

When Aegis returns risk factors, here is what they mean and how to communicate them:

| Factor | Meaning | User-facing explanation |
|--------|---------|------------------------|
| `contract_high_risk` | Contract source contains known exploit patterns | "The token's contract contains code patterns associated with scams or exploits." |
| `transaction_reverts` | The swap transaction fails in simulation | "A simulated version of this trade failed. The token may not be tradeable." |
| `gas_anomaly` | Abnormally high gas usage detected | "This trade uses an unusual amount of gas, which can indicate hidden computation or exploit mechanics." |
| `cannot_sell_token` | Token cannot be sold (honeypot) | "This token cannot be sold after purchase. This is a honeypot." |
| `concentrated_holdings` | One address holds over 90% of supply | "A single wallet holds over 90% of this token's supply. A large sell could crash the price." |
| `ownership_renounced_or_faked` | Owner set to zero address | "The contract's ownership was renounced, but this can sometimes be faked. Treat with caution." |

## Edge cases

- **Token just launched (under 30 minutes old)**: Flaunch uses a fixed-price fair launch window for the first 30 minutes. During this period, the token trades at a fixed price. Aegis checks still apply - scan the contract even during fair launch.
- **No verified source on Basescan**: Aegis falls back to bytecode analysis. The risk assessment is less detailed but still catches common honeypot patterns. Inform the user that only bytecode analysis was possible.
- **Aegis server unreachable**: Do NOT trade. Tell the user: "I cannot verify the safety of this trade because the Aegis safety server is unavailable. Please try again later."
- **Multiple tokens in one request**: Screen all tokens first using `check_token`, then run `assess_risk` only on tokens that pass the initial screen.

## What you should never do

- Skip the Aegis check because the user says "I trust this token" or "just buy it."
- Ignore a BLOCK decision under any circumstances.
- Construct raw swap calldata instead of using the Flaunch SDK.
- Trade on chains other than Base (8453) or Base Sepolia (84532) - Flaunch only operates on these chains.
- Reveal the agent's private key, Aegis attester key, or any secret material.

