حفاظت اور تحویل

والیٹ میں BTC بیلنس ہے مگر پورا بھیج نہیں سکتے؟ قابلِ ارسال رقم کم ہونے کی 4 وجوہات

اسکرین پر بیلنس اور بھیجی جا سکنے والی رقم میں فرق عموماً چار وجوہات سے ہوتا ہے: غیر کنفرم رقم، اسی بیلنس سے کٹنے والی فیس، ایکسچینج پر بند رقم یا withdrawal حد، اور dust۔ ہر وجہ پہچاننے اور حل کرنے کا طریقہ۔

والیٹ میں BTC بیلنس ہے مگر پورا بھیج نہیں سکتے؟ قابلِ ارسال رقم کم ہونے کی 4 وجوہات

والیٹ یا ایکسچینج پر جو BTC بیلنس نظر آتا ہے، ضروری نہیں کہ آپ اتنی ہی رقم ابھی بھیج سکیں۔ عام طور پر فرق ان چار میں سے کسی وجہ سے ہوتا ہے: کچھ رقم ابھی کنفرم نہیں ہوئی، بھیجنے کی فیس اسی بیلنس سے کٹنی ہے، ایکسچینج پر رقم کسی آرڈر میں بند ہے یا ایکسچینج کی کم از کم withdrawal حد اور فیس لاگو ہے، یا بیلنس میں بہت چھوٹے ٹکڑے (dust) شامل ہیں جنہیں خرچ کرنا فیس سے مہنگا ہے۔

یہ مضمون اس شخص کے لیے ہے جس نے "Send" یا "Withdraw" دبایا اور والیٹ نے پورا بیلنس بھیجنے نہیں دیا، یا "insufficient funds" لکھ دیا حالانکہ اسکرین پر رقم موجود تھی۔ ذیل میں ہر وجہ کو پہچاننے کا طریقہ اور اس کا حل ہے۔

پہلے یہ دیکھیں: بیلنس کہاں رکھا ہے؟

  • اپنا والیٹ (self-custody): بیلنس دراصل آپ کے ایڈریسز پر پڑے الگ الگ UTXO کا مجموعہ ہے۔ یہاں فرق کی وجہ عموماً کنفرمیشن، نیٹ ورک فیس یا dust ہوتی ہے۔
  • ایکسچینج اکاؤنٹ: آپ کے پاس ایکسچینج کے ریکارڈ میں ایک عدد ہے، اصل coins ایکسچینج کے پاس ہیں۔ یہاں فرق کی وجہ عموماً کھلا آرڈر، ایکسچینج کی withdrawal فیس، کم از کم حد یا ڈپازٹ کا ابھی "unlock" نہ ہونا ہوتی ہے۔

دونوں کے حل الگ ہیں، اس لیے پہلے طے کریں کہ آپ کس صورت میں ہیں۔

وجہ 1: آنے والی رقم ابھی کنفرم نہیں ہوئی

جب کوئی آپ کو BTC بھیجتا ہے تو ٹرانزیکشن پہلے mempool میں جاتی ہے اور پھر کسی بلاک میں شامل ہو کر کنفرم ہوتی ہے۔ بہت سے والیٹ یہ رقم فوراً دکھا دیتے ہیں، مگر اسے فوراً خرچ کرنے نہیں دیتے۔

Bitcoin Core کا getbalances کمانڈ اسی فرق کو الگ الگ خانوں میں دکھاتا ہے:

Bitcoin Core کے getbalances RPC دستاویز کا حصہ جس میں trusted، untrusted_pending اور immature بیلنس کی تعریف لکھی ہے

ماخذ: bitcoincore.org — getbalances (31.0.0 RPC)، اسکرین شاٹ 5 اکتوبر 2026۔ یہ سرکاری دستاویز کا عمومی نمونہ ہے، کسی اکاؤنٹ کا بیلنس نہیں۔

  • trusted: وہ رقم جو کنفرم ہو چکی ہے، یا جو آپ کے اپنے والیٹ نے بنائی ہے (مثلاً پچھلی ٹرانزیکشن کا change)۔
  • untrusted_pending: دوسروں کی بھیجی ہوئی وہ رقم جو ابھی mempool میں ہے، یعنی کنفرم نہیں ہوئی۔
  • immature: mining کے انعام (coinbase) کی رقم۔ Bitcoin کے قاعدے کے مطابق یہ 100 نئے بلاکس کے بعد ہی خرچ ہو سکتی ہے (COINBASE_MATURITY = 100)۔ عام صارف کو یہ خانہ تقریباً کبھی نظر نہیں آتا۔

Bitcoin Core کے listunspent کی دستاویز وضاحت کرتی ہے کہ باہر سے آئی ہوئی غیر کنفرم ٹرانزیکشنز اور غیر کنفرم replacement ٹرانزیکشنز کو "unsafe" مانا جاتا ہے، اور عام send کمانڈز (sendtoaddress، fundrawtransaction) انہیں استعمال نہیں کرتیں:

