Тусламжийн төвд [Enable Futures] нээгдэхгүй хоёр шалтгааныг бичсэн: түлхүүрийг фьючерс данс нээхээс өмнө үүсгэсэн, эсвэл данс Portfolio Margin идэвхжүүлсэн. Гурав дахь тохиолдол бол уншихаас бусад бүх нүд саарал байх нь — систем үүсгэсэн HMAC түлхүүрт IP хандалтын хязгаарлалт тавиагүйн шинж. Эхний хоёрыг хуучин түлхүүр дээр засах арга байхгүй, зөвхөн шинээр үүсгэнэ.

Фьючерсийн эрх яагаад сонгогдохгүй байна вэ: гурван хэлбэрийг ялгах
Жишээ нь, та фьючерсийн торон (grid) арилжааны хэрэгсэлд урьд нь үүсгэчихсэн байсан API түлхүүрээ өгчээ гэж бодъё. Хэрэгсэл холбогдож, үлдэгдлээ харуулна. Харин анхны фьючерсийн захиалга дээр алдаа өгнө. API удирдлага руу буцаж ороод [Enable Futures] нүдийг чагтлах гэтэл дарагдахгүй. Энэ үед бүх нүдийг ээлжлэн оролдож суухын оронд юу нь яг түгжээтэй байгааг хар. Гурван шалтгаан өөр өөрөөр илэрдэг:
- Зөвхөн [Enable Futures] нээгдэхгүй, спот арилжааны нүд чагтлагдаж байвал түлхүүр фьючерс данснаас өмнө үүссэн, эсвэл данс Portfolio Margin нээсэн байх магадлалтай.
- Уншихаас өөр юу ч чагтлагдахгүй бол түлхүүрт IP хандалтын хязгаарлалт байгаа эсэхийг шалга.
- Өмнө нь чагттай байсан нүд нэг өдөр алга болсон бол Portfolio Margin идэвхжүүлж байсан эсэхээ санаад үз. Тусламжийн төв энэ тохиолдолд эрх автоматаар хасагддаг гэж тодорхой бичсэн.
Хэрэгслийн тал эдгээрийг бараг харахгүй. Фьючерсийн хүсэлт татгалзагдахад бүртгэлд нь ихэвчлэн ганц -2015 алдаа үлдэнэ. Баримт бичигт үүнийг “Invalid API-key, IP, or permissions for action” гэж тайлбарладаг бөгөөд IP буруу, түлхүүрээ алдаатай хуулсан үед ч яг ийм код гардаг. Холболтын алдааг давхарга тус бүрээр нь шалгах дарааллыг -2015, -1021, -1022, 429 алдааг шалгах зааварт бичсэн; энд зөвхөн эрхийн давхаргыг авч үзнэ.
Түлхүүр фьючерс данснаас өмнө үүссэн бол хуучин түлхүүрт эрх нэмэгдэхгүй
Binance-ийн “How to Create API Keys on Binance?” (API түлхүүр хэрхэн үүсгэх вэ) хуудасны түгээмэл асуултын хэсэгт “Why can’t my API key enable Futures permission?” гэсэн асуулт бий. Хариулт нь: “If the API key is created before you enable your Futures account, or you have activated Portfolio Margin, the API key won’t be able to enable Futures permission.” Монголоор бол: түлхүүр фьючерс данс нээхээс өмнө үүссэн, эсвэл Portfolio Margin идэвхжүүлсэн бол тэр түлхүүрт фьючерсийн эрх нээх боломжгүй.
Эхний хагас нь их энгийн дарааллыг хэлж байна. Хэдэн сарын өмнө зөвхөн унших самбарт зориулж түлхүүр үүсгэсэн, дараа нь фьючерс данс нээсэн, одоо тэр л түлхүүрээр фьючерсийн захиалга өгүүлэх гэж байна. Дүрэмд ийм түлхүүрийг “сайжруулах” зам үлдээгээгүй. Фьючерс данс нээгдсэнийг баталгаажуулаад шинэ түлхүүр үүсгэ — тэгэхэд л [Enable Futures] сонгох боломжтой нүднүүдийн дунд гарч ирнэ.
Мөн хуудасны эхэнд ямар ч түлхүүр үүсгэхийн өмнө хангах нөхцөлийг бичсэн: дансаа идэвхжүүлэхийн тулд Spot Wallet (спот хэтэвч)-д дурын хэмжээний цэнэглэлт хийх, мөн биеийн байцаалтын баталгаажуулалт (KYC) хийх. Шинэхэн данс түлхүүр үүсгэх алхам дээр гацаад байвал шалтгаан нь фьючерс биш.
Хэд хэдэн түлхүүртэй, алинх нь фьючерс данснаас өмнө үүссэнийг мэдэхгүй байвал хэрэгслийг хариуцдаг хүнээс хөгжүүлэгчийн баримт бичигт буй “Get API Key Permission” интерфэйсийг (GET /sapi/v1/account/apiRestrictions) дуудаж өгөхийг хүс. Хариунд createTime (үүсгэсэн огноо) болон enableFutures (фьючерсийн эрх нээлттэй эсэх) талбарууд ирнэ; үүсгэсэн огноог фьючерс данс нээсэн өдөртэй харьцуулахад л хангалттай. Энэ интерфэйс гарын үсэг шаарддаг тул зөвхөн тухайн түлхүүрээр өөрөөр нь дуудна. Өөрийн компьютер эсвэл хэрэгсэл дотроо ажиллуул — шалгуулах гэж түлхүүрээ хэн нэгэнд илгээх шаардлага огт байхгүй.
Portfolio Margin нээсний дараа [Enable Futures] бүх хуучин түлхүүрээс алга болдог
Хариултын хоёр дахь хагас нь Portfolio Margin-ий тухай. “Binance Portfolio Margin API” гэсэн тусламжийн хуудсанд үүнийг илүү дэлгэрэнгүй бичжээ: Portfolio Margin идэвхжмэгц [Enable Futures] эрх одоо байгаа бүх API түлхүүрээс автоматаар хасагдана; дараа нь Portfolio Margin дансаа хаасан ч өмнөх түлхүүрүүдийн аль нэгэнд [Enable Futures]-ийг өөрчлөх боломжгүй. [Enable Portfolio Margin Trading] нүд ч мөн ийм дүрэмтэй.

