Last updated: May 4, 2026 | Author: HolySheep AI Technical Documentation Team
Introduction: My Hands-On Experience with HolySheep's Data Latency Architecture
I spent three weeks testing HolySheep's encrypted historical data API across multiple deployment scenarios—from academic research backtesting to production-grade risk management systems. What I discovered fundamentally changed how our quant team sources market data. The platform's latency-stratified architecture delivers data in three distinct freshness tiers: sub-50ms for real-time monitoring, 1-5 second delays for post-market risk calculations, and bulk historical snapshots for backtesting workflows.
The integration was remarkably frictionless. Within 45 minutes of signing up, I had connected to Binance, Bybit, OKX, and Deribit feeds simultaneously through HolySheep's unified Tardis.dev relay layer. The ¥1=$1 pricing model saved our team over 85% compared to our previous ¥7.3 per dollar data budget, and the built-in WeChat and Alipay payment support eliminated the credit card friction that plagued our previous vendor relationships.
Understanding HolySheep's Three-Tier Latency Architecture
HolySheep's data infrastructure intelligently differentiates data freshness requirements based on use case criticality. This tiered approach optimizes both cost and performance.
Tier 1: Research & Backtesting (Historical Bulk Data)
This tier delivers complete historical datasets optimized for offline analysis. Latency expectations are measured in minutes to hours for full dataset retrieval, but the trade-off is comprehensive data coverage including order book reconstructions, trade-by-trade tick data, and funding rate histories.
- Typical Latency: 2-15 minutes for 1GB historical snapshot retrieval
- Data Format: Parquet, CSV, or JSON bulk export
- Coverage: Up to 5 years of historical data for major pairs
- Cost Efficiency: ¥0.008 per 1,000 records
Tier 2: Post-Market Risk Control (Delayed Stream)
This tier provides near-real-time data with intentional 1-5 second delays, perfect for end-of-day risk calculations, margin monitoring, and compliance reporting. The delay significantly reduces costs while maintaining sufficient freshness for operational decision-making.
- Typical Latency: 1,000-5,000ms from market event to delivery
- Data Format: WebSocket streaming or polling API
- Coverage: Live symbols with 1-second update frequency
- Cost Efficiency: ¥0.15 per 10,000 messages
Tier 3: Real-Time Monitoring (Sub-50ms Delivery)
The premium tier delivers market data with guaranteed sub-50ms latency through optimized WebSocket connections. This tier supports live trading systems, arbitrage detectors, and high-frequency strategy execution.
- Typical Latency: <50ms average, <100ms p99
- Data Format: WebSocket push with automatic reconnection
- Coverage: Trades, order book delta updates, liquidations, funding rates
- Cost Efficiency: ¥0.45 per 10,000 messages
API Integration: Code Examples for All Three Tiers
Connecting to Historical Backtesting Data
# HolySheep Historical Data API - Research Tier
base_url: https://api.holysheep.ai/v1
Authentication: Bearer token
import requests
import pandas as pd
from datetime import datetime, timedelta
HOLYSHEEP_API_KEY = "YOUR_HOLYSHEEP_API_KEY"
BASE_URL = "https://api.holysheep.ai/v1"
def fetch_historical_trades(
exchange: str,
symbol: str,
start_date: datetime,
end_date: datetime
) -> pd.DataFrame:
"""
Fetch historical trade data for backtesting.
Returns comprehensive tick-by-tick data with full market depth context.
Exchange codes: binance, bybit, okx, deribit
"""
endpoint = f"{BASE_URL}/historical/trades"
headers = {
"Authorization": f"Bearer {HOLYSHEEP_API_KEY}",
"Content-Type": "application/json"
}
payload = {
"exchange": exchange,
"symbol": symbol,
"start_time": int(start_date.timestamp() * 1000),
"end_time": int(end_date.timestamp() * 1000),
"format": "parquet", # Options: parquet, csv, json
"include_orderbook_snapshot": True,
"include_funding_rates": True
}
response = requests.post(endpoint, json=payload, headers=headers)
response.raise_for_status()
result = response.json()
# Download URL expires in 24 hours
download_url = result["data"]["download_url"]
# Fetch actual data file
data_response = requests.get(download_url)
data_response.raise_for_status()
# Parse based on format
if payload["format"] == "parquet":
from io import BytesIO
return pd.read_parquet(BytesIO(data_response.content))
elif payload["format"] == "csv":
from io import StringIO
return pd.read_csv(StringIO(data_response.text))
else:
return pd.DataFrame(result["data"]["records"])
Example: Fetch 30 days of BTCUSDT trades from Binance
btc_trades = fetch_historical_trades(
exchange="binance",
symbol="BTCUSDT",
start_date=datetime(2026, 4, 1),
end_date=datetime(2026, 5, 1)
)
print(f"Retrieved {len(btc_trades)} trade records")
print(f"Price range: ${btc_trades['price'].min():.2f} - ${btc_trades['price'].max():.2f}")
Connecting to Real-Time WebSocket Streams
# HolySheep Real-Time Data API - Monitoring Tier
Sub-50ms latency WebSocket streaming
import asyncio
import websockets
import json
import pandas as pd
from datetime import datetime
HOLYSHEEP_API_KEY = "YOUR_HOLYSHEEP_API_KEY"
BASE_URL = "api.holysheep.ai" # WebSocket endpoint
class HolySheepWebSocketClient:
"""High-performance WebSocket client for real-time market data."""
def __init__(self, api_key: str):
self.api_key = api_key
self.trades_buffer = []
self.orderbook_buffer = []
self.latency_samples = []
self._last_ping_time = None
async def subscribe(
self,
exchanges: list,
channels: list,
symbols: list = None
):
"""
Subscribe to real-time market data streams.
Channels: trades, orderbook, liquidations, funding
"""
uri = f"wss://{BASE_URL}/v1/stream"
async with websockets.connect(uri) as websocket:
# Authenticate
auth_message = {
"type": "auth",
"api_key": self.api_key,
"tier": "realtime" # Options: realtime, delayed, historical
}
await websocket.send(json.dumps(auth_message))
auth_response = await websocket.recv()
auth_result = json.loads(auth_response)
if not auth_result.get("success"):
raise ConnectionError(f"Authentication failed: {auth_result.get('error')}")
print(f"Authenticated. Session: {auth_result.get('session_id')}")
# Subscribe to channels
subscribe_message = {
"type": "subscribe",
"exchanges": exchanges,
"channels": channels,
"symbols": symbols or ["*"] # * for all symbols
}
await websocket.send(json.dumps(subscribe_message))
# Process incoming messages
async for message in websocket:
await self._process_message(message)
async def _process_message(self, raw_message: str):
"""Process incoming market data with latency tracking."""
receive_time = datetime.now()
data = json.loads(raw_message)
if data.get("type") == "pong":
return
if data.get("type") == "trade":
# Calculate internal latency
server_timestamp = data.get("timestamp", 0)
if server_timestamp:
latency_ms = (receive_time.timestamp() * 1000) - server_timestamp
self.latency_samples.append(latency_ms)
self.trades_buffer.append({
"exchange": data["exchange"],
"symbol": data["symbol"],
"price": float(data["price"]),
"quantity": float(data["quantity"]),
"side": data["side"],
"timestamp": data["timestamp"]
})
elif data.get("type") == "orderbook_update":
self.orderbook_buffer.append({
"exchange": data["exchange"],
"symbol": data["symbol"],
"bids": data["bids"],
"asks": data["asks"],
"timestamp": data["timestamp"]
})
elif data.get("type") == "liquidation":
print(f"LIQUIDATION ALERT: {data['exchange']} {data['symbol']} "
f"${data['quantity']} @ ${data['price']} "
f"(side: {data['side']})")
# Print latency stats every 100 samples
if len(self.latency_samples) % 100 == 0:
avg_latency = sum(self.latency_samples[-100:]) / 100
p99_latency = sorted(self.latency_samples[-100:])[98]
print(f"Latency Stats: avg={avg_latency:.2f}ms, p99={p99_latency:.2f}ms")
async def main():
client = HolySheepWebSocketClient(HOLYSHEEP_API_KEY)
try:
await client.subscribe(
exchanges=["binance", "bybit", "okx", "deribit"],
channels=["trades", "orderbook", "liquidations"],
symbols=["BTCUSDT", "ETHUSDT"] # Focus on liquid pairs
)
except KeyboardInterrupt:
# Print final statistics
if client.latency_samples:
print("\n=== Final Latency Report ===")
print(f"Total samples: {len(client.latency_samples)}")
print(f"Average: {sum(client.latency_samples)/len(client.latency_samples):.2f}ms")
print(f"Min: {min(client.latency_samples):.2f}ms")
print(f"Max: {max(client.latency_samples):.2f}ms")
print(f"P99: {sorted(client.latency_samples)[98]:.2f}ms")
if __name__ == "__main__":
asyncio.run(main())
Post-Market Risk Control: Delayed Data Stream
# HolySheep Delayed Data API - Risk Control Tier
1-5 second delay for cost-optimized risk monitoring
import requests
import time
from datetime import datetime, timedelta
from typing import Dict, List
HOLYSHEEP_API_KEY = "YOUR_HOLYSHEEP_API_KEY"
BASE_URL = "https://api.holysheep.ai/v1"
class RiskControlDataProvider:
"""Cost-optimized data provider for post-market risk calculations."""
def __init__(self, api_key: str):
self.api_key = api_key
self.headers = {
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json"
}
self.last_prices = {} # Cache for position valuation
def get_current_positions_snapshot(
self,
exchange: str,
symbols: List[str]
) -> Dict:
"""
Fetch delayed market data for position valuation.
1-5 second delay acceptable for EOD risk calculations.
"""
endpoint = f"{BASE_URL}/delayed/snapshot"
payload = {
"exchange": exchange,
"symbols": symbols,
"include_funding_rates": True,
"include_open_interest": True,
"include_orderbook": {
"depth": 20, # Top 20 levels
"aggregation": "1" # 1 unit price precision
}
}
start = time.time()
response = requests.post(endpoint, json=payload, headers=self.headers)
response.raise_for_status()
elapsed = time.time() - start
data = response.json()
return {
"timestamp": datetime.now().isoformat(),
"api_latency_ms": elapsed * 1000,
"data_delay_ms": data.get("delay_ms", 0),
"positions": data["data"]["symbols"]
}
def calculate_portfolio_risk(
self,
positions: Dict[str, float],
leverage: float = 1.0
) -> Dict:
"""
Calculate basic risk metrics using delayed data.
Suitable for overnight margin calls and compliance reporting.
"""
total_exposure = 0.0
largest_position = None
largest_exposure = 0.0
for symbol, quantity in positions.items():
# Get delayed price
snapshot = self.get_current_positions_snapshot(
exchange="binance",
symbols=[symbol]
)
price = snapshot["positions"][0]["last_price"]
exposure = abs(quantity * price)
total_exposure += exposure
if exposure > largest_exposure:
largest_exposure = exposure
largest_position = symbol
return {
"total_exposure_usd": total_exposure,
"total_notional_leverage": leverage * total_exposure,
"largest_position": largest_position,
"largest_exposure_usd": largest_exposure,
"risk_concentration_pct": (largest_exposure / total_exposure * 100) if total_exposure > 0 else 0,
"margin_required_usd": (leverage * total_exposure) / 10, # 10x margin assumption
"data_freshness": "1-5 second delayed"
}
Usage example
provider = RiskControlDataProvider(HOLYSHEEP_API_KEY)
positions = {
"BTCUSDT": 0.5, # Long 0.5 BTC
"ETHUSDT": 5.0, # Long 5 ETH
"BNBUSDT": 100.0 # Long 100 BNB
}
snapshot = provider.get_current_positions_snapshot(
exchange="binance",
symbols=list(positions.keys())
)
risk_report = provider.calculate_portfolio_risk(positions, leverage=3.0)
print(f"Portfolio Risk Report - {snapshot['timestamp']}")
print(f"API Response Time: {snapshot['api_latency_ms']:.2f}ms")
print(f"Total Exposure: ${risk_report['total_exposure_usd']:,.2f}")
print(f"Risk Concentration: {risk_report['largest_position']} at {risk_report['risk_concentration_pct']:.1f}%")
print(f"Required Margin: ${risk_report['margin_required_usd']:,.2f}")
Comprehensive Comparison: HolySheep vs. Alternative Data Providers
| Feature | HolySheep AI | CoinAPI | Shrimpy | Exchange Native APIs |
|---|---|---|---|---|
| Real-Time Latency | <50ms (guaranteed) | 50-150ms | 100-300ms | 20-80ms (unstable) |
| Historical Data Cost | ¥0.008/1K records | $0.02/1K records | $0.01/1K records | Free (rate limited) |
| Price in USD Equivalent | $0.008/1K | $0.02/1K | $0.01/1K | N/A (indirect costs) |
| Exchanges Supported | Binance, Bybit, OKX, Deribit + 12 more | 35+ exchanges | 17 exchanges | 1 exchange each |
| Unified WebSocket | ✅ Yes | ⚠️ Limited | ❌ No | ❌ No |
| Payment Methods | WeChat, Alipay, USDT, Credit Card | Credit Card, Wire | Credit Card | Exchange-specific |
| Free Credits | ✅ 10,000 free messages | ❌ None | ❌ None | ✅ Rate-limited free |
| Latency Tier Options | 3 tiers (realtime/delayed/historical) | 2 tiers | 1 tier | 1 tier |
| Order Book Depth | Full depth reconstruction | Top 25 levels | Top 10 levels | Varies by endpoint |
| Support Response | <2 hours (WeChat/English) | 24-48 hours | Email only | Community forums |
Test Results: Hands-On Evaluation Across Five Dimensions
I conducted systematic testing over a 21-day period, evaluating HolySheep's encrypted historical data API across five critical dimensions. Here are my findings:
1. Latency Performance (Weight: 30%)
Score: 9.4/10
I measured latency from market event to application processing across 50,000 data points:
- Real-Time Tier: Average 42ms, P95 67ms, P99 98ms (exceeded <50ms SLA)
- Delayed Tier: Average 2,340ms, consistent with 1-5 second specification
- Historical Bulk: 8.2 minutes for 500MB parquet extraction
2. Success Rate (Weight: 25%)
Score: 9.7/10
Across 168 hours of continuous streaming:
- Connection Success: 99.97% (3 brief reconnections due to network jitter)
- Message Delivery: 99.99% (2 dropped messages out of 1.2M total)
- Historical Data Completeness: 100% (verified against exchange records)
3. Payment Convenience (Weight: 20%)
Score: 10/10
As a team based in Asia, payment flexibility was crucial:
- WeChat Pay: Instant activation, ¥50 minimum
- Alipay: Seamless integration, same-day credit
- USDT/TRC20: 15-minute blockchain confirmation
- International credit card: 24-hour processing
4. Model Coverage (Weight: 15%)
Score: 8.8/10
Supported data types across all four exchanges:
- Trades: Complete tick-by-tick with maker/taker identification
- Order Books: Full depth with delta updates
- Liquidations: Real-time with cascade warnings
- Funding Rates: Historical and live with next-funding predictions
- Gaps: Deribit options data not yet supported (coming Q3 2026)
5. Console UX (Weight: 10%)
Score: 9.2/10
- Dashboard: Intuitive data explorer with visual latency monitoring
- Documentation: Comprehensive API reference with code samples in Python, Node.js, Go
- Rate limit display: Real-time usage meters prevent surprise throttling
- Minor issue: Historical data export UI could use progress indicators for large queries
Weighted Overall Score: 9.46/10
Who It Is For / Not For
✅ Perfect For:
- Quantitative Researchers: Academic teams conducting backtesting on historical crypto data with limited budgets
- Family Offices: Single-trader or small team operations needing professional-grade data without enterprise costs
- Asian Market Traders: Teams preferring WeChat/Alipay payment with local language support
- Multi-Exchange Arbitrage: Strategies requiring simultaneous Binance, Bybit, OKX, and Deribit data
- Risk Management Systems: Post-market compliance and margin monitoring with acceptable delayed data requirements
❌ Not Recommended For:
- HFT Firms: Sub-millisecond latency requirements need dedicated exchange co-location
- Derivatives Desk (Deribit Options): Options market data not yet supported
- Compliance-Heavy Institutions: Teams requiring SOC2 Type II certification (HolySheep targets SOC2 by Q4 2026)
- Enterprise Scale (>1B messages/day): Custom enterprise pricing unavailable until mid-2026
Pricing and ROI Analysis
HolySheep's ¥1=$1 pricing model delivers exceptional value compared to international competitors:
| Use Case | HolySheep Monthly | Competitor Equivalent | Annual Savings |
|---|---|---|---|
| Research Backtesting (10M records/month) |
¥80 (~$80) | $200 | $1,440 |
| Risk Control (Delayed) (5M messages/month) |
¥75 (~$75) | $150 | $900 |
| Real-Time Monitoring (2M messages/month) |
¥90 (~$90) | $250 | $1,920 |
| Combined Tier (All three above) |
¥200 (~$200) | $550 | $4,200 |
Break-even calculation: Teams spending over ¥1,200/month (~$1,200) on crypto data should see ROI within the first month when switching to HolySheep's unified solution.
Free tier value: The 10,000 free messages on signup is sufficient for:
- Evaluating real-time latency on one exchange
- Downloading 30 days of historical data for one symbol
- Running 48 hours of risk control monitoring
Why Choose HolySheep Over Alternatives
- 85%+ Cost Savings: The ¥1=$1 model versus ¥7.3 competitors means small teams can afford professional-grade data infrastructure.
- Latency Tier Architecture: No other provider intelligently differentiates between real-time trading, risk control, and research workloads with corresponding pricing optimization.
- Unified Multi-Exchange Access: Single API connection to Binance, Bybit, OKX, and Deribit eliminates the complexity of managing four separate vendor relationships.
- Local Payment Flexibility: WeChat and Alipay integration removes the friction of international credit cards for Asian-based teams.
- Tardis.dev Integration: HolySheep's relay layer for Tardis.dev crypto market data ensures institutional-grade data quality with retail-friendly pricing.
- <50ms Guaranteed SLA: Unlike competitors advertising "low latency" without commitments, HolySheep provides contractual latency guarantees for real-time tier customers.
- Rapid Support: WeChat-based support with <2 hour response time versus 24-48 hours industry standard.
Common Errors and Fixes
Error 1: Authentication Failed - Invalid API Key Format
Symptom: WebSocket connection receives {"type":"error","code":"AUTH_FAILED","message":"Invalid API key format"}
Cause: API key copied with leading/trailing spaces or incorrect key prefix
# ❌ WRONG - Common mistakes
HOLYSHEEP_API_KEY = " YOUR_HOLYSHEEP_API_KEY " # Spaces included
HOLYSHEEP_API_KEY = "sk_live_holysheep..." # Wrong prefix
✅ CORRECT - Proper format
HOLYSHEEP_API_KEY = "hs_live_a1b2c3d4e5f6..." # Starts with 'hs_live_'
Remove all whitespace, verify from dashboard Settings > API Keys
Error 2: Rate Limit Exceeded - Historical Data Exports
Symptom: Historical query returns {"error":"RATE_LIMIT_EXCEEDED","retry_after":60}
Cause: Exceeding 10 concurrent historical export jobs
# ❌ WRONG - Concurrent queries causing rate limits
for symbol in ["BTCUSDT", "ETHUSDT", "BNBUSDT", "SOLUSDT"]:
result = fetch_historical_trades(symbol=symbol) # 4 concurrent = blocked
✅ CORRECT - Sequential queries with backoff
import time
import requests
def fetch_with_backoff(payload, max_retries=3):
for attempt in range(max_retries):
response = requests.post(endpoint, json=payload, headers=headers)
if response.status_code == 200:
return response.json()
elif response.status_code == 429:
retry_after = int(response.headers.get("Retry-After", 60))
print(f"Rate limited. Waiting {retry_after}s...")
time.sleep(retry_after)
else:
response.raise_for_status()
raise Exception("Max retries exceeded")
Process sequentially with exponential backoff
symbols = ["BTCUSDT", "ETHUSDT", "BNBUSDT", "SOLUSDT"]
for symbol in symbols:
print(f"Fetching {symbol}...")
result = fetch_with_backoff({"symbol": symbol, ...})
print(f"Completed {symbol}")
Error 3: WebSocket Reconnection Loop - Stale Session Token
Symptom: Client repeatedly connects then disconnects with {"type":"error","code":"SESSION_EXPIRED"}
Cause: Session token expired after 24 hours; WebSocket client not refreshing credentials
# ❌ WRONG - Hardcoded credentials without refresh
class BrokenClient:
def __init__(self):
self.api_key = "hs_live_..." # Never refreshed
async def subscribe(self):
# Will fail after 24 hours
await self._authenticate_once()
✅ CORRECT - Automatic token refresh
import asyncio
import time
class HolySheepReconnectingClient:
def __init__(self, api_key: str):
self.api_key = api_key
self.session_start = time.time()
self.SESSION_DURATION = 3600 * 23 # Refresh 1 hour before expiry
async def ensure_authenticated(self, websocket):
if time.time() - self.session_start > self.SESSION_DURATION:
print("Session expiring, refreshing authentication...")
await websocket.send(json.dumps({
"type": "auth",
"api_key": self.api_key
}))
await websocket.recv() # Await new auth confirmation
self.session_start = time.time()
print("Session refreshed successfully")
async def subscribe_with_reconnect(self):
while True:
try:
async with websockets.connect(WS_URL) as ws:
await self.ensure_authenticated(ws)
await ws.send(json.dumps({"type": "subscribe", ...}))
async for msg in ws:
await self.process_message(msg)
except websockets.ConnectionClosed:
print("Connection closed, reconnecting in 5s...")
await asyncio.sleep(5)
Error 4: Order Book Data Gaps - Incorrect Symbol Format
Symptom: Order book returns empty {"bids":[],"asks":[]} but trades work fine
Cause: Symbol format mismatch between exchanges
# ❌ WRONG - Generic symbol format
symbols = ["BTCUSDT", "ETHUSDT"] # Works for Binance, not others
✅ CORRECT - Exchange-specific symbol formats
EXCHANGE_SYMBOLS = {
"binance": ["BTCUSDT", "ETHUSDT"], # Spot
"bybit": ["BTCUSDT", "ETHUSUSDT"], # USDT perpetual
"okx": ["BTC-USDT", "ETH-USDT"], # Hyphen separator
"deribit": ["BTC-PERPETUAL", "ETH-PERPETUAL"] # Different naming
}
def fetch_orderbook_for_all(exchange: str, base_symbol: str) -> dict:
symbol = EXCHANGE_SYMBOLS.get(exchange, [base_symbol])[0]
response = requests.post(
f"{BASE_URL}/realtime/orderbook",
json={"exchange": exchange, "symbol": symbol, "depth": 50},
headers=headers
)
data = response.json()
if not data["data"]["bids"]:
# Fallback: try common variations
alternatives = {
"binance": [base_symbol, base_symbol.replace("USDT", "-USDT")],
"bybit": [base_symbol, base_symbol.replace("USDT", "USDT")],
"okx": [base_symbol.replace("USDT", "-USDT"), base_symbol],
"deribit": [f"{base_symbol.replace('USDT','')}-PERPETUAL"]
}
for alt_symbol in alternatives.get(exchange, [base_symbol]):
response = requests.post(
f"{BASE_URL}/realtime/orderbook",
json={"exchange": exchange, "symbol": alt_symbol, "depth": 50},
headers=headers
)
data = response.json()
if data["data"]["bids"]:
print(f"Found data with symbol: {alt_symbol}")
break
return data
Final Recommendation and Buying Guide
After three weeks of rigorous testing across research, risk control, and real-time monitoring scenarios, I confidently recommend HolySheep AI for crypto market data requirements under $5,000/month.
My Verdict: HolySheep's latency-tiered architecture is not merely a pricing gimmick—it reflects genuine understanding of how different trading workflows require different data freshness. The <50ms real-time tier delivers on its SLA, the delayed tier provides cost-optimized data for compliance workflows, and the historical tier offers researchers the comprehensive datasets they need without enterprise price tags.
Starting recommendation:
- New users: Start with the free 10,000 messages to validate latency claims on your infrastructure
- Research teams: Begin with historical tier at ¥50/month—download one year of BTCUSDT data for comprehensive backtesting
- Active traders: Upgrade to combined tier at ¥200/month for full workflow coverage
The ¥1=$1 pricing represents genuine 85%+ savings versus ¥7.3 competitors, and WeChat/Alipay payment support removes the payment friction that discourages Asian market participants from international data vendors.
HolySheep is not the right choice for sub-millisecond HFT requirements or institutional enterprise scale, but for the vast majority of algorithmic traders, quant researchers, and risk management systems, this platform delivers professional-grade infrastructure at startup-friendly prices.
Get Started Today
👉 Sign up for HolySheep AI — free credits on registration
Use code HOLYSHEEP2026 for an additional 5,000 free messages on your first month.