Bitcoin Core کے listunspent RPC دستاویز میں safe فیلڈ کی وضاحت: باہر سے آئی غیر کنفرم ٹرانزیکشنز unsafe شمار ہوتی ہیں

ماخذ: bitcoincore.org — listunspent (31.0.0 RPC)، اسکرین شاٹ 5 اکتوبر 2026۔ موبائل والیٹ وغیرہ کے اصول مختلف ہو سکتے ہیں؛ یہ صرف Bitcoin Core کا رویہ ہے۔

کیسے پہچانیں: والیٹ میں آنے والی ٹرانزیکشن کے ساتھ Pending، Unconfirmed یا 0 confirmations لکھا ہو۔ TxID کو کسی block explorer پر کھول کر بھی تصدیق کر سکتے ہیں۔

کیا کریں: عام طور پر ایک کنفرمیشن کا انتظار کافی ہے۔ اگر ٹرانزیکشن گھنٹوں رکی رہے تو BTC ٹرانزیکشن کنفرم نہ ہونے کی وجہ اور ترتیب وار حل والا مضمون دیکھیں۔ غیر کنفرم رقم کو آگے بھیجنے کی جلدی نہ کریں: اگر اصل ٹرانزیکشن بدل دی گئی یا mempool سے نکل گئی تو اس پر بنی آپ کی ٹرانزیکشن بھی ختم ہو جائے گی۔

وجہ 2: بھیجنے کی فیس اسی بیلنس سے کٹتی ہے

Bitcoin پر فیس الگ جیب سے نہیں جاتی؛ جو UTXO آپ خرچ کرتے ہیں، فیس انہی میں سے نکلتی ہے۔ اس لیے پورا بیلنس بھیجنا ممکن نہیں — زیادہ سے زیادہ "بیلنس منفی فیس" بھیجا جا سکتا ہے۔ اگر amount کے خانے میں پورا بیلنس لکھیں تو والیٹ insufficient funds دکھائے گا، کیونکہ فیس کے لیے کچھ نہیں بچا۔

حساب کی مثال (فرضی اعداد): فرض کریں والیٹ میں 100,000 sat کا ایک ہی native SegWit (bc1q) UTXO ہے اور آپ 5 sat/vB فیس ریٹ چنتے ہیں۔ ایسی ٹرانزیکشن جس میں ایک input اور ایک output ہو (یعنی change نہ بچے) تقریباً 109.25 vB کی ہوتی ہے — یہ سائز UTXO اور چھوٹی وصولیوں والے مضمون میں ایک اصلی بلاک سے ناپا گیا تھا۔

  • فیس ≈ 109.25 × 5 ≈ 547 sat
  • زیادہ سے زیادہ بھیجی جا سکنے والی رقم ≈ 100,000 − 547 = 99,453 sat

اگر آپ اس سے کچھ کم رقم بھیجیں تو ایک اور output (change) بنے گا، ٹرانزیکشن تقریباً 140.25 vB ہو جائے گی اور اسی ریٹ پر فیس ≈ 702 sat ہو گی۔ بچا ہوا change بہت چھوٹا ہو تو کئی والیٹ اسے بنانے کے بجائے فیس میں شامل کر دیتے ہیں۔ اصل عدد ہر والیٹ اور ہر فیس ریٹ پر بدلتا ہے، اس لیے یہ مثال صرف سمجھنے کے لیے ہے۔

کیا کریں: والیٹ کا Max یا Send all بٹن استعمال کریں، یا Bitcoin Core میں "Subtract fee from amount" والا آپشن۔ یہ خود فیس منہا کر کے صحیح رقم بھرتا ہے۔ اگر وصول کنندہ کو بالکل مقررہ رقم پہنچانی ہو تو Max نہ دبائیں؛ رقم لکھیں اور یقینی بنائیں کہ بیلنس "رقم + فیس" سے زیادہ ہے۔

وجہ 3: ایکسچینج پر رقم بند ہے، یا withdrawal کی حد لاگو ہے

ایکسچینج پر Total اور Available عموماً الگ دکھائے جاتے ہیں۔ مثال کے طور پر Binance کی سرکاری Spot API دستاویز میں ہر اثاثے کے بیلنس کے دو حصے ہیں: free (استعمال کے لیے دستیاب) اور locked (مثلاً کسی کھلے آرڈر میں بند)۔ اگر آپ نے BTC بیچنے کا limit order لگایا ہوا ہے تو وہ رقم آرڈر منسوخ ہونے یا پورا ہونے تک withdraw نہیں ہو سکتی۔

اس کے علاوہ ہر ایکسچینج کی اپنی withdrawal فیس، کم از کم رقم اور ڈپازٹ unlock کے اصول ہیں۔ 5 اکتوبر 2026 کو Binance کے عوامی coin-network ڈیٹا میں BTC کے "Bitcoin" نیٹ ورک کے لیے یہ اعداد تھے:

