ccCoin CommunityAPI v1
Sign inGet API key
▲ v0.4 beta · live on mainnet

X Communities
is dead. The community API
for pump.fun coins.

When X deprecated Communities, pump.fun coins lost their canonical post layer. Coin Community is a drop-in REST API + SDKs to authenticate with Twitter, bind a wallet, and post to any coin's community feed. Built for third-party developers and trading bots.

$8
min balance to post
1:1
coin ↔ community
2 chains
EVM · Solana
WS + REST
live + cached
# install
$ npm i @coincom/sdk
 
import { CoinCommunity } from "@coincom/sdk";
 
const cc = new CoinCommunity(({
  apiKey: process.env.CC_KEY,
});
 
// 1. user signs in with X → gets verified
const session = await cc.auth.oauth("twitter");
 
// 2. post to a coin's community
await cc.posts.create(({
  coin: "PEPE",
  text: "fresh alpha from your own wallet",
});
# install
$ cargo add coincommunity
 
use coincommunity::CoinCommunity;
 
let cc = CoinCommunity::new(&env::var("CC_KEY")?);
 
cc.posts().create(PostInput {
  coin: "PEPE".into(),
  text: "fresh alpha".into(),
  ..Default::default()
}).await?;
# post to a coin community
$ curl https://api.coincommunity.fun/v1/posts
  -H "Authorization: Bearer $CC_KEY" \
  -H "Content-Type: application/json" \
  -d '{"coin":"PEPE","text":"gm"}'
The context

Every coin needs a community. Nobody wants to rebuild the stack.

Token communities keep getting rebuilt — auth, wallet-linking, balance gating, moderation, real-time feeds, ranking. Every trading UI, wallet and bot reinvents the same primitives badly. Coin Community ships them once, as a headless SDK and REST API keyed on mint address.

Fragmented by default

No portable identity across apps. No shared post layer per coin. Every surface rebuilds wallet-link + balance-gate + moderation from scratch.

MVP

Rolling your own

  • Build Twitter OAuth + session plumbing
  • Solve EVM + Solana wallet linking twice
  • Run your own balance-gate indexer
  • Stand up Kafka + WebSocket for live feeds
  • Write moderation, report flows, ranking

On Coin Community

  • One Twitter OAuth per user, many wallets
  • EVM + Solana wallets on a single user id
  • $8 balance gate enforced server-side
  • WebSocket for posts + likes, REST for cache
  • Moderation queue + report button out-of-box
Features

The MVP surface.

Auth, wallets, posts, likes, feeds, moderation, real-time. Replies and retweets are explicitly deferred — MVP stays focused on the primitives that matter.

Twitter OAuth

One Twitter account per internal user id. Headless flow with OAuth callback back to your app — ships in the React Native SDK too.

/v1/auth/twitter

Multi-wallet linking

EVM and Solana wallets attached to a single user id. Link/unlink endpoints tag the originating company API key.

POST /v1/wallets/link

$8 balance gate

Every post is checked against a $8 USD minimum of the coin's token across the user's linked wallets. No gate, no post.

enforced server-side

Post + like

Create post, increment like. One community per mint address. Replies and retweets deferred post-MVP — scope is deliberate.

/v1/posts · /v1/posts/:id/like

Live WebSocket

Stream new posts and like updates per community or globally. Backed by Kafka + TimescaleDB behind the scenes.

wss://api.…/v1/stream

Latest + recommended

Chronological feed or ranked feed weighted by likes, engagement velocity, engager follower count, token metadata and time decay.

GET /feed?sort=recommended

Moderation + reports

Posts land as unmoderated, then async review updates status. User report button built-in; external mod hooks planned.

POST /v1/posts/:id/report

Company API keys

Self-serve email/password signup, generate keys per company, configurable rate limits. OpenAPI spec auto-generates every SDK.

dashboard.coincommunity.fun

Rust + React Native

Rust backend with OpenAPI macros. React Native SDK for iOS, Android and web from one codebase. SDK emits auth-state events.

cargo add coincom · @coincom/sdk
Auth flow

Twitter in. Wallets linked. Balance checked.

Headless Twitter OAuth with a callback to your app. Internal user id stays stable; wallets attach to it one at a time, across EVM and Solana. Balance is re-checked on every post.

Step
Actor
Call
1
Start Twitter OAuth
Headless flow — callback returns to your app
your app
cc.auth.twitter()
2
Internal user resolved
One Twitter → one internal user id
cc backend
user.id = "u_a9f…"
3
Link a wallet
Signed nonce — EVM or Solana, repeatable
user wallet
cc.wallets.link({ chain, sig })
4
SDK event fires
auth-state change propagates to your app
sdk
cc.on("auth", cb)
5
Post — balance checked
≥ $8 USD of mint across linked wallets
your app
cc.posts.create({ mint, text })
API reference · preview

Resource-oriented. REST + WebSocket. JSON.

Versioned at https://api.coincommunity.fun/v1. OpenAPI spec is generated from the Rust backend and auto-syncs every SDK.

Business API Keys

Business Callbacks

Business Auth

Business Logs

Business Members

Communities

Feed

Users

Wallets

Basic

GET/v1/business/api-keys

Get api keys

API keys retrieved

200 application/json
{
  "apiKeys": [
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "businessId": "00000000-0000-0000-0000-000000000000",
      "createdBy": "00000000-0000-0000-0000-000000000000",
      "name": "string",
      "keyHash": "string",
      "keyPrefix": "string",
      "createdAt": "2024-01-01T00:00:00.000Z"
    }
  ]
}
Who it's for

Companies building on top of every coin.

One SDK, three surfaces. Headless means you keep the UI — we handle auth, identity, wallet linking, balance gating and the live feed.

CT
trading ui
Charting + terminals

Drop a live community feed next to the chart. Stream new posts and likes over WebSocket, filter to current mint, cache the rest over REST.

cc.stream.subscribe({ mint })
MW
wallets
Mobile wallets

React Native SDK plugs straight into the wallet. Users post from the same app that signed the balance-gate check — no redirect.

cc.wallets.link({ chain: "evm" })
PD
portfolio
Portfolio dashboards

Show the recommended feed scoped to the user's bags. Ranking uses engager follower weight + token metadata out of the box.

cc.feed.list({ sort: "recommended" })
Documentation

Full reference on Mintlify.

Live playground, auth guides, webhook recipes, rate-limit tables, pagination patterns. Auto-synced from the OpenAPI spec on every release.

docs.coincommunity.fun

Everything you need to build. Quickstarts in TypeScript and Rust. Webhook recipes. Rate limits. Authoritative OpenAPI reference.

Powered by Mintlify · Auto-synced from openapi.json
FAQ

Common questions.

The token mint address. One mint ↔ one community, one-to-one. No namespaces, no duplicates — the chain's identifier is the community identifier.