무료 채팅 SDK

무료 채팅 SDK·API, 한계까지 적어 둡니다

무료 채팅 요금제는 대부분 작고, 첫 유료 요금제는 월 수백 달러부터입니다. GravEx Chat은 규모와 상관없이 무료이고 카드도 필요 없습니다. 무엇이 들어 있고 무엇이 없는지 정리했습니다.

경쟁사 수치는 각 사 공식 요금 페이지 기준이고 2026-11-03에 확인했습니다. 결정 전에 해당 페이지에서 다시 확인해 주세요. 더 많은 서비스(2026-10-31 확인)는 비교 페이지에 있습니다.

// 01

다른 무료 구간은 어디서 막히나

서비스무료 구간넘어서면
GravEx Chat요금으로 막는 MAU·동시 접속 상한 없음. 앱마다 안전 한도유료 요금제 없음
SendbirdMAU 1,000, 동시 접속 20, 초과 사용 없음Starter: 월 $399 (연 결제 월 $349), MAU 5,000
StreamMAU 1,000, 동시 접속 100Start: 월 $499 (연 결제 월 $399), MAU 10,000
Twilio Conversations월간 활성 사용자 첫 200명201번째부터 활성 사용자당 월 $0.05, 채널·미디어 요금 별도

무료 구간은 만들어 보는 단계에 맞춰져 있어서, 실제 사용자가 생기면 돈을 내게 됩니다. 미리 알고 있으면 괜찮지만 모르고 맞으면 당황스럽습니다.

// 02

무료로 쓸 수 있는 것

  • 방 네 종류: public, private, channel(누구나 읽고 소유자·관리자만 씀), dm.
  • 스레드, 인용 답장, 이모지 리액션, 멘션.
  • 읽은 위치와 안 읽은 수, 입력 중 표시, 접속 상태, 재접속 뒤에도 빈틈 없는 대화 기록.
  • URL 첨부(파일은 직접 저장), 서명된 웹훅, 검열용 동기 before_publish 훅.
  • 로그인하지 않은 방문자를 위한 게스트 신원.
  • 언제든 NDJSON으로 받는 전체 데이터 내보내기.
  • 한국어와 영어로 된 문서와 사이트.

// 03

없는 것

  • UI 키트가 없습니다. SDK는 헤드리스라 화면은 직접 그립니다.
  • 공식 SDK는 JavaScript·TypeScript뿐입니다. iOS·Android·Flutter 클라이언트는 공개된 REST·WebSocket 프로토콜로 직접 구현합니다.
  • 푸시 알림을 보내 주지 않습니다. 엔진은 열려 있는 연결에만 전달합니다. 앱이 닫힌 사람에게는 웹훅을 받아 FCM·웹 푸시·이메일로 직접 보냅니다.
  • 파일 저장, 로그인, 자동 검열이 없습니다. 엔진은 훅만 열어 두고 판단은 직접 만듭니다.
  • 음성·영상 통화가 없습니다.
  • 월 99.5% 목표(보상 없음), 하루 한 번의 디스크 스냅숏(최악의 경우 최대 24시간치 데이터 손실), 서울 한 곳의 리전.

// 04

왜 무료인가

아직 사용량이 작고, 엔진은 실제 서비스에서 돌려 보며 다듬습니다. 코인충, 에브리메이플, 여기얼마(real.gravex.app)가 같은 엔진을 씁니다. 지금 Basic은 무료입니다. 유료 요금제나 요금 변경은 적용 최소 90일 전에, 서비스 종료는 최소 180일 전에 공지하고 그 기간 내내 내보내기를 보장합니다.

// 05

5분이면 첫 메시지

백엔드가 토큰을 서명하고 방을 만들면, 브라우저가 연결해서 보냅니다.

// 백엔드
import { createChatServer } from '@kispi/chat/server'
const chat = createChatServer({ secretKey: process.env.CHAT_SECRET_KEY })
await chat.rooms.ensure({ key: 'lobby', type: 'public' })
const token = chat.token({ userId: '42', name: 'Mina' }) // 이 사용자에게 내려 줍니다

// 브라우저
import { createChatClient } from '@kispi/chat'
const client = createChatClient({ key: PK, token: () => fetchToken() })
await client.connect()
const room = client.roomByKey('lobby')
await room.subscribe()
room.on('messages', render)
await room.send({ text: '안녕하세요' })

직접 치기 싫다면 AI 도구에 llms.txt 주소와 계정 키 하나만 주세요. 앱을 만들고 키를 발급하고 첫 방까지 붙여 줍니다.

// FAQ

자주 묻는 질문

숨은 조건이 있나요?
위의 「없는 것」이 전부입니다. 운영자 GravEx 한 곳이 서울 리전 하나에서 월 99.5% 목표(보상 없음)로 돌립니다. 계약상 SLA, 보안 인증, 네이티브 SDK가 필요하면 큰 업체가 더 맞습니다.
무료 요금제에 메시지나 사용량 제한이 있나요?
요금으로 막는 상한은 없습니다. 앱마다 기본 안전 한도가 있습니다: 유저당 초당 발행 5건(순간 10건), 메시지 4,000자, 첨부 10개, 유저당 동시 연결 10개. 콘솔에서 확인하고, 더 필요하면 올려 달라고 요청할 수 있습니다.
React, Vue, Svelte에서 되나요?
됩니다. SDK는 런타임 의존성도 프레임워크 바인딩도 없습니다. room.messages는 바뀔 때마다 새 배열이라 Svelte $state.raw, React useState, Vue shallowRef처럼 참조로 비교하는 상태에 그대로 넣으면 됩니다.
데이터를 가져갈 수 있나요?
네. 콘솔 버튼 한 번, 또는 시크릿 키로 GET /v1/export를 부르면 유저·방·메시지 전체를 NDJSON 파일로 받습니다.

함께 보기

출처