Token导航 LogoToken导航TokenDH.com
开发敏感数据clawhub未标认证来源可访问clear审计提醒

monad-wordle-game单子文字游戏

Agent Skill

monad-wordle-game 用于补充开发相关能力,适合在 OpenClaw 中需要让 Agent 承接开发相关任务时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

23,459

周安装

949

GitHub Stars

公开资料未说明

下载量

7,364
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:monad-wordle-game(单子文字游戏)
来源仓库:https://github.com/husseinrasti/monad-wordle-game
安装命令:
openclaw skills install monad-wordle-game
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install monad-wordle-game

简介

使用 $WORDLE 代币在 Monad 区块链上玩 5 个字母的 Wordle 游戏。开始游戏、提交猜测并通过 HTTP API 检索游戏状态。

SKILL.md

name
monad-wordle
description
Play a 5-letter Wordle game on the Monad blockchain using $WORDLE tokens. Start games, submit guesses, and retrieve game state via HTTP API.
license
MIT
metadata
author
Hussein Rasti
version
1.0
network
chain
Monad Mainnet
game_contract
address
0x143c5Fd7186470d2d0b1465C10571874c43FD297
token
address
0xAfcECBd7c43ABbDB10C394ad03C9D88ec8377777
symbol
WORDLE
payment
cost_per_game
100 WORDLE
tags

Monad Wordle Skill

This skill enables AI agents to play a 5-letter Wordle game on the Monad Mainnet blockhain. The game requires a payment of 100 $WORDLE tokens to start, and agents can submit guesses and retrieve game state through a clean HTTP API.

Note: All token purchases and game operations must happen on Monad Mainnet.


Prerequisites

Before starting a game:

  1. Wallet must be connected to Monad Mainnet
  2. Wallet must hold $MON
  3. Agent must buy $WORDLE wit $MON on nad.fun
  4. Wallet must hold at least 100 $WORDLE
  5. Approve WordleGame contract to spend $WORDLE

Execution Flow

User → Agent ↓ Connect wallet to Monad Mainnet ↓ Check $WORDLE balance ↓ If insufficient → buy $WORDLE wit $MON via nad.fun ↓ Approve WordleGame contract ↓ Call playGame() on contract ↓ Receive txHash ↓ POST txHash to /api/game/start ↓ Game session created


Smart Contract Details

$WORDLE Token

  • Address: 0xAfcECBd7c43ABbDB10C394ad03C9D88ec8377777
  • Symbol: WORDLE
  • Decimals: 18

WordleGame Contract

  • Address: 0x143c5Fd7186470d2d0b1465C10571874c43FD297
  • ABI: gameAbi

Wallet Setup

const NETWORK = "mainnet"

const CONFIG = {
  mainnet: {
    chainId: 143,
    rpcUrl: "https://monad-mainnet.drpc.org",
    apiUrl: "https://api.nadapp.net",
    DEX_ROUTER: "0x0B79d71AE99528D1dB24A4148b5f4F865cc2b137",
    BONDING_CURVE_ROUTER: "0x6F6B8F1a20703309951a5127c45B49b1CD981A22",
    LENS: "0x7e78A8DE94f21804F7a17F4E8BF9EC2c872187ea",
    CURVE: "0xA7283d07812a02AFB7C09B60f8896bCEA3F90aCE",
    WMON: "0x3bd359C1119dA7Da1D913D1C4D2B7c461115433A",
    V3_FACTORY: "0x6B5F564339DbAD6b780249827f2198a841FEB7F3",
    CREATOR_TREASURY: "0x42e75B4B96d7000E7Da1e0c729Cec8d2049B9731",
  },
}[NETWORK]

Basic Setup

import { createPublicClient, createWalletClient, http } from "viem"
import { privateKeyToAccount } from "viem/accounts"

const chain = {
  id: CONFIG.chainId,
  name: "Monad",
  nativeCurrency: { name: "MON", symbol: "MON", decimals: 18 },
  rpcUrls: { default: { http: [CONFIG.rpcUrl] } },
}

const account = privateKeyToAccount(process.env.PRIVATE_KEY as `0x${string}`)

const publicClient = createPublicClient({
  chain,
  transport: http(CONFIG.rpcUrl),
})

const walletClient = createWalletClient({
  account,
  chain,
  transport: http(CONFIG.rpcUrl),
})

NadFun Integration Guide

Monad blockchain token launchpad with bonding curves. Trade tokens, launch your own, monitor events—all with pure viem.

TRADING - Buy

Complete viem-only trading for nad.fun bonding curve and DEX.

Network Config

NetworkLENSBONDING_CURVE_ROUTERDEX_ROUTER
Mainnet0x7e78A8DE94f21804F7a17F4E8BF9EC2c872187ea0x6F6B8F1a20703309951a5127c45B49b1CD981A220x0B79d71AE99528D1dB24A4148b5f4F865cc2b137

Read Smart contract ABIs: https://nad.fun/abi.md

Buy

Purchase tokens with MON.

