Skip to main content
Android
iOS
Web
Windows
Unity
Flutter
React Native

Pricing plan details

This page lists the details of the pricing plans for Chat.

User

DescriptionFreeStarterProEnterprise
Maximum number of contacts for a user1002501,000Custom (10,000 by default)
Total number of registered usersunlimitedunlimitedunlimitedunlimited
Maximum number of monthly active users50050,000100,000Customizable (requires a minimum monthly commitment of 100,000 MAU)
Peak concurrent connection*5010% of MAU10% of MAUCustomizable (10% of MAU by default)

Message

DescriptionFreeStarterProEnterprise
Message cloud storage (provides message storage services, supports historical messages, roaming messages, and offline messages)7 days90 days180 daysCustomizable (180 days by default)
All message types (including: text, emoticons, voice, video, image, location, transparent transmission, customized messages, etc.)
Custom message (flexibly customize message content and functions according to business needs)
Command message (as a control command)
Offline messages (support One-to-one chat/group chat offline messages, offline messages can be pulled after going online)

Group

DescriptionFreeStarterProEnterprise
Total number of groups10010,00050,000Customizable (100,000 by default)
Number of group members1002501,000Customizable (5,000 by default)
Number of groups that users can join1001,0002,000Customizable (10,000 by default)

Chat room

DescriptionFreeStarterProEnterprise
Number of chat rooms10010,00050,000Customizable (100,000 by default)
Number of chat room members1002,00010,000Customizable (20,000 by default)
Number of chat rooms that users can join1001,0002,000Customizable (10,000 by default)
Real-time interactive chat room broadcast messages
Global muting in real-time interactive chat rooms
Real-time interactive chat room user allowed list
Real-time interactive chat room history message storage

Features