Холбосон хэрэгслийн хувьд асуудал ганц нүдээр дуусахгүй. Мөн хуудсанд Portfolio Margin өөрийн гэсэн PAPI интерфэйстэй бөгөөд fapi, dapi гэсэн хоёр фьючерсийн интерфэйсийг зөвхөн зах зээлийн мэдээлэл авахад ашиглана, арилжаа болон хэрэглэгчийн мэдээллийн хэсэг нь ажиллахгүй гэж бичсэн. Тиймээс Portfolio Margin нээсэн бол шинэ түлхүүр үүсгэх нь бүх асуудлыг шийдэхгүй. Хэрэгслийн хөгжүүлэгчээс “захиалгыг PAPI-аар өгдөг үү, эсвэл fapi / dapi-аар хэвээрээ юу?” гэж асуу. Зөвхөн сүүлчийнхийг дэмждэг хэрэгсэл Portfolio Margin дор хэдэн ч түлхүүр сольсон захиалга өгч чадахгүй.
“How to Activate the Portfolio Margin Mode on Binance?” хуудсанд бас нэг зөвлөмж бий: Portfolio Margin горимыг асаасан эсвэл унтраасны дараа API хандалт тасрахаас сэргийлж түлхүүрээ шинээр үүсгэ. Portfolio Margin нээх талаар бодож байгаа бол эхлээд энэ дансанд холбогдсон хэрэгслүүдээ жагсааж, алинд нь нөлөөлөхийг урьдчилан мэдэж ав. Амжилтгүй захиалгаас олж мэдсэнээс хамаагүй дээр.
Уншихаас бусад бүх нүд саарал: IP хандалтын хязгаарлалт тавиагүй
Энэ тохиолдол зөвхөн фьючерст хамаарахгүй. Түлхүүр үүсгэх хуудасны түгээмэл асуултын эхнийх нь “Why can’t I enable any permission other than reading?” (яагаад уншихаас өөр эрх нээж болохгүй байна вэ?). Binance-ийн хариулт: IP хандалт хязгаарлаагүй HMAC түлхүүр уншихаас өөр эрхгүй. Хөрөнгө гаргах (withdrawal) эрхийг нээхийн тулд IPv4 хэлбэрийн IP хязгаарлалт заавал нэмэх ёстой.

