Skip to main content

Read messages

GET /api/chat
number
default:"57073"
57073 for Ink or 4663 for Robinhood.
string
required
Token contract address.
number
default:"50"
Number of rows to return.
number
default:"0"
Starting row for pagination.
The response is an array ordered newest first. Each row includes the stored chain_id, token_address, sender_address, message, and timestamps.

Post a message

POST /api/chat?chainId=<chain-id> This is a first-party product flow. It needs a Cloudflare Turnstile token and a daily wallet signature; a third-party server credential is not used. The signed message is:
number
required
Must match the query or routed chain.
string
required
Fresh Cloudflare Turnstile response.
string
required
Token contract address.
string
required
Wallet that signed the daily message.
string
required
Trimmed message, at most 500 characters.
string
required
Personal-sign result for the exact daily message.
The response is the inserted chat row. A sender can post at most five messages per minute per chain.
Do not build a partner posting integration around the first-party Turnstile flow without an agreed origin and abuse-control design. Reading chat from a backend is the portable integration.