Credits & Billing
YeboLink uses a simple credit-based system. Credits are loaded onto your account by the YeboLink team and used every time you send a message.
How Credits Work
Each message you send deducts credits from your balance:
| Channel | Credits per Message | Status |
|---|---|---|
| SMS | 1 credit | ✅ Live |
| 0.5 credits | 🚧 Coming Soon | |
| 0.1 credits | 🚧 Coming Soon | |
| Voice | 2 credits/min | 🚧 Coming Soon |
SMS Message Splitting
Long SMS messages are automatically split into segments:
- Standard SMS: 160 characters per segment → 1 credit per segment
- Unicode SMS (emojis, special characters): 70 characters per segment → 1 credit per segment
Credit Packages
| Pack | Price | Credits | Per Credit |
|---|---|---|---|
| Starter | $10 | 125 | $0.080 |
| Growth | $25 | 340 | $0.074 |
| Business | $50 | 715 | $0.070 |
| Pro | $100 | 1,500 | $0.067 |
| Scale | $200 | 3,200 | $0.063 |
| Enterprise | $500 | 8,500 | $0.059 |
Credits never expire. The more you buy, the better your rate.
Topping Up Credits
Contact the YeboLink team via your dashboard or at [email protected] to top up your credit balance. We'll load credits to your account and you'll be ready to go.
Checking Your Balance
You can check your credit balance at any time:
curl https://api.yebolink.com/api/v1/account/balance \
-H "Authorization: Bearer YOUR_JWT_TOKEN"const response = await fetch('https://api.yebolink.com/api/v1/account/balance', {
headers: {
'Authorization': `Bearer ${jwtToken}`
}
});
const data = await response.json();
console.log('Credits remaining:', data.data.credits_balance);import requests
response = requests.get(
'https://api.yebolink.com/api/v1/account/balance',
headers={'Authorization': f'Bearer {jwt_token}'}
)
data = response.json()
print(f"Credits remaining: {data['data']['credits_balance']}")Response
{
"success": true,
"data": {
"credits_balance": "715.00",
"workspace_id": "550e8400-e29b-41d4-a716-446655440000"
}
}Low Credit Handling
When your balance runs out, message sends will fail with a 402 error:
{
"success": false,
"error": "Insufficient credits"
}Handle this in your code:
async function sendMessage(payload) {
const response = await fetch('https://api.yebolink.com/api/v1/messages/send', {
method: 'POST',
headers: {
'X-API-Key': process.env.YEBOLINK_API_KEY,
'Content-Type': 'application/json'
},
body: JSON.stringify(payload)
});
if (response.status === 402) {
// Out of credits — contact YeboLink to top up
console.error('Insufficient credits. Contact [email protected] to top up.');
return;
}
return response.json();
}Transaction History
View your credit usage via the dashboard at dashboard.yebolink.com — it shows every message sent, credits used, and your full transaction history.
Need More Credits?
Email [email protected] or reach out through your dashboard.