HMAC бол Binance систем өөрөө үүсгэж өгдөг төрлийн түлхүүр. Ed25519 эсвэл RSA түлхүүрийн хосыг өөрөө үүсгээд Binance-д зөвхөн нийтийн (public) түлхүүрийг өгдөг нь өөр ангилал. Англи хуудсанд IPv4 хязгаарлалт нэмэхээс гадна ийм өөрөө үүсгэсэн түлхүүр ашиглах замыг ч дурдсан байдаг. Аль төрлийг сонгох нь эхлээд хэрэгсэл юуг дэмждэгээс шалтгаална — HMAC, RSA, Ed25519 заавраас үз.
IP хязгаарлалт нэмэхдээ хүсэлтийг бодитоор илгээж буй машины гадагш гарах (egress) хаягийг оруулна. Хэрэгсэл үүлэн серверт ажилладаг бол тогтмол гарах IP-гээ хэрэгслийн тал өгөх ёстой. Хаяг буруу байвал нүдүүд чагтлагдах боловч хүсэлт мөн л татгалзагдана. Гарах хаягийг хэрхэн олох, өөрчлөгдвөл яах вэ гэдгийг IP зөвшөөрлийн жагсаалтын зааварт алхам алхмаар бичсэн.
Шинэ түлхүүр үүсгэхээс өмнө хэрэгслээс ямар эрх хэрэгтэйг тодруул
Эхний хоёр тохиолдолд ямар ч байсан шинэ түлхүүр үүсгэх тул яг тэр мөч эрхээ нарийсгах хамгийн тохиромжтой үе. “Get API Key Permission” интерфэйсийн хариуны талбарууд API удирдлага дахь нүднүүдтэй шууд таардаг тул хэрэгслийн талтай нэг бүрчлэн тулгаж болно:
- enableReading — унших. Бараг бүх хэрэгсэлд хэрэгтэй.
- enableSpotAndMarginTrading — спот ба маржин арилжаа. Зөвхөн фьючерс арилжаалдаг хэрэгсэлд заавал хэрэгтэй биш.
- enableFutures — фьючерс. USDⓈ-M ба COIN-M фьючерсийн захиалгад шаардлагатай; Portfolio Margin дор хамаарахгүй.
- enablePortfolioMarginTrading — Portfolio Margin арилжаа. Хэрэгсэл PAPI-г дэмждэг үед л утгатай.
- enableMargin — маржин зээл, эргэн төлөлт, шилжүүлэг; “спот ба маржин арилжаа”-гаас тусдаа нүд.
- permitsUniversalTransfer — Universal Transfer (данс хоорондын шилжүүлэг). Хэрэгсэл спот ба фьючерсийн хооронд хөрөнгийг автоматаар зөөнө гэж мэдэгдсэн үед л хэрэг болно.
- enableWithdrawals — хөрөнгө гаргах. Арилжааны хэрэгсэл үүнийг хүсэх ёсгүй.
Таарахгүй байгаа нь л асуух ёстой зүйл. Тухайлбал зөвхөн USDⓈ-M фьючерс ажиллуулдаг хэрэгсэл маржин зээл болон Universal Transfer-ийг нэгэн зэрэг хүсвэл аль интерфэйсийг ямар зорилгоор дууддагийг тайлбарлуул. Тодорхой хариулт өгч чадаагүй нүдийг одоохондоо бүү чагтал; алдаа гарвал алдааных нь дагуу нэмэх нь бүгдийг нэг дор нээснээс цэгцлэхэд хялбар. Унших, арилжаалах, хөрөнгө гаргах гурван түвшний ялгааг эрх сонгох зааварт илүү бүрэн харьцуулсан.
Хөгжүүлэгчийн баримт бичигт амархан анзаарагдахгүй өөр нэг талбар бий: ipRestrict нь түлхүүр IP-тэй холбогдсон эсэхийг заана. Шинэ түлхүүрээ үүсгэсний дараа хариуцагчаар нэг удаа шалгуулж, ipRestrict нь true, enableWithdrawals нь false байгааг харсны дараа ажиллуулж эхэл.
Шинэ түлхүүр ажиллаж эхэлсний дараа хуучныг юу хийх вэ
Хуучин түлхүүрт фьючерс нээгдэхгүй гэдэг нь түүнийг хэрэггүй, эрсдэлгүй гэсэн үг биш. Унших эсвэл спот арилжааны эрхтэй хэвээр, өөр самбарт холбоотой байж болно. Хуучнаас шинэ рүү шилжих дараалал:
- Шинэ түлхүүр үүсгэж, зөвхөн хэрэгслийн баталгаажуулсан нүднүүдийг чагтлаад IP-гээ холбо.
- Хэрэгсэлд шинэ түлхүүрээ сольж оруулаад эхлээд уншилт ажиллуул, дараа нь бага дүнгээр фьючерсийн интерфэйс ажиллаж байгааг шалга.
- Өөр ямар ч хэрэгсэл хуучин түлхүүрийг ашиглахгүй байгааг баталгаажуулаад устга.
2-р алхмаар бүү зогс. “Ашиглахаа больсон” ч устгаагүй түлхүүр хэн ч санахгүй түлхүүр болж үлддэг. Төлөвлөгөөт солилт ба алдагдсан гэж сэжиглэж буй түлхүүрийн дараалал өөр; шилжүүлэх, шалгах дэлгэрэнгүй алхмыг түлхүүр солих зааварт бичсэн.
Фьючерсийн хэрэгслийг тусад нь дэд дансанд байршуулах бол
Фьючерсийн хэрэгсэл алдвал спотынхоос үнэтэй тусдаг тул түүнийг тусдаа дэд дансанд хашиж болно. Дэд дансны түлхүүрийг хэрхэн үүсгэх, үндсэн данс юуг өөрчилж чадах, хэрхэн хаах талаар дэд дансны API түлхүүрийн зааврыг үз.
Анхаарах зүйл нь дараалал. “Фьючерс данснаас өмнө үүссэн түлхүүрт фьючерсийн эрх нээгдэхгүй” гэсэн тусламжийн төвийн өгүүлбэр үндсэн данс, дэд дансыг ялгаагүй. Дараах нь Binance-ийн эх бичвэр биш, манай дүгнэлт: дэд дансанд түлхүүр үүсгэхээс өмнө тэр дэд дансны өөрийнх нь фьючерс данс нээгдсэн эсэхийг шалга. Тэгэхгүй бол үүсгэж дуусаад дахиад л фьючерс нээгдэхгүй түлхүүртэй үлдэж мэднэ.
Зорилго бүрт ямар нүд хэрэгтэйг эхлээд эрх шалгах хэрэгслээр тулгаад, дараа нь API удирдлага руу орж шинэ түлхүүрээ үүсгэ.