اس ہفتے کے آخر میں میں نے بٹ کوائن والیٹ کے لیے ایک MCP سرور اکٹھا کیا: ٹولز جنہیں AI ایجنٹس ماڈل سیاق و سباق پروٹوکول پر کال کر سکتے ہیں۔ [repo](https://github.com/markmhendrickson/mcp-server-bitcoin) پرت 1 اور پرت 2 میں 93 ٹولز کو بے نقاب کرتا ہے۔ ایک یادداشت دونوں کو چلاتا ہے۔

میں پہلے [Leather](https://leather.io) کا جنرل مینیجر تھا، ایک کرپٹو والیٹ جو Bitcoin اور Stacks کو بھی سپورٹ کرتا ہے۔ Leather میں میں نے دیکھا کہ انسانوں کا سامنا کرنے والے سیلف-کسٹڈی بٹوے زیادہ تر توجہ اور پیچیدگی کو جذب کرنے کے خواہشمند لوگوں تک پہنچتے ہیں (مثلاً ڈیجنز اور ڈویلپرز)۔ اس کا مطلب کلیدی حفظان صحت، فیس کے بارے میں آگاہی، تصدیق کا بہاؤ، اور باقی تھا۔ علمی بوجھ نے حقیقی قابل شناخت مارکیٹ کو تنگ رکھا۔

ایجنٹی بٹوے اسے تبدیل کرتے ہیں۔ جب بنیادی انٹرفیس ایجنٹ ہوتا ہے جو پالیسی کے اندر اس کی وجہ اور اس پر عمل درآمد کرتا ہے، تو صارف صرف وہی بات منظور کرتا ہے جو اہم ہے۔ رگڑ گرتا ہے اور لوگوں کا مجموعہ جو عملی طور پر اپنی چابیاں اپنے پاس رکھ سکتا ہے بڑھتا ہے۔

ایک ہی دو زنجیریں۔ مختلف سطح۔

## سرور کیا ظاہر کرتا ہے (L1 اور L2 ایک سطح میں)

سرور ایک واحد MCP عمل ہے۔ کلائنٹ ٹول کے نام اور JSON دلائل stdio پر بھیجتے ہیں اور ساختی نتائج واپس حاصل کرتے ہیں۔ تباہ کن کارروائیاں (بھیجنا، سائن اینڈ براڈکاسٹ کرنا، تعینات کرنا) 'dry_run' کو سپورٹ کرتی ہیں اور بطور ڈیفالٹ براڈکاسٹ نہیں کرتیں۔ سرور کبھی بھی چابیاں یا یادداشت واپس نہیں کرتا ہے۔

### پرت 1 (Bitcoin)

**کور بٹ کوائن:**

- عوامی کلیدوں اور راستوں کے ساتھ P2PKH، P2SH-P2WPKH، P2WPKH، اور P2TR کے لیے پتہ اخذ کرنا۔
- UTXO ڈیٹا کے لیے فی ایڈریس کی قسم ([mempool.space](https://mempool.space) کے ساتھ اکاؤنٹس)؛ والیٹ بیلنس اور BTC قیمتیں (USD, EUR)۔
- واحد اور کثیر وصول کنندہ بھیجتا ہے (بی ٹی سی یا یورو میں رقم)؛ بھیجنے سے پہلے فیس تخمینہ کے ساتھ منتقلی کا پیش نظارہ کریں۔
- جھاڑو (زیادہ سے زیادہ بھیجیں) اور UTXO کنسولیڈیشن۔
- PSBT سائن، ڈی کوڈ، اور بیچ سائن؛ پیغام کا نشان اور تصدیق کریں (ECDSA میراث اور BIP-322)۔
- mempool.space سے فیس کے درجات اور ان پٹ/آؤٹ پٹ شمار اور پتہ کی قسم کے حساب سے فیس کا تخمینہ۔
- فلٹرز کے ساتھ UTXO کی فہرست (پتے کی قسم، کم سے کم قیمت، صرف تصدیق شدہ) اور فی UTXO تفصیلات۔

**رسائل اور نوشتہ جات:**

- صفحہ بندی کے ساتھ نوشتہ جات کی فہرست؛ نوشتہ کی تفصیلات (پیدائش، مواد کی قسم، سیٹ آرڈینل، نایاب، مقام)۔
- نوشتہ جات بھیجیں (مکمل UTXO یا تقسیم کریں تاکہ صرف نوشتہ کی سیٹ رینج وصول کنندہ کو جائے)۔
- مخلوط UTXOs سے آرڈینلز نکالیں؛ آرڈینلز ایڈریس سے بی ٹی سی کو بازیافت کریں (نان انکرپشن UTXOs کو جھاڑو)؛ آرڈینلز کو بازیافت کریں جو ادائیگی کے پتے پر واپس ٹیپروٹ ایڈریس پر آئے۔
- کمٹ/ظاہر فیس کے تخمینے کے ساتھ سنگل یا بیچ شلالیھ بنائیں۔

**لین دین اور بٹوے کا انتظام:**

- بی ٹی سی اور اسٹیکس کے لیے لین دین کی تاریخ؛ ایک واحد tx کی حیثیت۔
- RBF کے ذریعے زیر التواء BTC کو تیز کریں؛ زیر التواء BTC (RBF خود بھیجیں) منسوخ کریں۔
- نیٹ ورک کی تشکیل اور API کے اختتامی نکات؛ مین نیٹ/ٹیسٹ نیٹ سوئچ کریں؛ اپنی مرضی کے مطابق نیٹ ورک شامل کریں.
- تمام معاون ٹول کے نام اور تفصیل درج کریں۔

**لیجر (بٹ کوائن ایپ):**

- منسلک [لیجر](https://www.ledger.com) ڈیوائس سے BTC پتے حاصل کریں۔
- لیجر بٹ کوائن ایپ کے ساتھ PSBT پر دستخط کریں۔

### پرت 2 (ڈھیر)

وہی یادداشت اسٹیک کیز حاصل کرتی ہے (پاتھ `m/44'/5757'/0'/0/0`)۔ [Hiro](https://hiro.so) سلسلہ ڈیٹا اور براڈکاسٹنگ کے لیے اسٹیک API۔

**اسٹیک:**

- پتے اور عوامی چابیاں؛ STX بیلنس والے اکاؤنٹس، مقفل رقوم، ناننس۔
- فنگیبل اور نان فنگیبل ٹوکن سمیت بیلنس۔
- اختیاری میمو کے ساتھ STX ٹرانسفر (مائیکرو-STX)؛ فیس اور بیلنس چیک کے ساتھ منتقلی کا پیش نظارہ۔
- کنٹریکٹ کالز کے ذریعے SIP-10 فنگیبل اور SIP-9 NFT ٹرانسفر۔
- وضاحت: پبلک فنکشن کو کال کریں، کنٹریکٹ تعینات کریں، صرف پڑھنے کے لیے کال کریں۔
- سیریلائزڈ اسٹیکس tx (SIP-30) پر دستخط کریں، پیغام پر دستخط کریں، SIP-018 ساختی ڈیٹا پر دستخط کریں۔ عدم اور فیس کا تخمینہ۔
- BNS ناموں کے لیے آن چین پروفائل اپ ڈیٹ ([schema.org/Person](https://schema.org/Person))۔
- فلٹرز کے ساتھ لین دین کے سوالات (قسم، بلاک رینج، غیر اینکرڈ) اور معاہدے کے ذریعے۔
- میمپول: زیر التواء لین دین کی فہرست، میمپول کے اعدادوشمار، گرے ہوئے لین دین۔
- بلاک ایکسپلورر: حالیہ بلاکس، اونچائی یا ہیش کے لحاظ سے بلاک، دیئے گئے بٹ کوائن بلاک کے لیے اسٹیکس بلاکس۔
- معاہدے کے واقعات: معاہدے کے واقعات، یا ایڈریس کے اثاثہ جات کے واقعات۔
- ٹوکن میٹا ڈیٹا: SIP-10 اور SIP-9 میٹا ڈیٹا اور ہولڈرز۔
- نیٹ ورک کی معلومات اور صحت/اسٹیٹس۔

**سوپس، ڈی فائی، اور پل:**

- تعاون یافتہ جوڑے اور پروٹوکول ([ALEX](https://alexlab.co/), [Bitflow](https://www.bitflow.finance), [Velar](https://www.velar.co))۔
- تینوں کے لیے اقتباس (تخمیناً پیداوار، شرح، فیس) ​​تبدیل کریں۔ ALEX DEX کے ذریعے سویپ پر عمل کریں۔ بٹ فلو اور ویلر سپورٹ کوٹس اور جوڑے کی دریافت؛ آپ پروٹوکول SDKs کے ذریعے عمل درآمد کو شامل کر سکتے ہیں (جیسے ویلر SDK معاہدہ کال کے پیرامز واپس کرتا ہے)۔
- آن چین سرگرمی سے تاریخ کو تبدیل کریں۔
- sBTC بیلنس اور پل ڈپازٹ/واپس لینے کی معلومات۔
- اسٹیکنگ: موجودہ PoX اسٹیٹس، سائیکل کی معلومات (بقیہ بلاکس، فیصد مکمل، تخمینہ وقت باقی، شرکت کی شرح)، سولو اسٹیکنگ شروع کریں، وفد کو منسوخ کریں۔

**BNS اور مارکیٹ ڈیٹا:**

- [BNS](https://docs.stacks.co/docs/stacks-blockchain/bns) تلاش کریں (نام سے پتہ)، پتہ کی ملکیت والے نام، BNS نام رجسٹر کریں۔
- کثیر اثاثہ جات کی قیمتیں (جیسے [CoinGecko](https://www.coingecko.com))؛ چارٹنگ کے لئے قیمت کی تاریخ.
- پورٹ فولیو کا خلاصہ (USD میں BTC + STX)؛ تمام اثاثے اور جمع کرنے والی چیزیں (ناشالیات، اسٹیک NFTs)۔

**لیجر (اسٹیک ایپ):**

- لیجر سے اسٹیکس ایڈریس حاصل کریں۔
- لیجر اسٹیکس ایپ کے ساتھ اسٹیک لین دین پر دستخط کریں۔

## حفاظت اور ڈیزائن

⚠️ یہ MCP سرور تجرباتی ہے اور بامعنی فنڈز کے لیے محفوظ نہیں ہے۔ صرف بٹوے کے ساتھ استعمال کریں جو آپ کھونے کے لیے تیار ہیں۔ کسی نے جنگی تجربہ یا کوڈ کا آڈٹ نہیں کیا ہے۔ میں اسے ایجنٹ کے مقامی بٹوے کی سطحوں کو دریافت کرنے کے لیے ایک تحقیقی نمونہ سمجھتا ہوں۔

تباہ کن کارروائیاں پہلے سے طے شدہ `dry_run: true` پر ہوتی ہیں۔ پیش نظارہ اور تخمینہ کے ٹولز ہر بھیجنے کے راستے کے لیے موجود ہیں۔ کلیدیں ورژن کنٹرول سے باہر اور ٹول ردعمل سے باہر رہتی ہیں۔ رن اسکرپٹ ریپو روٹ سے `.env` کو لوڈ کرتی ہے۔

**والٹ کلیدی متغیرات (خفیہ رکھیں، کبھی کمٹمنٹ نہ کریں):**

- **`BTC_PRIVATE_KEY`** — WIF انکوڈ شدہ بٹ کوائن نجی کلید؛ اگر سیٹ ہو تو یادداشت پر فوقیت لیتا ہے۔
- **`BTC_MNEMONIC`** — BIP-39 بیج کا جملہ؛ سرور اسے Bitcoin اور Stacks کیز حاصل کرنے کے لیے استعمال کرتا ہے (Stacks کے لیے ایک ہی یادداشت، راستہ `m/44'/5757'/0'/0/0`)۔
- **`BTC_MNEMONIC_PASSPHRASE`** — `BTC_MNEMONIC` کے ساتھ استعمال کرنے کے لیے اختیاری BIP-39 پاسفریز۔

**حفاظت اور حدود (env یا .env):**

- **`BTC_NETWORK`** — `مین نیٹ` یا `ٹیسٹ نیٹ` (پہلے سے طے شدہ `ٹیسٹ نیٹ`)۔
- **`BTC_MAINNET_ENABLED`** — مین نیٹ بھیجنے کی اجازت دینے کے لیے اسے سیٹ کریں (حفاظتی پرچم)۔
- **`BTC_DRY_RUN`** — سیٹ ہونے پر (پہلے سے طے شدہ)، تباہ کن آپریشن (بھیجیں، سائن اینڈ براڈکاسٹ، تعینات) نشر نہ کریں؛ حقیقی لین دین کی اجازت دینے کے لیے اسے 'غلط' پر سیٹ کریں۔
- **`BTC_MAX_SEND_BTC`** — BTC میں بھیجی گئی رقم پر اختیاری کیپ؛ سرور اس سے اوپر کی درخواستوں کو مسترد کرتا ہے۔
- **`BTC_MAX_FEE_SATS`** — ساتوشی فی لین دین میں فیس پر اختیاری کیپ۔
- **`STX_ACCOUNT_INDEX`** — اسٹیک ڈیریویشن اکاؤنٹ انڈیکس (پہلے سے طے شدہ `0`)۔
- کنفیگ بصورت دیگر فیس کے درجے کو چلاتا ہے (مقررہ شرح یا mempool.space ٹائر: گھنٹہ، آدھا گھنٹہ، تیز ترین)۔

## یہ میرے ایجنٹ کے اسٹیک میں کیسے فٹ بیٹھتا ہے۔

میں تین پرتوں کے فن تعمیر پر ایجنٹ چلاتا ہوں۔ تہوں کو صاف طور پر الگ کیا جاتا ہے تاکہ یادداشت، استدلال اور عمل صحیح جگہ پر رہیں۔

**سچ کی تہہ:** یہ میموری سبسٹریٹ ہے۔ اس میں ٹائپ شدہ، سٹرکچرڈ ڈیٹا ہوتا ہے: ہولڈنگز، فلو، لین دین، رابطے، کام اور باقی۔ میرے سیٹ اپ میں کیننیکل اسٹور [نیوٹوما](/posts/truth-layer-agent-memory) ہے۔ یہ ایونٹ سورسنگ اور ریڈوسر کا استعمال کرتا ہے، مکمل پرووینس اور ہستی کے حل کے ساتھ۔ ایجنٹ اس سے پڑھتے ہیں۔ وہ کبھی بھی براہ راست سچ نہیں لکھتے۔ تمام اپ ڈیٹس ڈومین ایونٹس سے گزرتی ہیں جو ایگزیکیوشن لیئر کے ذریعہ تیار کی جاتی ہیں۔

**حکمت عملی کی پرت:** یہ وہ جگہ ہے جہاں اہداف، رکاوٹیں اور حکمت عملی رہتی ہے۔ حکمت عملی کے دستاویزات، حکمت عملی سے متعلق پلے بکس، اور آپریشنز مینوئل یہاں بیٹھے ہیں۔ ایجنٹ اس پرت کو استدلال کے لیے استعمال کرتے ہیں: وہ عالمی حالت کو پڑھتے ہیں، ترجیحات اور خطرے کا اندازہ لگاتے ہیں، اور فیصلے اور حکم دیتے ہیں۔ حکمت عملی خالص ادراک ہے۔ کوئی سائیڈ ایفیکٹ نہیں۔ ریاست میں، فیصلے باہر.

**Execution layer:** یہ وہ جگہ ہے جہاں بیرونی اعمال ہوتے ہیں۔ یہ حکمت عملی کی تہہ سے کمانڈ لیتا ہے اور اڈاپٹر کے ذریعے ضمنی اثرات انجام دیتا ہے: ای میل، کیلنڈر، DNS، اور اس صورت میں Bitcoin اور Stacks والیٹ MCP۔ والٹ سرور بہت سے لوگوں کے درمیان ایک ایگزیکیوشن اڈاپٹر ہے۔ یہ کبھی بھی سچائی کی تہہ کو تبدیل نہیں کرتا ہے۔ یہ کام کرتا ہے (بھیجنا، دستخط کرنا، تبادلہ کرنا) اور باقی اسٹیک ریکارڈ کرتا ہے کہ ڈومین کے واقعات کے ذریعے کیا ہوا۔ کمانڈز، ایونٹس آؤٹ۔

میں حکمت عملی کی وضاحت اور برقرار رکھتا ہوں۔ ایجنٹ سچائی کی تہہ سے پڑھتے ہیں اور عمل کرنے کے لیے MCP ٹولز کو کال کرتے ہیں۔ میں معمول کی کارروائیوں کے لیے پوائنٹ اور کلک کرپٹو UIs کا استعمال نہیں کرتا ہوں۔ میں صرف ان اقدامات کو منظور کرنے کے لیے قدم رکھتا ہوں جو میری پہلے سے طے شدہ حدود سے تجاوز کرتے ہیں۔

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

## میں کس طرح تعمیر کے قریب پہنچ رہا ہوں۔

میں پہلے اپنے ورک فلوز میں سرور کو ڈاگ فوڈ کر رہا ہوں۔ میں ہر سطح کی جانچ کر رہا ہوں (سینڈز، PSBTs، Ordinals، Stacks Transfers، Swaps) آہستہ آہستہ تھوڑی مقدار اور خشک رنز کے ساتھ۔

میں نے اسے اسی اسٹیک میں وائر کیا ہے جہاں میں پہلے سے ہی [truth and strategy layers](/posts/agentic-search-and-the-truth-layer#where-ive-hit-limits) استعمال کرتا ہوں۔ ایجنٹ بٹوے کی کارروائیوں کو کیلنڈر، ای میل اور ڈیٹا کے ساتھ جوڑ سکتے ہیں۔ بیرونی صارفین ابھی تک دائرہ کار میں نہیں ہیں۔

میرا مقصد ایک ایجنٹی والیٹ کی سطح کی شکل کو درست کرنا اور مینوئل کے بجائے اپنے بٹ کوائن اور اسٹیکس آپریشنز کو ایجنٹ پر مبنی بنانا ہے۔

اسے چلانے کے لیے: کلون [mcp-server-bitcoin](https://github.com/markmhendrickson/mcp-server-bitcoin) (یا `mcp/btc_wallet/` پر ذیلی ماڈل کے طور پر شامل کریں)، سرور کو اپنی MCP کنفیگریشن میں شامل کریں (`run_btc_wallet_mcp استعمال کریں)، اور drypath.sh کے ساتھ والٹ اسکرپٹ کا استعمال کریں۔