# Astron MaaS · Astron Token Plan User Guide
# 1. Key Configuration Information (Required Reading)
The following are the core parameters required to integrate with Astron Token Plan. Copy them into the configuration file for the corresponding tool.
# 1.1 Obtain an API Key
- Visit the Astron Token Plan subscription page on the Astron MaaS platform (opens new window).
- After purchasing a plan, copy its dedicated Astron Token Plan API Key.
Each plan has a separate API Key that can only be used with the Astron Token Plan API.
# 1.2 API Endpoints
| Protocol | Base URL |
|---|---|
| OpenAI protocol | https://maas-token-api-lac.xf-yun.com/v2 |
| Anthropic protocol | https://maas-token-api-lac.xf-yun.com/anthropic |
# 1.3 Model Names
Specify a model ID in the configuration file to switch models. The following model IDs are currently supported:
| Model name | modelId |
|---|---|
| GLM-5.2 | xopglm52 |
| GLM-5.1 | xopglm51 |
| GLM-5 | xopglm5 |
| DeepSeek-V4-Pro | xopdeepseekv4pro |
| DeepSeek-V4-Flash | xopdeepseekv4flash |
| DeepSeek-V3.2 | xopdeepseekv32 |
| Kimi-K2.6 | xopkimik26 |
| Kimi-K2.5 | xopkimik25 |
| MiniMax-M2.5 | xminimaxm25 |
| Qwen3.5-397B-A17B | xopqwen35397b |
| Qwen3.6-35B-A3B | xopqwen36v35b |
| Qwen3.5-35B-A3B | xopqwen35v35b |
| Qwen3-Coder-Next-FP8 | xop3qwencodernext |
| GLM-4.7-Flash | xopglmv47flash |
# 2. Tool Configuration Templates
# 2.1 OpenClaw
Configuration file path: ~/.openclaw/openclaw.json
{
"models": {
"mode": "merge",
"providers": {
"astrontokenplan": {
"baseUrl": "https://maas-token-api-lac.xf-yun.com/v2",
"apiKey": "YOUR_TOKEN_PLAN_API_KEY",
"api": "openai-completions",
"models": [
{
"id": "YOUR_CONFIGURED_MODEL_ID",
"name": "YOUR_CONFIGURED_MODEL_ID",
"reasoning": false,
"input": ["text"],
"contextWindow": 92160,
"maxTokens": 32768
}
]
}
}
},
"agents": {
"defaults": {
"model": {
"primary": "astrontokenplan/YOUR_CONFIGURED_MODEL_ID"
},
"models": {
"astrontokenplan/YOUR_CONFIGURED_MODEL_ID": {
"alias": "astrontokenplan"
}
}
}
}
}
# 2.2 Claude Code
Configuration file path: ~/.claude/settings.json
{
"env": {
"ANTHROPIC_AUTH_TOKEN": "YOUR_TOKEN_PLAN_API_KEY",
"ANTHROPIC_BASE_URL": "https://maas-token-api-lac.xf-yun.com/anthropic",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": 1,
"API_TIMEOUT_MS": 600000,
"ANTHROPIC_MODEL": "YOUR_CONFIGURED_MODEL_ID",
"ANTHROPIC_SMALL_FAST_MODEL": "YOUR_CONFIGURED_MODEL_ID"
},
"permissions": {
"allow": [],
"deny": []
}
}
Optional configuration: ~/.claude.json
{
"hasCompletedOnboarding": true
}
# 2.3 Cursor
Configuration location: Press Ctrl + Shift + J, then search for “Models”
| Setting | Value |
|---|---|
| Override OpenAI Base URL | https://maas-token-api-lac.xf-yun.com/v2 |
| OpenAI API Key | Your Astron Token Plan API Key |
| Model | Your configured modelId |
# 2.4 OpenCode
Configuration file path: opencode.config.json in the project root, or the configuration path specified by OpenCode (refer to the OpenCode documentation (opens new window))
Astron Token Plan uses a dedicated Base URL (
maas-token-api), which differs from the standard inference service (maas-api). Do not mix them.
Complete configuration example:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"AstroTokenPlan": {
"npm": "@ai-sdk/openai-compatible",
"name": "Astron Token Plan",
"options": {
"baseURL": "https://maas-token-api-lac.xf-yun.com/v2",
"apiKey": "YOUR_TOKEN_PLAN_API_KEY"
},
"models": {
"astron-code-latest": {
"name": "YOUR_CONFIGURED_MODEL_ID"
}
}
}
}
}
# 3. Product Overview
Astron Token Plan on the Astron MaaS platform is a monthly subscription service that gives businesses and teams access to large language models, with usage measured uniformly in credits. Allowances are allocated per member, and each member receives a fixed amount. Within that allowance, users can access multiple large language models, with different models consuming different amounts of credits. The service supports both the OpenAI and Anthropic protocols. It is compatible with mainstream AI coding tools such as OpenClaw, Cursor, and Claude Code, covering scenarios including code writing, comprehension, and optimization to help improve development efficiency and code quality.
# 4. Plans and Billing
| Member type | Monthly price (USD/member) | Monthly credit allowance | TPM |
|---|---|---|---|
| Standard Member | $49 | 20,000 | 2,000,000 |
| Advanced Member | $129 | 60,000 | 3,000,000 |
| Premium Member | $399 | 200,000 | 5,000,000 |
# 4.1 Plan Allowance Consumption
Credits are deducted for each request based on actual model usage. You can view credit usage on the Astron Token Plan subscription page on the Astron MaaS platform (opens new window).
Credit consumption follows a unified calculation rule. Refer to the model list for the amount consumed by each model.
Credits consumed = Non-cached input tokens (millions) × Input credits
+ Cache-hit tokens (millions) × Cache-hit credits
+ Output tokens (millions) × Output credits
+ Reasoning tokens (millions) × Reasoning credits (if reasoning mode is available)
Actual credits consumed = Credits consumed × Time-period factor
# 5. Supported Models
| Model | Context | Description | Input (credits/million tokens) | Cache hit (credits/million tokens) | Output (credits/million tokens) | Reasoning (credits/million tokens) |
|---|---|---|---|---|---|---|
| GLM-5.2 | 1M | Early access | 800 | 200 | 2800 | 2800 |
| GLM-5.1 | 200K | Efficient and stable | 800 | 160 | 2800 | 2800 |
| GLM-5 | 200K | Efficient and stable | 600 | 120 | 2200 | 2200 |
| DeepSeek-V4-Pro | 1M | Early access | 1200 | 240 | 2400 | 2400 |
| DeepSeek-V4-Flash | 1M | Early access | 100 | 20 | 200 | 200 |
| DeepSeek-V3.2 | 128K | Efficient and stable | 200 | 40 | 300 | 300 |
| Kimi-K2.6 | 256K | Multimodal input | 650 | 130 | 2700 | 2700 |
| Kimi-K2.5 | 128K | Multimodal input | 400 | 80 | 2100 | 2100 |
| MiniMax-M2.5 | 128K | Efficient and stable | 210 | 42 | 840 | 840 |
| Qwen3.5-397B-A17B | 256K | Multimodal input | 120 | 24 | 720 | 720 |
| Qwen3.6-35B-A3B | 128K | Multimodal input | 100 | 20 | 360 | 360 |
| Qwen3.5-35B-A3B | 128K | Multimodal input | 40 | 8 | 170 | 170 |
| Qwen3-Coder-Next-FP8 | 256K | Specialized for coding | 250 | 50 | 1000 | 1000 |
| GLM-4.7-Flash | 128K | Lightweight and fast | 100 | 20 | 150 | 150 |
# 6. Subscription Management
# 6.1 Subscription and Purchase
- Sign in to the Astron MaaS platform and open the Astron Token Plan Subscription page.
- Select Standard Member, Advanced Member, or Premium Member. After payment for a plan subscription is completed, the plan's effective period and rate-limit cycle begin. Each monthly plan is valid for 31 days from the completion of payment.
- On the plan subscription page, you can view the following information (subject to the content actually displayed on the page): the current plan, periodic usage, the API Key, and the upgrade option.
# 6.2 Plan Stacking and Downgrades
- Stacking: You can make multiple purchases at the same tier or mix purchases across different tiers.
- Downgrade: You cannot downgrade a currently active Premium Member or Advanced Member plan. To use a lower-tier plan, wait until the currently active plan expires, then purchase the lower-tier plan again.
# 6.3 Cancellation and Refunds
Once purchased, the Astron Token Plan service cannot be canceled or refunded except in the following circumstances. Please place your order carefully: (1) the user cannot access the service after payment due to a platform issue; or (2) a refund is otherwise required by laws or regulations.
# 6.4 Effective Time
- Plan models: Specify a modelId in the configuration file to switch models easily.
# 7. Agreements and Policies
- This service is governed by the Astron MaaS Platform User Agreement and relevant product terms.
- By using Astron Token Plan, you agree to the allowance purposes and usage restrictions stated in this product documentation.
- Refer to the console and the latest announcements for the applicable SLA and detailed billing rules.
# 8. Error Codes
| Error code | Cause | Solution |
|---|---|---|
| 401-Invalid authentication | Authentication is invalid. | First check the model ID (the model ID must be configured uniformly as astron-code-latest), URL, and API Key. Refer to Chapter 1 of this document. |
| 401-The API key provided is incorrect | The API key used in the request is incorrect. | Check whether the API key is correct. |
| 429-Request rate limit reached | You are sending requests too quickly. | Control the request frequency and read the rate-limit guide. |
| 429-Current quota exceeded; check your plan and billing details | Your allowance is exhausted or you have reached the maximum monthly spending limit. | Purchase additional allowance or learn how to increase the usage limit. |
| 500-An error occurred while the server was processing the request | An internal server issue occurred. | Retry the request later. If the issue persists, contact us and check the status page. |
| 503-The engine is currently overloaded; try again later | The server is receiving too much traffic. | Retry your request later. |
| 0 | Success. | |
| 10000 | An error occurred while upgrading to WebSocket. | |
| 10001 | An error occurred while reading the user's message through WebSocket. | |
| 10002 | An error occurred while sending a message to the user through WebSocket. | |
| 10003 | The user's message format is invalid. | |
| 10004 | The user data schema is invalid. | |
| 10005 | A user parameter value is invalid. | |
| 10006 | User concurrency error: This user is already connected. The same user cannot connect from multiple locations simultaneously. | |
| 10007 | User traffic is restricted: The service is processing the user's current request. Wait for processing to finish before sending a new request. (You must wait until the large language model has completed its response before sending the next request.) | |
| 10008 | Insufficient service capacity. Contact the service provider. | |
| 10009 | Failed to establish a connection with the engine. | |
| 10010 | An error occurred while receiving data from the engine, or the engine is in a queue. Switch models and try again. | |
| 10011 | An error occurred while sending data to the engine. | |
| 10013 | The user's request contains sensitive information and failed review. The request was rejected. | |
| 10014 | The response contains sensitive information and failed review. Subsequent results cannot be shown to the user. (Clear the current result and display a notice/warning to the user stating that the answer involves sensitive, political, terrorism-related, pornographic, violent, or similar content and therefore will not be displayed or returned.) | |
| 10015 | The APPID is on the blacklist. | |
| 10016 | An APPID authorization error occurred. For example: the feature is not activated, the corresponding version is not activated, there are insufficient tokens, or concurrency exceeds the authorized limit. (Contact us to enable authorization or increase the limit.) | |
| 10018 | The user has continuously sent ping messages for five minutes without sending actual request data. This error code is returned and the WebSocket connection is closed. This does not require attention when using short-lived connections. | |
| 10019 | This error code indicates that the returned result may contain sensitive content. Reject further interaction with the user. | |
| 10110 | The service is busy. Try again later. | |
| 10163 | The parameters sent to the engine are invalid and failed the engine's schema validation. | |
| 10222 | Engine network error. | |
| 10223 | The load balancer cannot find an engine node. | |
| 10404 | A user configuration parameter value is invalid. | First check the model ID (the model ID must be configured uniformly as astron-code-latest), URL, and API Key. Refer to Chapter 1 of this document. |
| 10907 | The token count exceeds the limit. The conversation history and question contain too much text; shorten the input. | |
| 10910 | The token count exceeds the limit. Control the input or output length. | When using DeepSeek-V3.2, configure contextWindow below 96k and maxTokens below 32k. When using GLM-5, configure contextWindow below 96k to noticeably improve service responsiveness and tool experience (the configuration limit is 256k). For other models, configure it below 128k. |
| 11200 | Authorization error: This APPID is not authorized to use the relevant feature, or its usage exceeds the limit. | |
| 11201 | Request count limit exceeded. The current maximum request count has been exceeded. | |
| 11202 | Authorization error: Per-second rate-control limit exceeded. Per-second concurrency exceeds the number of authorized channels. | |
| 11203 | Authorization error: Concurrency rate-control limit exceeded. The concurrent channel count exceeds the number of authorized channels. | |
| 11221 | Model configuration error: The current plan does not support the model specified in the console or configuration file. Choose an available model or upgrade the plan. | |
| 11210 | TPM limit exceeded. The current maximum TPM limit has been exceeded. Note: TPM refreshes dynamically every minute. Wait and try again. | |
| 10012 | Internal engine error, or the engine is in a queue. Switch models and try again. | Common cause: The context is too long. 1. Configure the contextWindow context-window length and maxTokens maximum output length parameters. (When using DeepSeek-V3.2, configure contextWindow below 96k and maxTokens below 32k. When using GLM-5, configure contextWindow below 96k to noticeably improve service responsiveness and tool experience. For other models, configure it below 128k.)2. Manage conversations proactively: Use the /compact command to compress the current conversation context; use the /new command to start a new session and clear the history. |
# 9. Contact Us
If you have any questions, encounter an issue, or need technical support, please contact our support team using the email address below. We will be happy to assist you.
Email address: support@astron.ai (Send email)