DescriptionFreeStarterProEnterprise
Message and event callback (provides full message routing and forwarding, support messages, and multiple event types)XX
User status callback (synchronizes the user's offline status through callback)XX
Callback before sending (used to connect to third-party message review services)XX
Multi-terminal and multi-device online (supporting different devices online at the same time, simultaneous message reception)
Message read receipts (supports single chat receipts. Group chat receipts are only supported above the Pro version)
Message withdrawal (supports client/REST message withdrawal)
Message Do Not Disturb (no push messages will be received during the set Do Not Disturb time)
Server session list (WEB side pulls historical sessions)
IM UI Samples (provides IM UI components)
Full platform offline push (support Apple(MVP), Google(MVP), Huawei, Xiaomi, OPPO, VIVO, Meizu, custom ringtones and extensions)
Chat group file sharing
Generating thumbnails for image messages
Retrieving offline messages
Chat group and chat room notifications
Reactions
Message threading
Presence
TranslationXX

Content moderation

DescriptionFreeStarterProEnterprise
Reporting messagesXX
Banning users
Muting users
Real-time moderationXX
Global mute in chat groups and chat rooms
User ID filterXX
Text message moderationXX
Image message moderationXX

Analytics

DescriptionFreeStarterProEnterprise
Usage inspection
Quality inspection (BETA)

Security

DescriptionFreeStarterProEnterprise
TLS/SSL encryption
File encryption
Personal data deletion API
IP allowed list

Compliance

DescriptionFreeStarterProEnterprise
ISO27001
GDPR
HIPPA
SOC 2

RESTful APIs

DescriptionFreeStarterProEnterprise
RESTful API call frequencyUp to 10 calls/secondIndividual API calls: up to 100 calls/secondIndividual API calls: up to 100 calls/secondIndividual API calls: up to 100 calls/second

RESTful API call detailed pricing

Submit a support ticket if you want to lift the limits and pay for overage charge.

CategoryRest API DescriptionHttp MethodEndpointAPI calls included in the package/application (times/second)Allows "pay for overage"API Call Overage Charge
User ManagementGet user tokenGET/{org_name}/{app_name}/token100Y$0/month
User ManagementRegister userPOST/{org_name}/{app_name}/users100Y$50/month/additional 50 QPS
User ManagementRegister users in bulkPOST/{org_name}/{app_name}/users100Y$50/month/additional 50 QPS
User ManagementCheck whether the user token is invalidPOST/{org_name}/{app_name}/token/users/{uid}/invalid100Y$50/month/additional 50 QPS
User ManagementGet user informationGET/{org_name}/{app_name}/users/{username}100Y$50/month/additional 50 QPS
User ManagementGet user information in bulkGET/{org_name}/{app_name}/users100Y$50/month/additional 50 QPS
User ManagementDelete userDELETE/{org_name}/{app_name}/users/{username}100Y$50/month/additional 50 QPS
User ManagementDelete users in bulkDELETE/{org_name}/{app_name}/users30Y$50/month/additional 50 QPS
User ManagementChange user passwordPUT/{org_name}/{app_name}/users/{username}/password100Y$50/month/additional 50 QPS
User ManagementGet user online statusGET/{org_name}/{app_name}/users/{username}/status100Y$50/month/additional 50 QPS
User ManagementGet user online status in bulkPOST/{org_name}/{app_name}/users/batch/status50Y$50/month/additional 50 QPS
User ManagementGet offline message countGET/{org_name}/{app_name}/users/{owner_username}/offline_msg_count100Y$50/month/additional 50 QPS
User ManagementGet status of offline messagesGET/{org_name}/{app_name}/users/{username}/offline_msg_status/{msg_id}100Y$50/month/additional 50 QPS
User ManagementBan userPOST/{org_name}/{app_name}/users/{username}/deactivate100Y$50/month/additional 50 QPS
User ManagementUnban userPOST/{org_name}/{app_name}/users/{username}/activate100Y$50/month/additional 50 QPS
User ManagementForce user offlineGET/{org_name}/{app_name}/users/{username}/disconnect100Y$50/month/additional 50 QPS
User AttributesSet user attributesPUT/{org_name}/{app_name}/metadata/user/{username}100Y$50/month/additional 50 QPS
User AttributesGet user attributesGET/{org_name}/{app_name}/metadata/user/{username}100Y$50/month/additional 50 QPS
User AttributesGet user attributes in bulkPOST/{org_name}/{app_name}/metadata/user/get100Y$50/month/additional 50 QPS
User AttributesDelete user attributeDELETE/{org_name}/{app_name}/metadata/user/{username}100Y$50/month/additional 50 QPS
User AttributesGet the total size of user attributesGET/{org_name}/{app_name}/metadata/user/capacity100Y$50/month/additional 50 QPS
User MuteMute user in the appPOST/{orgName}/{appName}/mutes100Y$50/month/additional 50 QPS
User MuteQuery the app global mute of a single user IDGET/{orgName}/{appName}/mutes/username100Y$50/month/additional 50 QPS
User MuteQuery all app globally users under the appGET/{orgName}/{appName}/mutes100Y$50/month/additional 50 QPS
User online & offline statusSet user online statusPOST/{org_name}/{app_name}/users/{uid}/presence/{resource}/{status}50Y$50/month/additional 50 QPS
User online & offline statusSubscript online status in bulkPOST/{org_name}/{app_name}/users/{uid}/presence/{expiry}50Y$50/month/additional 50 QPS
User online & offline statusGet online status in bulkPOST/{org_name}/{app_name}/users/{uid}/presence50Y$50/month/additional 50 QPS
User online & offline statusUnsubscribe online statusDELETE/{org_name}/{app_name}/users/{uid}/presence50Y$50/month/additional 50 QPS
User online & offline statusQuery subscription listGET/{org_name}/{app_name}/users/{uid}/presence/sublist?pageNum=1&pageSize=10050Y$50/month/additional 50 QPS
User relationship managementAdd friendPOST/{org_name}/{app_name}/users/{owner_username}/contacts/users/{friend_username}100Y$50/month/additional 50 QPS
User relationship managementRemove friendDELETE/{org_name}/{app_name}/users/{owner_username}/contacts/users/{friend_username}100Y$50/month/additional 50 QPS
User relationship managementAccept friend adding requestPOST/{org_name}/{app_name}/users/{uid}/contacts/accept/users/{friendUsername}100Y$50/month/additional 50 QPS
User relationship managementDecline friend adding requestPOST/{org_name}/{app_name}/users/{uid}/contacts/decline/users/{friendUsername}100Y$50/month/additional 50 QPS
User relationship managementQuery user friend listGET/{org_name}/{app_name}/users/{uid}/rosters100Y$50/month/additional 50 QPS
User relationship managementGet contactGET/{org_name}/{app_name}/users/{owner_username}/contacts/users100Y$50/month/additional 50 QPS
User relationship managementGet blocked user listGET/{org_name}/{app_name}/users/{owner_username}/blocks/users50N/
User relationship managementBlock userPOST/{org_name}/{app_name}/users/{owner_username}/blocks/users50N/
User relationship managementRemove user of block userDELETE/{org_name}/{app_name}/users/{owner_username}/blocks/users/{blocked_username}50N/
MessageSend a single chat messagePOST/{org_name}/{app_name}/messages/users6,000 messages per minuteY$50/month/additional 6,000 messages/minute
MessageSend a group chat messagePOST/{org_name}/{app_name}/messages/chatgroups20 messages per secondY$200/month/ additional 20 messages/second
MessageSend chat room messagePOST/{org_name}/{app_name}/messages/chatrooms100 messages per secondY$200/month/ additional 100 messages/second
MessageGet message history fileGET/{org_name}/{app_name}/chatmessages/${time}10 times per minuteY$50/month/additional 10 times/minute
MessageSend a messagePOST/{org_name}/{app_name}/messages100Y$50/month/additional 50 QPS
MessageUpload filesPOST/{org_name}/{app_name}/chatfiles100Y$50/month/additional 50 QPS
MessageDownload filesPOST/{org_name}/{app_name}/chatfiles/{uuid}100Y$50/month/additional 50 QPS
MessageDownload thumbnailGET/{org_name}/{app_name}/chatfiles/{file_uuid}100Y$50/month/additional 50 QPS
MessageMessage recallPOST/{org_name}/{app_name}/messages/recall100Y$50/month/additional 50 QPS
MessageDelete conversationDELETE/{orgName}/{appName}/users/{userName}/user_channel100Y$50/month/additional 50 QPS
Message PushSet push message display namePUT/{org_name}/{app_name}/users/{username}100N/
Message PushSet push message display methodPUT/{org_name}/{app_name}/users/{username}100N/
Message PushSet do not disturbPUT/{org_name}/{app_name}/users/{username}100N/
Message PushSet do not disturbPUT/{org_name}/{app_name}/users/{username}100N/
Message PushSend push notifications by usersPOST/{org_name}/{app_name}/push/single1200 times per minuteY$100/month/additional 1200 times per minute
Message PushSend push notifications to all users under the appPOST/{org_name}/{app_name}/push/task5 times per minute & 100 times per dayN/
Message PushSend push notifications by labelsPOST/{org}/{app}/push/list/label1200 times per minuteY$100/month/additional 1200 times per minute
Message PushCreate a push labelPOST/{org_name}/{app_name}/push/label100Y$50/month/additional 50 QPS
Message PushDelete a push labelDELETE/{org_name}/{app_name}/push/label/{labelname}100Y$50/month/additional 50 QPS
Message PushAdd users to a push labelPOST/{org_name}/{app_name}/push/label/{labelname}/user100Y$50/month/additional 50 QPS
Message PushRemove users from a push labelDELETE/{org_name}/{app_name}/push/label/{labelname}/user100Y$50/month/additional 50 QPS
Group ManagementGet all groups in the appGET/{org_name}/{app_name}/chatgroups100Y$50/month/additional 50 QPS
Group ManagementGet groups a user addedGET/{app_name}/users/{username}/joined_chatgroups50Y$50/month/additional 50 QPS
Group ManagementGet group detailsGET/{org_name}/{app_name}/chatgroups/{group_ids}100Y$50/month/additional 50 QPS
Group ManagementCreate a groupPOST/{org_name}/{app_name}/chatgroups100Y$50/month/additional 50 QPS
Group ManagementEdit group informationPUT/{org_name}/{app_name}/chatgroups/{group_id}100Y$50/month/additional 50 QPS
Group ManagementDelete a groupDELETE/{org_name}/{app_name}/chatgroups/{group_id}100Y$50/month/additional 50 QPS
Group ManagementGet group announcementGET/{org_name}/{app_name}/chatgroups/{group_id}/announcement100Y$50/month/additional 50 QPS
Group ManagementUpdate group announcementPOST/{org_name}/{app_name}/chatgroups/{group_id}/announcement100Y$50/month/additional 50 QPS
Group ManagementGet group fileGET- Without pagination: /{org_name}/{app_name}/chatgroups/{group_id}/share_files- With pagination: /{org_name}/{app_name}/chatgroups/{group_id}/share_files?pagenum=1&pagesize=10100Y$50/month/additional 50 QPS
Group ManagementUpload group filePOST/{org_name}/{app_name}/chatgroups/{group_id}/share_files100Y$50/month/additional 50 QPS
Group ManagementDownload group fileGET/{org_name}/{app_name}/chatgroups/{group_id}/share_files/{file_id}100Y$50/month/additional 50 QPS
Group ManagementDelete group fileDELETE/{org_name}/{app_name}/chatgroups/{group_id}/share_files/{file_id}100Y$50/month/additional 50 QPS
Group Member ManagementGet group membersGET/{org_name}/{app_name}/chatgroups/{group_id}/users100Y$50/month/additional 50 QPS
Group Member Managementadd group memberPOST/{org_name}/{app_name}/chatgroups/{group_id}/users/{username}100Y$50/month/additional 50 QPS
Group Member Managementadd group member in bulkPOST/{org_name}/{app_name}/chatgroups/{chatgroupid}/users100Y$50/month/additional 50 QPS
Group Member ManagementRemove group memberDELETE/{org_name}/{app_name}/chatgroups/{group_id}/users/{username}100Y$50/month/additional 50 QPS
Group Member ManagementRemove group member in bulkDELETE/{org_name}/{app_name}/chatgroups/{group_id}/users/{usernames}100Y$50/month/additional 50 QPS
Group Member ManagementList group administratorsGET/{org_name}/{app_name}/chatgroups/{group_id}/admin100Y$50/month/additional 50 QPS
Group Member ManagementAdd group administratorPOST/{org_name}/{app_name}/chatgroups/{group_id}/admin100Y$50/month/additional 50 QPS
Group Member ManagementRemove group administratorDELETE/{org_name}/{app_name}/chatgroups/{group_id}/admin/{oldadmin}100Y$50/month/additional 50 QPS
Group Member ManagementTransfer ownership of groupPUT/{org_name}/{app_name}/chatgroups/{groupid}100Y$50/month/additional 50 QPS
Group Member ManagementList group block usersGET/{org_name}/{app_name}/chatgroups/{group_id}/blocks/users100Y$50/month/additional 50 QPS
Group Member ManagementAdd a group member to block listPOST/{org_name}/{app_name}/chatgroups/{group_id}/blocks/users/{username}100Y$50/month/additional 50 QPS
Group Member ManagementRemove group members from group block listDELETE/{org_name}/{app_name}/chatgroups/{group_id}/blocks/users/{username}100Y$50/month/additional 50 QPS
Group Member ManagementList group allowed listGET/{org_name}/{app_name}/chatgroups/{group_id}/white/users100Y$50/month/additional 50 QPS
Group Member ManagementAdd group member into group allowed listPOST/{org_name}/{app_name}/chatgroups/{group_id}/white/users/{username}100Y$50/month/additional 50 QPS
Group Member ManagementAdd group members to block list in bulkPOST/{org_name}/{app_name}/chatgroups/{group_id}/blocks/users100N/
Group Member ManagementRemove group members from group block list in bulkDELETE/{org_name}/{app_name}/chatgroups/{group_id}/blocks/users/{usernames}100N/
Group Member ManagementAdd group member into group allowed list in bulkPOST/{org_name}/{app_name}/chatgroups/{group_id}/blocks/users100N/
Group Member ManagementRemove user from group allowed listDELETE/{org_name}/{app_name}/chatgroups/{group_id}/white/users/{username}100Y$50/month/additional 50 QPS
Group Member ManagementList muted users in groupGET/{org_name}/{app_name}/chatgroups/{group_id}/mute}100Y$50/month/additional 50 QPS
Group Member ManagementMute a member in groupPOST/{org_name}/{app_name}/chatgroups/{group_id}/mute100Y$50/month/additional 50 QPS
Group Member ManagementMute all members in group (except users in whitelist)POST/{org_name}/{app_name}/chatgroups/{group_id}/ban100Y$50/month/additional 50 QPS
Group Member ManagementUnmute a member in groupDELETE/{org_name}/{app_name}/chatgroups/{group_id}/mute/{member1}(,{member2},…)100Y$50/month/additional 50 QPS
Group Member ManagementUnmute all members in groupDELETE/{org_name}/{app_name}/chatgroups/{group_id}/ban100Y$50/month/additional 50 QPS
Group Member ManagementGet group roleGET/{org_name}/{app_name}/chatgroups/{groupId}/roles100Y$50/month/additional 50 QPS
Group Member ManagementApply to join groupPOST/{org_name}/{app_name}/chatgroups/{groupId}/apply100Y$50/month/additional 50 QPS
Group Member ManagementAgree to join the groupPOST/{org_name}/{app_name}/chatgroups/{groupId}/apply_verify100Y$50/month/additional 50 QPS
Group Member ManagementLeave groupDELETE/{org_name}/{app_name}/chatgroups/{groupId}/quit100Y$50/month/additional 50 QPS
Group Member ManagementInvite to groupPOST/{org_name}/{app_name}/chatgroups/{groupId}/invite100Y$50/month/additional 50 QPS
Group Member ManagementAgree to invite to groupPOST/{org_name}/{app_name}/chatgroups/{groupId}/invite_verify100Y$50/month/additional 50 QPS
Chatroom ManagementList chatroomsGET/{org_name}/{app_name}/chatrooms50Y$50/month/additional 50 QPS
Chatroom ManagementGet user added chatroomsGET/{org_name}/{app_name}/users/{username}/joined_chatrooms50Y$50/month/additional 50 QPS
Chatroom ManagementGet chatroom informationGET/{org_name}/{app_name}/chatrooms/{chatroom_id}100Y$50/month/additional 50 QPS
Chatroom ManagementCreate a chatroomPOST/{org_name}/{app_name}/chatrooms50Y$50/month/additional 50 QPS
Chatroom ManagementUpdate chatroom informationPUT/{org_name}/{app_name}/chatrooms/{chatroom_id}100Y$50/month/additional 50 QPS
Chatroom ManagementDelete a chatroomDELETE/{org_name}/{app_name}/chatrooms/{chatroom_id}100Y$50/month/additional 50 QPS
Chatroom ManagementGet chatroom announcementGET/{org_name}/{app_name}/chatrooms/{chatroom_id}/announcement100Y$50/month/additional 50 QPS
Chatroom ManagementUpdate chatroom announcementPOST/{org_name}/{app_name}/chatrooms/{chatroom_id}/announcement100Y$50/month/additional 50 QPS
Chatroom Member ManagementList chatroom membersGET/{org_name}/{app_name}/chatrooms/{chatroom_id}/users100Y$50/month/additional 50 QPS
Chatroom Member ManagementAdd member to chatroomPOST/{org_name}/{app_name}/chatrooms/{chatroomid}/users/{username}100Y$50/month/additional 50 QPS
Chatroom Member ManagementAdd member to chatoom in bulkPOST/{org_name}/{app_name}/chatrooms/{chatroomid}/users100Y$50/month/additional 50 QPS
Chatroom Member ManagementDelete member from chatroomDELETE/{org_name}/{app_name}/chatrooms/{chatroomid}/users/{username}100Y$50/month/additional 50 QPS
Chatroom Member ManagementDelete member from chatroom in bulkDELETE/{org_name}/{app_name}/chatrooms/{chatroomid}/users/{usernames}100Y$50/month/additional 50 QPS
Chatroom Member ManagementList chatroom administratorsGET/{org_name}/{app_name}/chatrooms/{chatroom_id}/admin100Y$50/month/additional 50 QPS
Chatroom Member ManagementAdd chatroom administratorPOST/{org_name}/{app_name}/chatrooms/{chatroom_id}/admin100Y$50/month/additional 50 QPS
Chatroom Member ManagementDelete chatroom administratorDELETE/{org_name}/{app_name}/chatrooms/{chatroom_id}/admin/{oldadmin}100Y$50/month/additional 50 QPS
Chatroom Member ManagementList chatroom members blockedGET/{org_name}/{app_name}/chatrooms/{chatroom_id}/blocks/users100Y$50/month/additional 50 QPS
Chatroom Member ManagementAdd chatroom member in to block listPOST/{org_name}/{app_name}/chatrooms/{chatroom_id}/blocks/users/{username}100Y$50/month/additional 50 QPS
Chatroom Member ManagementRemove user from chartoom block listDELETE/{org_name}/{app_name}/chatrooms/{chatroom_id}/blocks/users/{username}100Y$50/month/additional 50 QPS
Chatroom Member ManagementList chatroom members in allowed listGET/{org_name}/{app_name}/chatrooms/{chatroom_id}/white/users100Y$50/month/additional 50 QPS
Chatroom Member ManagementAdd user in to chatroom allowed listPOST/{org_name}/{app_name}/chatrooms/{chatroom_id}/white/users/{username}100Y$50/month/additional 50 QPS
Chatroom Member ManagementRemove chatroom member from allowed listDELETE/{org_name}/{app_name}/chatrooms/{chatroom_id}/white/users/{username}100Y$50/month/additional 50 QPS
Chatroom Member ManagementList blocked users in chatroom block listGET/{org_name}/{app_name}/chatrooms/{chatroom_id}/mute100Y$50/month/additional 50 QPS
Chatroom Member ManagementMute chatroom memberPOST/{org_name}/{app_name}/chatrooms/{chatroom_id}/mute100Y$50/month/additional 50 QPS
Chatroom Member ManagementMute all members in chatroomPOST/{org_name}/{app_name}/chatrooms/{chatroom_id}/ban100Y$50/month/additional 50 QPS
Chatroom Member ManagementUnmute a member in chatroomDELETE/{org_name}/{app_name}/chatrooms/{chatroom_id}/mute/{member1}(,{member2},…)100Y$50/month/additional 50 QPS
Chatroom Member ManagementUnmute all members in chatroomDELETE/{org_name}/{app_name}/chatrooms/{chatroom_id}/ban100Y$50/month/additional 50 QPS
Chatroom Member ManagementList super administrators in chatroomGET/{org_name}/{app_name}/chatrooms/super_admin100Y$50/month/additional 50 QPS
Chatroom Member ManagementAdd super administrator in chatroomPOST/{org_name}/{app_name}/chatrooms/super_admin100Y$50/month/additional 50 QPS
Chatroom Member ManagementRemove super administrator in chatroomDELETE/{org_name}/{app_name}/chatrooms/super_admin/{superAdmin}100Y$50/month/additional 50 QPS
Chatroom Member ManagementGet chat room rolesGET/{org_name}/{app_name}/chatrooms/{chatroomId}/roles100Y$50/month/additional 50 QPS
Chatroom Member ManagementJoin chat roomPOST/{org_name}/{app_name}/chatrooms/{chatroomId}/apply100Y$50/month/additional 50 QPS
Chatroom Member ManagementExit the chat roomDELETE/{org_name}/{app_name}/chatrooms/{chatroomId}/quit100Y$50/month/additional 50 QPS
Chatroom Member ManagementAdd chatroom member in to block list in bulkPOST/{org_name}/{app_name}/chatrooms/{chatroom_id}/blocks/users100N/
Chatroom Member ManagementRemove user from chatroom block list in bulkDELETE/{org_name}/{app_name}/chatrooms/{chatroom_id}/blocks/users/{usernames}100N/
Chatroom Member ManagementAdd user in to chatroom allowed list in bulkPOST/{org_name}/{app_name}/chatrooms/{chatroom_id}/white/users100N/

SDK support

DescriptionFreeStarterProEnterprise
Android
iOS
Web
Windows
Unity
Flutter
Reactive Native

* Peak Concurrent Connections (PCC) measure the maximum number of TCP long-lived connections made concurrently, to Agora Chat servers, across any given calendar month. This number is typically different from your DAU/MAU. If an end user (with one UID or UUID) logs into Agora Chat, via x number of devices, they are counted as 1 MAU but x PCC.

PCC overage fee: We measure the aggregated number of PCCs and MAUs across all your projects at the end of each billing cycle, which ends at every calendar month and charge an overage fee, if applicable. You can find the overage fee schedule by visiting Agora Console. Paid packages of Agora Chat by default allow for a PCC smaller or equal to 10% of your total MAU. Exceeding the 10% of MAU won’t impact your end users or disrupt services, as we meter the PCC only at the end of each calendar month. Agora Chat Starter/Pro/Enterprise package subscribers are entitled to at least 500, 1K, and 1K PCC respectively, for free in each month. For example, if a Starter package subscriber has 1K MAU and 500 PCC in a month, there won’t be any PCC overage fee billed.

vundefined