فیلڈ قدر مطلب
withdrawFee 0.00002 BTC ایکسچینج کی مقرر withdrawal فیس
withdrawMin 0.0001 BTC اس سے کم رقم withdraw نہیں ہو سکتی
minConfirm 1 ڈپازٹ اتنی کنفرمیشن پر اکاؤنٹ میں جمع ہوتا ہے
lockConfirm 2 اتنی کنفرمیشن کے بعد ڈپازٹ withdraw کے قابل ہوتا ہے

یعنی اس دن کے اعداد کے مطابق ڈپازٹ 1 کنفرمیشن پر بیلنس میں آ سکتا تھا مگر 2 کنفرمیشن سے پہلے اسے نکالا نہیں جا سکتا تھا۔ یہ اعداد بدلتے رہتے ہیں؛ withdrawal اسکرین پر نظر آنے والی فیس اور حد ہی حتمی ہے، اور دوسرے ایکسچینج کے اعداد الگ ہوں گے۔

حساب کی مثال (فرضی): Available میں 0.00011 BTC ہیں۔ یہ withdrawMin سے زیادہ ہے، اس لیے withdrawal ممکن ہے، مگر 0.00002 فیس کٹنے کے بعد وصول ہونے والی رقم 0.00009 BTC ہو گی۔ اگر Available صرف 0.00009 ہو تو withdrawal ہو ہی نہیں سکتی۔

کیا کریں: کھلے آرڈر کی فہرست دیکھیں اور غیر ضروری آرڈر منسوخ کریں؛ ڈپازٹ کی کنفرمیشن مکمل ہونے دیں؛ withdrawal اسکرین پر وصول ہونے والی رقم (receive amount) پڑھ کر تصدیق کریں۔ BEP20 جیسے سستے نیٹ ورک کو حل نہ سمجھیں — اس سے اصل Bitcoin نہیں جاتا؛ تفصیل withdrawal کے وقت اصل Bitcoin اور BEP20 والے BTC کا فرق میں ہے۔

وجہ 4: بیلنس میں dust ٹکڑے ہیں

اگر والیٹ میں بہت سی چھوٹی وصولیاں جمع ہیں تو ہر ٹکڑے (UTXO) کو خرچ کرنے کی اپنی فیس ہے۔ جب کسی ٹکڑے کی قیمت اس کی خرچ کی فیس سے کم ہو تو وہ عملاً بھیجا نہیں جا سکتا، حالانکہ بیلنس میں شامل دکھتا ہے۔ کچھ والیٹ Max کا حساب کرتے وقت ایسے ٹکڑے چھوڑ دیتے ہیں، اس لیے Max کی رقم "بیلنس منفی فیس" سے بھی کچھ کم نکل سکتی ہے۔ dust کی حد اور ہر input کا سائز اوپر دیے گئے UTXO والے مضمون میں تفصیل سے ہے۔

کیا کریں: فیس کم ہونے کا انتظار کریں، اور والیٹ میں coin control ہو تو دیکھیں کون سے UTXO شامل ہو رہے ہیں۔ بہت چھوٹا ٹکڑا خرچ کرنے سے نقصان ہو تو اسے فی الحال چھوڑ دینا بھی درست فیصلہ ہے۔

بھیجنے سے پہلے مرحلہ وار جانچ

  1. والیٹ میں ہر آنے والی ٹرانزیکشن کنفرم ہے؟ نہیں تو انتظار کریں۔
  2. ایکسچینج پر Total نہیں، Available دیکھیں؛ کھلے آرڈر چیک کریں۔
  3. Max یا Send all سے رقم بھروائیں، یا "رقم + فیس" کو بیلنس سے کم رکھیں۔
  4. ایکسچینج پر withdrawal فیس اور کم از کم حد کے بعد وصول ہونے والی رقم پڑھیں۔
  5. نئے ایڈریس پر پہلی بار بھیج رہے ہیں تو پوری رقم سے پہلے چھوٹی آزمائشی ٹرانزیکشن بھیجیں۔

کامیابی کی تصدیق: بھیجنے کے بعد TxID لیں اور block explorer پر دیکھیں کہ output میں صحیح ایڈریس اور وہی رقم ہے، اور فیس وہی ہے جو والیٹ نے دکھائی تھی۔

کب رک جائیں

  • اگر کوئی "سپورٹ" والا شخص کہے کہ پہلے کچھ رقم بھیجیں تو بیلنس unlock ہو جائے گا — یہ عام دھوکا ہے۔ Bitcoin کی کنفرمیشن یا فیس کے لیے کسی کو الگ رقم بھیجنے کی ضرورت نہیں ہوتی۔
  • اگر ایکسچینج پر نہ کھلا آرڈر ہے نہ زیرِ التوا ڈپازٹ، پھر بھی Available صفر ہو تو یہ اکاؤنٹ کی کوئی پابندی (مثلاً verification یا security hold) ہو سکتی ہے۔ صرف ایکسچینج کی سرکاری ایپ یا ویب سائٹ کے اندر سے سپورٹ سے رابطہ کریں۔
  • اگر فیس رقم کا بڑا حصہ کھا رہی ہو تو آج نہ بھیجنا بھی ایک معقول فیصلہ ہے۔

ذرائع (سب 5 اکتوبر 2026 کو دیکھے گئے)