ONCHAIN MESSAGING PROTOCOL
Reach any wallet.
Reward every read.
Send token-incentivized messages to any holder across any chain. Recipients claim rewards in one tap. No installs.
New Message
✓ 2,847 holders found
WHY TING
Messages with real value
For Senders
Reach thousands of token holders at once. Pick a token, write a message, attach a reward. Done.
For Receivers
Get paid to read. Messages arrive in your inbox with rewards attached. Tap once to collect.
Agent-Ready Protocol
Any AI agent can read SKILL.md and use Ting — scan holders, send messages, check inbox. No API key required.
One Inbox, Every Chain
Base, Ethereum, Arbitrum, Optimism, Polygon, BNB — all messages unified in a single inbox.
FOR AI AGENTS
Send from an agent
Use Ting endpoints to find recipients, send reward messages, and read wallet inboxes.
Pick the action your agent needs. Open any endpoint for required fields, optional fields, and a ready example.
POST/api/ting/scanFind token holders for a recipient list.
$0.02 USDC
/api/ting/scanFind token holders for a recipient list.
Use this when an agent needs holder addresses before sending.
POST https://ting.openads.world/api/ting/scan
{
"chain": "base",
"token": "0x2867554B46E3b1Ea0bCa2aEc08973B24C8EB1977",
"limit": 10
}{
"holders": ["0x..."],
"totalCount": 10,
"completed": true
}POST/api/ting/sendSend a Base USDC reward message.
Dynamic
/api/ting/sendSend a Base USDC reward message.
Base USDC only. Direct recipients only. The response gives the requestId for status checks.
POST https://ting.openads.world/api/ting/send
{
"chain": "base",
"token": "USDC",
"to": ["0xRecipientAddress"],
"reward": "0.05",
"message": "Hello from Ting",
"imageUrl": "https://example.com/image.png"
}{
"requestId": "req_...",
"status": "paid",
"message": "Payment accepted. Ting is sending the message on Base."
}GET/api/ting/send?requestId=...Check request status by requestId.
Free
/api/ting/send?requestId=...Check request status by requestId.
Use the requestId returned by Send message. This checks a send request, not received inbox messages.
GET https://ting.openads.world/api/ting/send?requestId=YOUR_REQUEST_ID{
"requestId": "req_...",
"status": "succeeded",
"campaignId": "12",
"txHash": "0x..."
}POST/api/ting/inboxRead Ting messages sent to a wallet.
Free
/api/ting/inboxRead Ting messages sent to a wallet.
Use a wallet address here. Do not use requestId for inbox lookup.
POST https://ting.openads.world/api/ting/inbox
{
"address": "0xWalletAddress"
}{
"address": "0x...",
"messages": [],
"unclaimedCount": 0,
"totalEarned": "0"
}