Wallet کے ہر popup کو “sign” نہ کہیں: پہلے سمجھیں اجازت کس چیز کی ہے

Website کا button “Continue” یا “Verify” کہہ سکتا ہے، مگر wallet login message، token allowance، NFT operator permission یا سیدھا asset transfer مانگ رہا ہو سکتا ہے۔ فیصلہ button کے رنگ سے نہیں بلکہ popup کے network، method، contract، spender، amount اور message سے کریں۔ یہی عادت مشہور project کے نام سے زیادہ قابل اعتماد دفاع ہے۔
Wallet request کی قسم چند سیکنڈ میں کیسے پہچانیں؟
دیکھیں کہ popup میں gas، readable message، spender، asset change یا contract call موجود ہے یا نہیں۔ Address connect عموماً gas نہیں مانگتا۔ Message signature خود block میں شامل نہیں ہوتی۔ Approve اور transfer on-chain transactions ہیں۔ Permit بسا اوقات gas کے بغیر sign ہوتا ہے مگر بعد میں کوئی دوسرا اسے submit کر کے allowance چلا سکتا ہے۔
| Request | عام display | Chain پر؟ | اہم خطرہ |
|---|---|---|---|
| Connect | Account/address access | نہیں | Address اور website profile کا تعلق |
| personal_sign | Text یا hex message | Signature خود نہیں | Login یا off-chain consent |
| EIP-712 | Domain اور structured fields | Signature خود نہیں | Order، permit، delegation |
| approve | Allow spender | ہاں | Allowance تک token استعمال |
| permit | Owner، spender، value، deadline | بعد میں submit | Signature سے allowance |
| Transaction | To، value، gas، data | ہاں | Asset یا contract state بدلنا |
Wallet brands کے الفاظ مختلف ہوتے ہیں۔ “Details”، “Data”، “Permission” یا “Advanced” کھولیں۔ اہم field دکھائی نہ دے تو website کی اپنی “safe” تحریر آزاد ثبوت نہیں۔ Reject کرنے سے جائز asset غائب نہیں ہوتا؛ official flow دوبارہ شروع کیا جا سکتا ہے۔
Wallet میں request آئی ہے — کیا اسے sign کرنا ٹھیک ہے؟
Website کے button پر لکھے الفاظ نہیں، popup میں اصل میں جو لکھا ہے اسے دیکھ کر فیصلہ کریں۔ نیچے table میں جہاں “ٹھیک ہے” لکھا ہے، وہاں دو شرطیں ہیں: browser کے address bar کا domain وہی ہے جو آپ نے official website یا docs سے کھولا، اور یہ قدم واقعی اس کام کے لیے ضروری ہے جو آپ ابھی کر رہے ہیں۔ کوئی ایک شرط بھی پوری نہ ہو تو اسے reject سمجھیں۔
| Popup میں کیا نظر آ رہا ہے | Sign کریں؟ | کیا ملانا ہے |
|---|---|---|
| Connect / Connect to this site — صرف account، کوئی amount یا gas نہیں | Domain درست ہو تو ٹھیک ہے | صرف اس کام کا account چنیں، main asset والا نہیں۔ |
| Sign message — پڑھنے کے قابل عبارت، جیسے “Sign in to کوئی domain”، ساتھ Nonce اور Issued At | ٹھیک ہے | Message کا domain اور address bar کا domain بالکل ایک ہو؛ عبارت میں transfer، approve، withdraw جیسے الفاظ ہوں تو reject کریں۔ |
| Sign message — 0x سے شروع ہونے والا لمبا hex، یا wallet کہے کہ content دکھایا نہیں جا سکتا | Reject | سمجھ نہ آئے تو آپ نہیں جانتے کہ کس بات پر رضامندی دے رہے ہیں۔ MetaMask نے 2024 میں منظور ہونے والی MIP-3 تجویز کے تحت ہر طرح کا data blind sign کرنے والا eth_sign method بند کر دیا ہے؛ جو page اب بھی ایسی signature مانگے، وہ خود مشکوک ہے۔ |
| Signature request میں Permit، PermitSingle، PermitBatch، یا spender، value، deadline fields | اسے token approval سمجھیں؛ زیادہ تر reject | صرف official page پر swap یا stake کرتے وقت غور کریں؛ spender official docs والے contract سے ملے، value 115792… سے شروع ہونے والی لمبی زیادہ سے زیادہ قدر نہ ہو، اور deadline کئی دہائیاں بعد کی نہ ہو۔ |
| Spending cap request، Approve، Allow … to spend your token | صرف تب جب موجودہ قدم کو ضرورت ہو | Token اور spender ملائیں؛ default unlimited کے بجائے اس بار کی ضروری مقدار لکھیں۔ |
| setApprovalForAll، یا لکھا ہو کہ کسی collection کے تمام NFT تک رسائی یا transfer ممکن ہوگا | Official NFT marketplace پر listing کے سوا ہمیشہ reject | “Ownership verify” یا “badge claim” کے لیے پورے collection کا اختیار دینا ضروری نہیں۔ |
| Transaction confirm — asset changes میں آپ کا coin یا NFT باہر جا رہا ہو | جو جا رہا ہے وہ دینا مقصود نہیں تو reject | Page پر Claim، Mint یا Verify لکھا ہو اور wallet asset باہر جاتا دکھائے، تو page کی بات اور اصل call میں فرق ہے۔ |
Reject یا Cancel دبانے سے کوئی asset ضائع نہیں ہوتا، اور legitimate project اس پر آپ کی eligibility ختم نہیں کرتا؛ بعد میں official link سے page دوبارہ کھولیں۔ یقین نہ ہو تو popup کا screenshot (balance چھپا کر) project کی docs میں درج public support channel میں پوچھیں؛ DM میں “مدد” کی پیشکش کرنے والوں کو جواب نہ دیں۔
صرف Connect Wallet سے website کیا جان سکتی ہے؟
Connect عموماً منتخب public address، active chain اور wallet capability website کو دیتا ہے؛ یہ token spending approval نہیں۔ پھر بھی privacy cost موجود ہے۔ Public address کی history دیکھی جا سکتی ہے اور site اسے browser session، social login یا campaign profile سے جوڑ سکتی ہے۔
Testnet کے لیے الگ wallet رکھنا main holding address کی غیر ضروری exposure کم کرتا ہے۔ الگ account اور الگ seed کا فرق سمجھیں۔ ایک seed کے accounts کا رشتہ chain پر لازماً صاف نہیں، مگر ایک دوسرے کو funds بھیجنے یا یکساں استعمال سے pattern بن سکتا ہے۔ نامعلوم task page پر high-value wallet connect نہ کرنا بہتر ہے۔
Connect کے فوراً بعد آنے والے popup کو نئی درخواست سمجھیں۔ Phishing page پہلے harmless connection لیتا ہے، پھر user کی توجہ کم ہونے پر approve یا permit دکھاتا ہے۔ پہلے popup کا کم خطرہ دوسرے کو محفوظ نہیں بناتا۔ مسلسل requests آئیں تو سب cancel کر کے official steps پڑھیں۔
Wallet میں Connected sites سے disconnect کرنے پر front-end session ختم ہوتا ہے، on-chain approval نہیں۔ Browser history صاف کرنا، wallet lock کرنا یا extension دوبارہ install کرنا بھی allowance ختم نہیں کرتا۔ Privacy connection اور blockchain permission الگ records ہیں۔
personal_sign login message کب نسبتاً محفوظ سمجھا جا سکتا ہے؟
Readable message جس میں درست domain، واضح مقصد اور nonce ہو عموماً محدود login کے لیے ہوتا ہے، مگر blind sign پھر بھی درست نہیں۔ EIP-191 signed data کو عام transaction سے الگ کرنے کے لیے prefix کا معیار دیتا ہے؛ یہ message کے مقصد کو سچا ثابت نہیں کرتا۔
ایک بہتر login message کی نشانیاں
Service domain، wallet address، login statement، random nonce، issued time اور ضرورت کے مطابق expiry دکھنی چاہیے۔ Browser domain اور message domain ملائیں۔ “Sign in to example.org” سمجھ میں آتا ہے؛ نامعلوم domain، غیر محدود terms یا asset سے متعلق مبہم اقرار آئے تو reject کریں۔
Zero gas کا مطلب zero risk نہیں
Message local wallet میں sign ہوتا ہے، اس لیے gas نہیں لگتا۔ Signature سے service ثابت کر سکتی ہے کہ address controller نے کوئی statement قبول کیا۔ Malicious site اسے login token، marketplace order یا دوسرے authorization کے لیے استعمال کر سکتی ہے۔ Gas صرف fee بتاتا ہے، permission کی قدر نہیں۔
Hex message کیوں روکنے کی وجہ ہے؟
اگر مکمل payload انسانی زبان میں نہ پڑھے تو sign نہ کریں اور project docs میں method تلاش کریں۔ Hardware wallet screen مختصر ہو تو desktop wallet interface میں full data دیکھیں۔ Website کے پاس لکھا “یہ صرف verification ہے” کافی نہیں، کیونکہ request اسی website نے بنائی ہے۔
Login signature کے ساتھ seed phrase، password یا OTP form میں نہیں دیا جاتا۔ Wallet خود signature بناتا ہے۔ کوئی page secret مانگے تو flow بند کریں۔ Support کے لیے public address اور message context کافی ہونا چاہیے۔
EIP-712 readable ہونے کے باوجود خطرناک کیسے ہو سکتا ہے؟
EIP-712 data کو domain، types اور fields میں دکھاتا ہے؛ صاف layout permission کو harmless نہیں کرتا۔ Marketplace order، governance، permit، smart-account action اور delegation میں یہ استعمال ہوتا ہے۔ Domain section اور message section دونوں پڑھیں۔
Domain fields
Name، version، chainId اور verifyingContract دیکھیں۔ Website testnet کہے مگر chainId mainnet کا ہو تو رکیں۔ Contract official documentation یا verified explorer record سے ملائیں۔ Name صرف text ہے اور copy ہو سکتا ہے؛ address اور chain context زیادہ وزن رکھتے ہیں۔
Message fields
Owner آپ کا address ہے؟ Spender یا operator کون ہے؟ Value کتنا ہے؟ Deadline اور nonce کیا ہیں؟ Large integer scientific notation میں ہو تو details کھولیں اور token decimals سمجھیں۔ Unknown spender کے لیے unlimited value اور چھوٹا test allowance ایک جیسے نہیں۔
Deadline اور replay
بہت دور یا open deadline signature کو بعد میں استعمال کے قابل رکھ سکتا ہے۔ Nonce عام طور پر replay روکتا ہے، مگر implementation contract پر منحصر ہے۔ User popup سے پورا code audit نہیں کر سکتا؛ اسی لیے official contract اور documented flow ضروری ہیں۔
Field کا نام “Login” ہو تو بھی type permit یا order ہو سکتا ہے۔ Wallet method اور verifying contract پڑھیں، social post کا خلاصہ نہیں۔ نامعلوم typed data reject کرنا موقع کھونا نہیں، بلکہ ناقابل وضاحت اختیار نہ دینا ہے۔
Approve، permit اور setApprovalForAll میں کیا فرق ہے؟
تینوں کسی دوسرے address کو asset پر اختیار دے سکتے ہیں، مگر asset کی حد اور chain پر جمع ہونے کا طریقہ مختلف ہے۔ ERC-20 approve spender کو allowance دیتا ہے۔ EIP-2612 permit signature کے ذریعے allowance بیان کرتا ہے جسے relayer submit کر سکتا ہے۔ NFT setApprovalForAll پورے collection کے لیے operator permission دے سکتا ہے۔
Approve میں تین field لازمی
Token contract، spender اور amount ملائیں۔ Approve on-chain transaction ہے، اس لیے gas دکھتا ہے۔ Unlimited allowance آئندہ gas بچا سکتا ہے مگر contract compromise، upgrade یا malicious spender کی صورت میں exposure بڑھاتا ہے۔ Testnet task اگر mainnet stablecoin کی اجازت مانگے تو عمل سے مطابقت نہیں رکھتا۔
Permit gas کے بغیر بھی حقیقی اختیار ہے
Permit کے وقت wallet “signature request” لکھ سکتا ہے۔ مگر owner، spender، value، deadline اور verifyingContract مل کر spending permission بنا سکتے ہیں۔ Attacker signature خود submit کر سکتا ہے۔ Disconnect permit کو cancel نہیں کرتا۔ مشکوک permit کے بعد دیکھیں آیا chain پر استعمال ہوا، token-specific revoke path معلوم کریں، اور قیمتی assets خطرے میں ہوں تو منتقل کریں۔
NFT operator پورے collection کو چھو سکتا ہے
setApprovalForAll صرف ایک NFT کی اجازت نہیں۔ “Ownership verify” یا “Mint pass” کے نام پر mainnet collection-wide approval آئے تو official reason تلاش کریں۔ Test badge کے لیے قیمتی NFT collection کا مکمل operator عام طور پر غیر متناسب مطالبہ ہے۔
Website بند، app delete یا session disconnect ہونے سے chain permission باقی رہتی ہے۔ Allowance خرچ ہو، user صفر کرے یا contract-specific condition بدلے تب حالت بدلتی ہے۔ High-permission interaction کے فوراً بعد اور project ختم کرتے وقت review کریں؛ مصنوعی مقررہ schedule کی ضرورت نہیں۔
Transaction popup میں کون سے fields ضرور پڑھیں؟
Network، From، To، value، token changes، contract method اور متوقع نتیجہ ملائیں۔ Website button “Claim”، “Mint” یا “Verify” ہو سکتا ہے مگر chain پر اصل کام data طے کرتا ہے۔ transferFrom، multicall یا unknown call کو صرف button کے نام سے محفوظ نہ سمجھیں۔
- Chain ID expected testnet ہے؟ Mainnet gas symbol آئے تو cancel کریں۔
- From address الگ test wallet ہے یا غلطی سے holding wallet؟
- To address official contract یا expected recipient سے ملتا ہے؟
- Native value صفر نہ ہو تو asset کیوں بھیجی جا رہی ہے؟
- Token/NFT changes میں غیر متوقع outgoing item تو نہیں؟
- Method اور parameters موجودہ task سے تعلق رکھتے ہیں؟
- Simulation ہو تو result پڑھیں، مگر اسے ضمانت نہ سمجھیں۔
چھوٹا gas malicious transfer کو محفوظ نہیں بناتا۔ Gas execution fee ہے، security score نہیں۔ Failed simulation بھی اکیلا scam ثابت نہیں کرتا؛ RPC یا decoder issue ہو سکتا ہے۔ تضاد ہو تو confirm نہ کریں اور official technical support سے request details پر بات کریں۔
Upgradeable proxy کا logic بعد میں بدل سکتا ہے۔ Simulation موجودہ state اور دستیاب decoder دیکھتی ہے؛ delayed execution، reused signature یا future upgrade ہمیشہ نظر نہیں آتے۔ Limited permission اور verified source اس لیے اہم ہیں۔
Sign سے پہلے چھ مرحلوں کی معمول کی جانچ کیا ہو؟
Domain—network—request type—target—scope—exit path کی ترتیب رکھیں۔ Project کا follower count، influencer کی تعریف یا خوبصورت interface مستقل safety signal نہیں۔ ایک ہی checklist ہر page پر کام کرتی ہے۔
- Domain: Website یا docs کے official راستے سے آئیں؛ spelling اور subdomain دیکھیں۔
- Network: Chain ID اور selected account دیکھیں؛ test wallet الگ رکھیں۔
- Type: Connect، message، typed data، allowance یا transaction طے کریں۔
- Target: Contract، spender، operator، recipient اور token ملائیں۔
- Scope: Amount، unlimited flag، NFT collection، deadline اور replay سمجھیں۔
- Exit: Disconnect، revoke، cancel یا asset move کا راستہ جانیں۔
اہم field نہ سمجھ آئے تو details کھولیں۔ پھر بھی واضح نہ ہو تو cancel کریں۔ غیر یقینی airdrop کے لیے main wallet permission دینا کمزور risk-reward ہے۔ Legitimate project user کو پڑھنے کا وقت دیتا ہے؛ countdown اور private admin pressure خطرے کی نشانیاں ہیں۔
Mobile wallet truncated address دکھائے تو copy کر کے official address پورا ملائیں، مگر public chat میں paste نہ کریں۔ WalletConnect QR public screen یا screen-share پر نہ دکھائیں۔ Shared phone یا cyber cafe پر seed import نہ کریں۔
غلطی سے approve، permit یا setApprovalForAll sign ہو گیا تو اب کیا کریں؟
پہلے سمجھیں کہ کس قسم کی چیز sign کی، پھر اسی کے مطابق قدم اٹھائیں۔ صرف مشکوک site سے connect کیا اور کچھ sign نہیں کیا تو wallet کی Connected sites سے disconnect کافی ہے، asset کو خطرہ نہیں۔ یاد نہ ہو کہ کیا sign کیا تھا تو block explorer میں اپنا address کھول کر حالیہ records میں Approve، Set Approval For All یا نامعلوم Transfer دیکھیں۔ نیچے کسی قدم میں seed phrase کی ضرورت نہیں؛ جو “fix tool” seed phrase مانگے، وہ scam ہے۔
approve یا setApprovalForAll دے دیا: revoke page پر اجازت صفر کریں
- خود address bar میں URL لکھ کر revoke tool کھولیں، مثلاً revoke.cash، یا Etherscan کا Token Approval Checker (etherscan.io/tokenapprovalchecker؛ BNB Chain کے لیے BscScan کا اسی نام کا page)۔ DM یا group میں بھیجے گئے “revoke link” پر click نہ کریں۔
- Wallet connect کریں، یا پہلے صرف address paste کر کے دیکھیں؛ network وہی chain چنیں جس پر approval دیا تھا، کیونکہ approval ہر chain پر الگ درج ہوتا ہے۔
- وقت کے حساب سے ترتیب دے کر نامعلوم spender یا operator تلاش کریں اور Revoke دبائیں۔
- Wallet ایک transaction دکھائے گا؛ تسلی کریں کہ یہ revoke ہی کر رہا ہے (approve کی مقدار 0، یا setApprovalForAll کو false)، اور gas کے لیے تھوڑا native coin لگے گا۔ Wallet میں gas نہ ہو تو پہلے تھوڑا بھیج دیں۔
- Transaction کامیاب ہونے کے بعد list refresh کر کے دیکھیں کہ وہ لائن ختم ہو گئی ہے۔ تفصیلی طریقہ approval revoke کرنے کی رہنمائی میں ہے۔
Revoke صرف آئندہ transfer روکتا ہے؛ جو پہلے جا چکا وہ واپس نہیں آتا۔ Balance کم ہو رہا ہو تو پہلے باقی coins اور NFTs نئے wallet میں منتقل کریں، پھر revoke کریں۔
permit یا Permit2 signature دے دی: پہلے دیکھیں chain پر submit ہوئی یا نہیں
Permit بذاتِ خود صرف signature ہے؛ دوسرا فریق اسے chain پر submit کرے تب ہی اثر کرتی ہے۔ Block explorer میں اپنا address کھول کر اس token کے approval record یا حالیہ events میں ان کا spender دیکھیں:
- نظر آ رہا ہے: اوپر والے طریقے سے revoke کریں اور دیکھیں کہ token balance نکل تو نہیں گیا۔
- ابھی نظر نہیں آتا: سب سے محفوظ طریقہ یہ ہے کہ وہ token فوراً دوسرے wallet میں منتقل کر دیں، تاکہ signature والی allowance کے لیے کچھ باقی نہ رہے۔ Revoke.cash کے Signatures page پر مشکوک signature منسوخ کرنے کی کوشش ہو سکتی ہے، مگر وہ خود لکھتے ہیں کہ scammer عموماً signature ملتے ہی submit کر دیتے ہیں، اس لیے اکثر وقت نہیں ملتا۔
صرف personal_sign login message sign کیا: عموماً coin نہیں جاتا، مگر تین کام کریں
EIP-191 prefix والی عام message signature کو transfer transaction کے طور پر استعمال نہیں کیا جا سکتا، اور یہ permit کے لیے درکار EIP-712 structured data بھی نہیں؛ صرف اس سے عموماً آپ کے tokens نہیں نکالے جا سکتے۔ یہ کریں:
- Sign کی گئی عبارت یاد کریں یا screenshot دیکھیں۔ اگر اس میں صرف login نہیں بلکہ authorize، order، key یا trading جیسی بات تھی، تو متعلقہ platform کی official website پر logged-in devices، sessions اور API keys دیکھ کر ایک ایک کر کے ختم کریں۔
- Wallet سے اس site کو disconnect کریں؛ بعد میں وہاں سے آنے والی ہر approve یا permit request reject کریں۔
- اگر جعلی site پر sign کیا تھا تو آپ کا address ان کے پاس ہے؛ آگے fake airdrop tokens اور “claim link” آ سکتے ہیں، ان پر click نہ کریں۔ صرف login message کی وجہ سے wallet بدلنے کی ضرورت نہیں۔
Coin بھیجتے ہی غائب ہو جاتا ہے: مسئلہ approval نہیں، private key یا seed phrase لیک ہو چکی ہے
Wallet میں native coin بھیجیں اور چند سیکنڈ میں نامعلوم address پر چلا جائے تو سمجھ لیں کہ آپ کی private key کسی اور کے پاس ہے۔ ایسے میں revoke بے فائدہ ہے اور بھیجی گئی gas بھی ساتھ نکل جائے گی۔ اس address پر کچھ نہ بھیجیں؛ نئی seed phrase سے نیا wallet بنائیں، جو منتقل ہو سکے جلد منتقل کریں، اور پرانا address مکمل طور پر چھوڑ دیں۔
Asset نکل چکا ہے: ثبوت محفوظ کریں، صرف official راستہ اپنائیں
On-chain transfer واپس نہیں ہوتی۔ Transaction hash (TxID)، اپنا address، وصول کنندہ کا address، phishing site کا domain اور popup کے screenshots ترتیب سے رکھیں۔ Asset کسی exchange کے deposit address پر گیا ہو تو یہ مواد لے کر اسی exchange کے official support سے رابطہ کریں؛ جو حصہ ابھی نکالا نہیں گیا اس کے freeze ہونے کا امکان رہتا ہے۔ Wallet کے official support کو phishing domain بتائیں۔ پاکستان میں National Cyber Crime Investigation Agency (NCCIA) کی helpline 1799 پر شکایت درج کرائی جا سکتی ہے (وزارتِ داخلہ کا 3 جون 2025 کا اعلان، ستمبر 2026 میں دیکھا گیا)، اور ادارے کی website nccia.gov.pk ہے۔ پیسے لے کر “recover” یا “unfreeze” کا وعدہ کرنے والا دوسرا scam ہے؛ جائز ادارے پہلے fee نہیں مانگتے۔
تین مختصر مثالیں
Login message
Readable statement، browser سے ملتا domain، nonce اور issued time، کوئی asset field نہیں۔ Risk نسبتاً محدود ہے، مگر address کو social profile سے جوڑنے کی privacy cost باقی ہے۔ Holding wallet کے بجائے activity wallet بہتر ہو سکتا ہے۔
Testnet swap allowance
Chain واقعی testnet، token test asset، spender official router ہے۔ Approval expected ہو سکتا ہے، مگر unlimited لازمی ہے یا custom amount ممکن، دیکھیں۔ Task ختم ہونے پر allowance review کریں۔
Mainnet permit کو “verification” کہنا
Page reward کا دعویٰ کرے مگر typed data میں mainnet chainId، stablecoin contract اور unknown spender ہو۔ Gas نہ ہونا safety نہیں۔ Reject کریں، domain report کریں اور دیکھیں کوئی پچھلا signature تو نہیں دیا۔
عام سوالات
صرف wallet connect کرنے سے asset جا سکتا ہے؟
عام connect request صرف منتخب public address اور network website کو دکھاتی ہے؛ یہ خود transfer نہیں۔ مگر connect کے بعد page الگ message signature، approval یا transaction مانگ سکتا ہے، اس لیے ہر اگلا popup دوبارہ پڑھیں۔
کیا personal_sign ہمیشہ محفوظ ہے؟
نہیں۔ صاف login message عموماً فوراً asset منتقل نہیں کرتا، مگر signature کو login یا off-chain authorization کے طور پر استعمال کیا جا سکتا ہے۔ Domain، purpose، nonce یا expiry واضح نہ ہوں تو reject کریں۔
Approve اور permit میں مشترک خطرہ کیا ہے؟
دونوں کسی spender کو token استعمال کرنے کی اجازت دے سکتے ہیں۔ Approve on-chain transaction ہے؛ permit signature بعد میں کوئی اور submit کر سکتا ہے۔ Token، spender، amount، chain اور deadline دیکھیں۔
Wallet simulation safe دکھائے تو confirm کر سکتے ہیں؟
Simulation مددگار ہے مگر ضمانت نہیں۔ Upgradeable contract، delayed submission، unknown decoding یا بعد کے call کا خطرہ رہ سکتا ہے۔ Domain، contract اور permission خود جانچیں۔
کیا approve دینے کے بعد اسے واپس لیا جا سکتا ہے؟
Revoke کیا جا سکتا ہے، مگر یہ صرف آئندہ کے لیے مؤثر ہے۔ خود URL لکھ کر revoke.cash یا block explorer کا Token Approval Checker کھولیں، approval والی chain چنیں، متعلقہ spender پر Revoke دبائیں اور wallet میں تھوڑی gas والی ایک transaction confirm کریں۔ Revoke سے پہلے نکل جانے والے asset واپس نہیں آتے۔
صرف personal_sign login message sign کیا ہے، کیا wallet محفوظ ہے؟
عموماً محفوظ ہے۔ عام message signature کو transfer یا permit approval کے طور پر استعمال نہیں کیا جا سکتا۔ تصدیق ہو جائے کہ عبارت صرف login کی تھی تو site کو disconnect کریں اور اس کی اگلی approval requests reject کریں؛ عبارت میں trading authorization یا API key کا ذکر ہو تو متعلقہ platform پر sessions اور keys ختم کریں۔