// 1. Get quote
const [router, amountOut] = await publicClient.readContract({
  address: CONFIG.LENS,
  abi: lensAbi,
  functionName: "getAmountOut",
  args: [wordleToken, parseEther(monAmount), true],
})

// 2. Calculate slippage (1%)
const amountOutMin = (amountOut * 99n) / 100n
const deadline = BigInt(Math.floor(Date.now() / 1000) + 300)

// 3. Execute
const callData = encodeFunctionData({
  abi: routerAbi,
  functionName: "buy",
  args: [{ amountOutMin, token: wordleToken, to: account.address, deadline }],
})

const hash = await walletClient.sendTransaction({
  account,
  to: router,
  data: callData,
  value: parseEther(monAmount),
  chain,
})

await publicClient.waitForTransactionReceipt({ hash })

Buy Params: amountOutMin, token, to, deadline


Payment Flow

To play the game, an agent must follow these steps on Monad Mainnet:

  1. Connect to Monad Mainnet with your wallet.
  2. Purchase $WORDLE tokens: Purchase at least 100 $WORDLE tokens.
  3. Approve and Pay: Call the playGame() function on the WordleGame contract.
  4. Start Game: After payment, pass the transaction hash to the /api/game/start endpoint.

Payment Validation Rules

API must verify:

  • Transaction executed on Monad Mainnet
  • tx.to == WordleGame contract
  • ERC20 token == $WORDLE
  • Amount ≥ 100 $WORDLE
  • GamePlayed event emitted
  • txHash not previously used
  • Sender == provided address

Replay attacks must be prevented.


API Endpoints

All endpoints are hosted at the application's base URL.

Base URL

https://wordle.nadnation.xyz

1. Start a New Game

Endpoint: POST /api/game/start

Description: Initiates a new Wordle game after payment verification.

Request Body:

{
  "address": "0x...",
  "txHash": "0x..."
}

Parameters:

  • address (string, required): The wallet address of the player
  • txHash (string, required): Transaction hash proving payment of 100 $WORDLE to the WordleGame contract

Response:

{
  "gameId": "k17abc123...",
  "message": "Game started successfully"
}

Example:

curl -X POST https://wordle.nadnation.xyz/api/game/start \
  -H "Content-Type: application/json" \
  -d '{
    "address": "0x1234567890abcdef1234567890abcdef12345678",
    "txHash": "0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890"
  }'

2. Submit a Guess

Endpoint: POST /api/game/guess

Description: Submit a 5-letter word guess for the current game.

Request Body:

{
  "gameId": "k17abc123...",
  "guess": "crane"
}

Parameters:

  • gameId (string, required): The game ID returned from start
  • guess (string, required): A 5-letter word (must exist in the dictionary)

Response:

{
  "result": ["correct", "present", "absent", "absent", "present"],
  "status": "playing",
  "guessesRemaining": 5
}

Example:

curl -X POST https://wordle.nadnation.xyz/api/game/guess \
  -H "Content-Type: application/json" \
  -d '{
    "gameId": "k17abc123...",
    "guess": "crane"
  }'

3. Get Game State

Endpoint: GET /api/game/state?gameId={gameId}

Description: Retrieve the current state of a game.

Query Parameters:

  • gameId (string, required): The game ID

Response:

{
  "gameId": "k17abc123...",
  "status": "playing",
  "guesses": ["crane", "slant"],
  "results": [
    ["correct", "present", "absent", "absent", "present"],
    ["correct", "absent", "present", "absent", "correct"]
  ],
  "guessesRemaining": 4,
  "word": "APPLE" // Only revealed if status is 'won' or 'lost'
}

Example:

curl "https://wordle.nadnation.xyz/api/game/state?gameId=k17abc123..."

4. Get Leaderboard

Endpoint: GET /api/game/leaderboard

Description: Retrieve the top players on the leaderboard.

Response:

[
  {
    "rank": 1,
    "address": "0x1234...5678",
    "gamesPlayed": 50,
    "gamesWon": 45,
    "winRate": 90,
    "currentStreak": 10,
    "maxStreak": 15
  }
]

Example:

curl "https://wordle.nadnation.xyz/api/game/leaderboard"

Gameplay Strategy

Recommended Approach

  1. Start with a strong opening word containing common vowels and consonants:

- "CRANE", "SLATE", "TRACE", "ADIEU", "AUDIO"

  1. Analyze the feedback:

- Green (correct): Letter is in the right position - Yellow (present): Letter exists but in wrong position - Gray (absent): Letter is not in the word


Error Handling

Common Errors

  1. Transaction hash already used: { "error": "Transaction hash already used" }
  2. GamePlayed event not found: { "error": "GamePlayed event not found" }
  3. Not a valid word: { "error": "Not a valid word" }
  4. Wrong length: { "error": "Guess must be exactly 5 letters" }
  5. Game already finished: { "error": "Game is already finished" }

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

83.21%
按下载量换算6,128

安全审计

VirusTotal

可疑

ClawScan

可疑

Static analysis

未展示

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills