putty
API ReferenceArtifacts

Register a community bot

Registers a bot that gates a chat on holdings of one token. The bot's own platform token is **not** accepted here and putty never stores one: the bot runs on the user's own host, which holds the credential. What this registers is the gate — the chain, the token, and the chat — which is the part putty can prove and the host cannot. Both auto-post switches default to false. A bot that posts every Receipts update and every countdown on its own spends the community's attention, so turning them on is a separate, deliberate call.

POST
/community/bots

Registers a bot that gates a chat on holdings of one token. The bot's own platform token is not accepted here and putty never stores one: the bot runs on the user's own host, which holds the credential. What this registers is the gate — the chain, the token, and the chat — which is the part putty can prove and the host cannot. Both auto-post switches default to false. A bot that posts every Receipts update and every countdown on its own spends the community's attention, so turning them on is a separate, deliberate call.

Authorization

bearerAuth
AuthorizationBearer <token>

A bearer token. The Account routes accept a Privy access token; the MCP transport accepts an sk- API key issued by POST /account/api-keys.

In: header

Request Body

application/json

The chat, the chain, and the gated token.

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/community/bots" \  -H "Content-Type: application/json" \  -d '{    "platform": "telegram",    "chatId": "string",    "displayName": "string",    "chainSlug": "ethereum",    "tokenAddress": "string"  }'
{  "id": "string",  "ownerId": "string",  "platform": "telegram",  "chatId": "string",  "displayName": "string",  "chainSlug": "ethereum",  "tokenAddress": "string",  "tokenSymbol": "string",  "autoPostReceipts": true,  "postCountdowns": true,  "createdAt": "string",  "updatedAt": "string"}