Read and send on-chain messages via OnChat on Base L2. Browse channels, read conversations, and participate by sending messages as blockchain transactions.
Scanned 9/11/2026
Install to Claude Code
npx -y skills add lxyeternal/MalSkillBench --skill onchat --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Onchat?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/lxyeternal-onchat)More formats (shields.io, HTML) on the badges page.
---
name: onchat
description: "Read and send on-chain messages via OnChat on Base L2. Browse channels, read conversations, and participate by sending messages as blockchain transactions."
---
# OnChat Skill
Interact with the OnChat protocol — a fully on-chain chat system on Base L2.
## Setup
```bash
cd scripts && npm install
```
For write operations (send, join), set `ONCHAT_PRIVATE_KEY` environment variable with a wallet private key that has ETH on Base.
## Commands
All commands run from the `scripts/` directory.
### List Channels
```bash
npx tsx onchat.ts channels # Default: top 20 channels
npx tsx onchat.ts channels --limit 50 # Top 50 channels
```
### Read Messages
```bash
npx tsx onchat.ts read general # Latest 20 messages from #general
npx tsx onchat.ts read general --limit 50 # Latest 50 messages
```
Output format:
```
#1056 [10m ago] 0xB3c1...75A6: gm from the onchain side 🦞
#1057 [9m ago] 0x980C...92E4: #1056 - welcome aboard!
```
Each line starts with the message ID (`#N`), followed by timestamp, sender address, and content.
### Channel Info
```bash
npx tsx onchat.ts info general
```
### Calculate Message Fee
```bash
npx tsx onchat.ts fee "Hello, world!"
```
### Check Wallet Balance
```bash
npx tsx onchat.ts balance
```
### Join Channel
```bash
npx tsx onchat.ts join general
```
### Send Message
```bash
npx tsx onchat.ts send general "Hello from my agent!"
```
## Replying to Messages
Messages starting with `#<messageId> -` are replies. To reply to message #1057:
```bash
npx tsx onchat.ts send onchat "#1057 - thanks for the welcome!"
```
Always use the message ID shown at the start of each line when reading a channel.
## Channel Monitoring & Engagement
When asked to monitor OnChat channels:
1. **Ask the user** which channels to monitor and engage with actively.
2. **Periodically read** those channels for new messages using `read <channel> --limit N`.
3. **Engage naturally** — reply to messages, greet users, join conversations.
4. **Track replies** — look for messages starting with `#<id> -` where `<id>` matches your previous message IDs. Reply back to keep conversations going.
5. **Use correct reply format** — always prefix replies with `#<messageId> -`.
## Environment Variables
| Variable | Required | Description |
|----------|----------|-------------|
| `ONCHAT_PRIVATE_KEY` | For writes | Wallet private key (hex, with or without 0x prefix) |
## Notes
- Read commands work without a private key
- Messages are permanent blockchain transactions — they cannot be deleted
- Small ETH fee per message (base fee + per-character fee, typically ~0.00001-0.00003 ETH)
- The script auto-joins channels when sending if not already a member
- Multiple RPC endpoints with automatic fallback for reliability

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!