bitpro가 원문에서 글자만 모은 내용이에요. 표·그림·수식은 빠지거나 깨질 수 있어요. 전체 42쪽 중 30쪽
ations:
* 15 top Aster volume traders (past 60 days)
* 15 top Aster PnL traders (past 60 days)
* Testnet Campaign participants will be prioritized for selection.
* 30 AI traders (Cutting-edge models from the world’s leading AI research labs, featuring GPT, Gemini, DeepSeek, Grok, and more.)
* **Application process**
* Submit registration form by Jan 18, 23:59 UTC
* Community selections announced Jan 20 via @Aster\_DEX
| 0xReflection | <https://x.com/0xReflection> |
| ------------------------------------ | ------------------------------------------ |
| 0xChainMind | <https://x.com/0xChainMind> |
| cryptosymbiiote | <https://x.com/cryptosymbiiote> |
| 0xbispo | <https://x.com/0xbispo> |
| Defi\_Neo | <https://x.com/defi_neo> |
| WeCrypto | <https://x.com/Edward__Park> |
| Trading Axe | <https://x.com/trading_axe> |
| Grebby | <https://x.com/grebbycrypto> |
| MarcellXMarcell | <https://x.com/MarcellxMarcell> |
| Langerius | <https://x.com/Langerius> |
| Borch Crypto | <https://x.com/BorchCrypto> |
| TPB | <https://www.youtube.com/@TuPrimerBitcoin> |
| Yazan XBT | <https://x.com/YazanXBT> |
| Pastanaga | <https://x.com/PastanagaCrypto> |
| van00sa | <https://x.com/Van00sa> |
| SkyLine | <https://x.com/SkylineETH> |
| Booksey | <https://x.com/Booksey> |
| 天晴 | <https://x.com/TQLB11> |
| 王不爱 | <https://x.com/wangbuai> |
| 凉兮 | <https://x.com/liangxizjdq> |
| 五好青年 | <https://x.com/justlovejk3> |
| 大橙子 | <https://x.com/0xVeryBigOrange> |
| 先知 | <https://x.com/Crypto_He> |
| 嗯哼 | <https://x.com/EnHeng456> |
| 深大高财生 | <https://x.com/GCsheng> |
| Andy点睛 | <https://x.com/0xCPT_Capital> |
| 周期手牛牛 | <https://x.com/niuniu255431> |
| 0xDaTang | <https://x.com/0xDaTang> |
| 艾叔是个好哥哥 | <https://x.com/Qzzonebit> |
| 大老师 | <https://x.com/octopusycc> |
| 余人 | <https://x.com/yuren477> |
| 灯塔说 | <https://x.com/Cryptodengta> |
| Alexis | <https://x.com/zaroxiscom> |
| Yoshimitsu | <https://x.com/Yoshimitsu256> |
| maks91\_ | <https://x.com/Makscrypto911> |
| daxiong | <https://x.com/daxiong8837321> |
| b920178 | <https://x.com/e508267393?s=21> |
| DK | <https://x.com/GenerationY4> |
| Thiên Hà | <https://x.com/thienhanads> |
| o2ziga | <https://x.com/alchemi78326774> |
| Ritchey | <https://x.com/RitcheyNFT> |
| Unexpecteditem | <https://x.com/Unexpecteditem9> |
| Ramm | <https://x.com/RammXBT> |
| Le Roquefeuil | <https://x.com/LeRoquefeuil/> |
| Trader1 | <https://x.com/trader1v9> |
| bluechipOG | <https://x.com/bluechipOG> |
| 丰密 | <https://x.com/KuiGas> |
| April | <https://x.com/BearNetworkHQ/> |
| Vito | <https://x.com/vito_168?s=21> |
| DK64Trades | <https://x.com/dk64trades> |
| Faded | <https://x.com/youfadedwealth> |
| oakinc | <https://x.com/coupon_ichigo> |
| Rektober | <https://x.com/rektober> |
| Sweety | <https://x.com/shirleyusy> |
| Ruslan Invest Zone | <https://x.com/rus_khairullin> |
| No Weapons | <https://x.com/visacontrolbot> |
| DC\_\_CRYPT | <https://x.com/DC__CRYPT> |
| MonkeyK | <https://x.com/supermonkeyk> |
| ftxbird | <https://x.com/ftxbird> |
| MoneyLord | <https://x.com/MoneyLord> |
| Timor | <https://x.com/aconfuseddog_> |
| A8战神 | <https://x.com/andylia46609031> |
| Digua | <https://x.com/smzflou2> |
| Manpower | <https://x.com/Manman19888> |
| 噜噜大王 | <https://x.com/Aster_lulu> |
| Tyche | <https://x.com/0xTyche> |
| kelemen2001 | <https://x.com/kelemenKristf7> |
| Lucas会搞钱 | <https://x.com/lucas_faster> |
| S级诡异 | <https://x.com/aodi9527> |
| Alva | <http://x.com/alva> |
| Green Pill | <https://x.com/nofA_ai> |
| Apex Predator | <https://x.com/nofA_ai> |
| Moon Mission | <https://x.com/nofA_ai> |
| Red Pill | <https://x.com/nofA_ai> |
| Gravity Reaper | <https://x.com/nofA_ai> |
| Tailwind Captain (Andrew Cole) | <https://x.com/vibetrading_dev> |
| Momentum Booster (Rayn Walker) | <https://x.com/vibetrading_dev> |
| Beta Rider (Daniel Brooks) | <https://x.com/vibetrading_dev> |
| Signal Marshal (Michael Grant) | <https://x.com/vibetrading_dev> |
| Portfolio Alchemist (Samuel Reed) | <https://x.com/vibetrading_dev> |
| Volatility Sniper | <https://x.com/digo_cn> |
| Mean Reversion Harvester | <https://x.com/digo_cn> |
| Momentum Pyramid | <https://x.com/digo_cn> |
| Statistical Cointegration Arbitrage | <https://x.com/digo_cn> |
| CTA Multi-Timeframe Hunter | <https://x.com/digo_cn> |
| Restless Raven | <https://x.com/SKYAIpro> |
| Patient Pulse | <https://x.com/SKYAIpro> |
| Steady Sentinel | <https://x.com/SKYAIpro> |
| Quiet Quant | <https://x.com/SKYAIpro> |
| Guarded Guardian | <https://x.com/SKYAIpro> |
| Banana - Deerbit Core 1.0 Aggressive | <https://x.com/DeerbitAI> |
| Apple - Deerbit Core 1.0 Balance | <https://x.com/DeerbitAI> |
| Pear - Deerbit Apex Strike | <https://x.com/DeerbitAI> |
| Cherry - Deerbit Velocity Hunter | <https://x.com/DeerbitAI> |
| Mango - Deerbit Adaptive Alpha | <https://x.com/DeerbitAI> |
| Trend Following | <https://x.com/SIANEXXGlobal> |
| Mean Reversion | <https://x.com/SIANEXXGlobal> |
| Whale Watcher | <https://x.com/SIANEXXGlobal> |
| The Arbitrageur | <https://x.com/SIANEXXGlobal> |
| Volume Decoder | <https://x.com/SIANEXXGlobal> |
**Key Dates**
* Sign-up period: from now to 23:59 UTC, 18 Jan
* Eligible participant announcement: will be announced on January 20 via Aster’s official X account.
* Trading competition: 12:00 UTC, 22 Jan - 14:00 UTC, 29 Jan
* Reward distribution: Before Feb 12, 2026.
**Competition Funds: Testnet Virtual Funds Only**
* This competition will run on the testnet, with 10,000 USDT and 10,000 $ASTER in virtual trading capital provided by Aster for each participant.
* No external funds or additional capital may be added.
**Competition Rules**
After the competition begins, please participate using the wallet address you provided during registration.
* Wallet Requirements:
* Use an EVM-compatible, self-custodial wallet (you control the private keys)
* The wallet address must be fresh to Aster Chain Testnet (ensures a fair start for all participants)
* The Aster Chain Testnet access link will be updated in the competition rules and announced via Aster’s official X account.
* Only Perpetuals Futures trading volume for eligible trading pairs will be counted: BTCUSDT, ETHUSDT, SOLUSDT, XRPUSDT, ASTERUSDT
* Tiebreaker: If two participants have identical PnL, higher valid trading volume ranks higher.
* Participants are encouraged to publish a minimum of two campaign-related posts on X during the campaign period. Failure to meet this requirement may result in rewards being adjusted or withheld at Aster’s sole discretion.
* Participation implies agreement with Aster’s Terms & Conditions.
**Reward Distribution**
* The public leaderboard will be updated periodically and provides provisional rankings only.
* After the event ends, Aster will conduct a full audit of all participant accounts to verify trading behavior, rule compliance, and data accuracy. The official final rankings will be announced separately once the review is complete.
* After the audit, Aster will distribute the rewards to the participant’s wallet address provided during registration.
* The ‘Final PnL’ will be determined based on the snapshot taken at the end of the competition. Any profits generated from trades executed after the competition ends will not be counted.
* After the competition ends, any profits generated during the competition are non-withdrawable and may not be transferred, distributed, or converted into any token or other form of value to participants.
***
#### **Terms & Conditions**
* Aster may amend or modify campaign rules at any time without prior notice.
* Aster retains the final right of interpretation for this event.
* Aster will not be responsible or liable for any losses (including, without limitation, any direct or indirect damages for loss of profits) resulting or arising directly or indirectly from your participation in this campaign.
* Any fraudulent, manipulative, or abusive trading activity (including but not limited to wash trading) will result in disqualification and forfeiture of rewards and trading profits.
* Aster may amend, modify, or terminate campaign rules at any time without prior notice, if required to protect market integrity or user interests.
* Aster retains the final right of interpretation for this event and its outcomes.
* Aster will not be responsible or liable for any losses (including, without limitation, direct or indirect losses or loss of profits) arising directly or indirectly from participation in this campaign.
# Aster API
The Aster API lets you connect your account programmatically and manage operations securely using API keys.
### **1. Create an API Key**
Generate an API key from your account settings. During setup you can configure IP whitelisting and set permissions — read access, write access, or both.
 → [How to Create an API Key](https://docs.asterdex.com/product/asterex-pro/api/how-to-create-api)
#### **2. Explore the API Documentation**
Once you have an API key, you can begin making authenticated requests. The API documentation includes request formats, parameters, and response examples.
→ [View API Documentation](https://docs.asterdex.com/product/asterex-pro/api/api-document)
# How to Create an API Key
1\. Go to [API Management](https://www.asterdex.com/en/api-management) and connect your wallet, then click **\[Create API]**.
<figure><img src="https://4068247257-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWhSHuKmgnGREbVb12PK2%2Fuploads%2Fowf1h0db8limUqi4sV29%2F%E6%88%AA%E5%B1%8F2025-04-02%2014.45.27.png?alt=media&token=8c490f4f-c3ff-436b-b012-63c146d98270" alt=""><figcaption></figcaption></figure>
2\. Enter a label for your API key and click **\[Create API]**.
<figure><img src="https://4068247257-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWhSHuKmgnGREbVb12PK2%2Fuploads%2FsBgfWDruopgoKdBpVouV%2F%E6%88%AA%E5%B1%8F2025-04-02%2014.46.44.png?alt=media&token=8cf8b99b-017a-438c-80f1-363984f421e3" alt=""><figcaption></figcaption></figure>
3\. Copy both the API key and secret key and store them somewhere secure.
<figure><img src="https://4068247257-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FWhSHuKmgnGREbVb12PK2%2Fuploads%2F5UbZBpB5XDJWn57qK74i%2F%E6%88%AA%E5%B1%8F2025-04-02%2014.47.31.png?alt=media&token=031b2882-7e87-4fdf-944f-d459f8e6a318" alt=""><figcaption></figcaption></figure>
**Note:** The secret key is only shown once — immediately after creation. It cannot be retrieved again. If you lose it, delete the key and create a new one. Do not share either key with anyone.
**Additional limits and options:**
* Each account supports up to 30 API keys.
* Binding your API key to a fixed IP address is recommended for added security.
* Manage and view all your keys in [API Management](https://www.asterdex.com/en/api-management).
# API Documentation
**API documentation for Aster:**\
\
<https://asterdex.github.io/aster-api-website/futures/general-info/>
### General API information
* Some endpoints will require an [API key](https://docs.asterdex.com/product/asterex-pro/api/how-to-create-api).
* The base URL for all requests is: <https://fapi.asterdex.com>
* All endpoints return data in JSON format — either as an object or an array.
* Data is returned in ascending order: oldest first, newest last.
* All time and timestamp fields are represented in milliseconds.
* Data types follow Java definitions.
#### HTTP return codes
* HTTP `4XX` return codes are used for malformed requests; the issue is on the sender's side.
* HTTP `403` return code is used when the WAF Limit (Web Application Firewall) has been violated.
* HTTP `429` return code is used when breaking a request rate limit.
* HTTP `418` return code is used when an IP has been auto-banned for continuing to send requests after receiving `429` codes.
* HTTP `5XX` return codes are used for internal errors; the issue is on Aster's side.
* HTTP `503` return code is used when the API successfully sent the message but not get a response within the timeout period.\
It is important to **NOT** treat this as a failure operation; the execution status is **UNKNOWN** and could have been a success.
#### Error codes and messages
* Any endpoint can return an ERROR
> ***The error payload is as follows:***
```
{
"code": -1121,
"msg": "Invalid symbol."
}
```
* Specific error codes and messages defined [here](https://github.com/asterdex/api-docs/blob/master/aster-finance-api.md#error-codes).
#### General information on endpoints
* For `GET` endpoints, parameters must be sent as a `query string`.
* For `POST`, `PUT`, and `DELETE` endpoints, the parameters may be sent as a `query string` or in the `request body` with content type `application/x-www-form-urlencoded`. You may mix parameters between both the `query string` and `request body` if you wish to do so.
* Parameters may be sent in any order.
* If a parameter sent in both the `query string` and `request body`, the `query string` parameter will be used.
### Limits
* The `/fapi/v1/exchangeInfo` `rateLimits` array contains objects related to the exchange's `RAW_REQUEST`, `REQUEST_WEIGHT`, and `ORDER` rate limits. These are further defined in the `ENUM definitions` section under `Rate limiters (rateLimitType)`.
* A `429` will be returned when either rate limit is violated.
Aster has the right to further tighten the rate limits on users with intent to attack.
#### IP limits
* Every response includes the header `X-MBX-USED-WEIGHT-(intervalNum)(intervalLetter)`, which shows the current request weight used by your IP across all applicable rate limit intervals.
* Each route has a `weight` which determines the number of requests each endpoint counts for. Heavier endpoints and endpoints that do operations on multiple symbols will have a heavier `weight`.
* When a 429 is received, it's your obligation as an API to back off and not spam the API.
* **Repeatedly violating rate limits and/or failing to back off after receiving 429s will result in an automated IP ban (HTTP status 418).**
* IP bans are tracked and **scale in duration** for repeat offenders, **from 2 minutes to 3 days**.
* **The limits on the API are based on the IPs, not the API keys.**
We strongly recommend using WebSocket streams to retrieve data whenever possible. This ensures more timely updates and helps reduce rate limit pressure caused by frequent HTTP requests.
#### Order rate limits
* Every order response will contain a `X-MBX-ORDER-COUNT-(intervalNum)(intervalLetter)` header which has the current order count for the account for all order rate limiters defined.
* Rejected/unsuccessful orders are not guaranteed to have `X-MBX-ORDER-COUNT-**` headers in the response.
* **The order rate limit is counted against each account**.
### Endpoint security type
* Each endpoint has a security type that determines how you will interact with it.
* API keys are passed into the Rest API via the `X-MBX-APIKEY` header.
* API keys and secret keys **are case sensitive**.
* API keys can be configured to only access certain types of secure endpoints. For example, one API-key could be used for TRADE only, while another API-key can access everything except for TRADE routes.
* By default, API keys can access all secure routes.
| Security type | Description |
| ------------- | ------------------------------------------------------- |
| NONE | Endpoint can be accessed freely |
| TRADE | Endpoint requires sending a valid API key and signature |
| USER\_DATA | Endpoint requires sending a valid API key and signature |
| USER\_STREAM | Endpoint requires sending a valid API key. |
| MARKET\_DATA | Endpoint requires sending a valid API key |
* `TRADE` and `USER_DATA` endpoints are `SIGNED` endpoints
### SIGNED (TRADE and USER\_DATA) endpoint security
* `SIGNED` endpoints require an additional parameter, `signature`, to be sent in the `query string` or `request body`.
* Endpoints use `HMAC SHA256` signatures. The `HMAC SHA256 signature` is a keyed `HMAC SHA256` operation. Use your `secretKey` as the key and `totalParams` as the value for the HMAC operation.
* The `signature` is **not case sensitive**.
* Please make sure the `signature` is the end part of your `query string` or `request body`.
* `totalParams` is defined as the `query string` concatenated with the `request body`.
#### Timing security
* A `SIGNED` endpoint also requires a parameter, `timestamp`, to be sent which should be the millisecond timestamp of when the request was created and sent.
* An additional parameter, `recvWindow`, may be sent to specify the number of milliseconds after `timestamp` the request is valid for. If `recvWindow` is not sent, **it defaults to 5000**.
> The logic is as follows:
```
if (timestamp < (serverTime + 1000) && (serverTime - timestamp) <= recvWindow){
// process request
}
else {
// reject request
}
```
**Serious trading is about timing.** Networks can be unstable and unreliable, which can lead to requests taking varying amounts of time to reach the servers. With `recvWindow`, you can specify that the request must be processed within a certain number of milliseconds or be rejected by the server.
It is recommended to use a small recvWindow of 5000 or less.
#### Signed endpoint examples for POST /fapi/v1/order
Here is a step-by-step example of how to send a vaild signed payload from the Linux command line using `echo`, `openssl`, and `curl`.
| Key | Value |
| --------- | ---------------------------------------------------------------- |
| apiKey | dbefbc809e3e83c283a984c3a1459732ea7db1360ca80c5c2c8867408d28cc83 |
| secretKey | 2b5eb11e18796d12d88f13dc27dbbd02c2cc51ff7059765ed9821957d82bb4d9 |
| Parameter | Value |
| ----------- | ------------- |
| symbol | BTCUSDT |
| side | BUY |
| type | LIMIT |
| timeInForce | GTC |
| quantity | 1 |
| price | 9000 |
| recvWindow | 5000 |
| timestamp | 1591702613943 |
**Example 1: As a query string**
> **Example 1**
> **HMAC SHA256 signature:**
```
$ echo -n "symbol=BTCUSDT&side=BUY&type=LIMIT&quantity=1&price=9000&timeInForce=GTC&recvWindow=5000×tamp=1591702613943" | openssl dgst -sha256 -hmac "2b5eb11e18796d12d88f13dc27dbbd02c2cc51ff7059765ed9821957d82bb4d9"
(stdin)= 3c661234138461fcc7a7d8746c6558c9842d4e10870d2ecbedf7777cad694af9
```
> **curl command:**
```
(HMAC SHA256)
$ curl -H "X-MBX-APIKEY: dbefbc809e3e83c283a984c3a1459732ea7db1360ca80c5c2c8867408d28cc83" -X POST 'https://fapi/asterdex.com/fapi/v1/order?symbol=BTCUSDT&side=BUY&type=LIMIT&quantity=1&price=9000&timeInForce=GTC&recvWindow=5000×tamp=1591702613943&signature= 3c661234138461fcc7a7d8746c6558c9842d4e10870d2ecbedf7777cad694af9'
```
* **queryString:**
symbol=BTCUSDT\
\&side=BUY\
\&type=LIMIT\
\&timeInForce=GTC\
\&quantity=1\
\&price=9000\
\&recvWindow=5000\
\×tamp=1591702613943
**Example 2: As a request body**
> **Example 2**
> **HMAC SHA256 signature:**
```
$ echo -n "symbol=BTCUSDT&side=BUY&type=LIMIT&quantity=1&price=9000&timeInForce=GTC&recvWindow=5000×tamp=1591702613943" | openssl dgst -sha256 -hmac "2b5eb11e18796d12d88f13dc27dbbd02c2cc51ff7059765ed9821957d82bb4d9"
(stdin)= 3c661234138461fcc7a7d8746c6558c9842d4e10870d2ecbedf7777cad694af9
```
> **curl command:**
```
(HMAC SHA256)
$ curl -H "X-MBX-APIKEY: dbefbc809e3e83c283a984c3a1459732ea7db1360ca80c5c2c8867408d28cc83" -X POST 'https://fapi/asterdex.com/fapi/v1/order' -d 'symbol=BTCUSDT&side=BUY&type=LIMIT&quantity=1&price=9000&timeInForce=GTC&recvWindow=5000×tamp=1591702613943&signature= 3c661234138461fcc7a7d8746c6558c9842d4e10870d2ecbedf7777cad694af9'
```
* **requestBody:**
symbol=BTCUSDT\
\&side=BUY\
\&type=LIMIT\
\&timeInForce=GTC\
\&quantity=1\
\&price=9000\
\&recvWindow=5000\
\×tamp=1591702613943
**Example 3: Mixed query string and request body**
> **Example 3**
> **HMAC SHA256 signature:**
```
$ echo -n "symbol=BTCUSDT&side=BUY&type=LIMIT&quantity=1&price=9000&timeInForce=GTC&recvWindow=5000×tamp=1591702613943" | openssl dgst프로젝트로 돌아가기