# snap_getPreferences

> Reference documentation for the `snap_getPreferences` method of the Snaps API.

<SnapsAPIReference method={{"name":"snap_getPreferences","description":"Gets the user's preferences.","parameters":null,"result":{"kind":"object","type":"{ locale: string; currency: string; hideBalances: boolean; useSecurityAlerts: boolean; simulateOnChainActions: boolean; useTokenDetection: boolean; batchCheckBalances: boolean; displayNftMedia: boolean; useNftDetection: boolean; useExternalPricingData: boolean; showTestnets: boolean }","description":"An object containing the user's MetaMask preferences.","required":false,"properties":[{"kind":"primitive","type":"string","description":"The user's locale setting as a [language\ncode](https://github.com/MetaMask/metamask-extension/blob/main/app/_locales/index.json).","name":"locale"},{"kind":"primitive","type":"string","description":"The user's preferred fiat currency code (e.g., `\"usd\"`, `\"eur\"`).","name":"currency"},{"kind":"primitive","type":"boolean","description":"Whether the user has chosen to hide balances in the MetaMask UI.","name":"hideBalances"},{"kind":"primitive","type":"boolean","description":"Whether to run transactions and signatures through security alert\nproviders before submitting.","name":"useSecurityAlerts"},{"kind":"primitive","type":"boolean","description":"Whether to simulate transactions and signatures to preview their effects\nbefore the user confirms.","name":"simulateOnChainActions"},{"kind":"primitive","type":"boolean","description":"Whether to automatically detect and add ERC-20 tokens to the user's\nwallet.","name":"useTokenDetection"},{"kind":"primitive","type":"boolean","description":"Whether to fetch token balances in an aggregated manner for improved\nperformance.","name":"batchCheckBalances"},{"kind":"primitive","type":"boolean","description":"Whether to display NFT media (images, videos) in the MetaMask UI.","name":"displayNftMedia"},{"kind":"primitive","type":"boolean","description":"Whether to automatically detect and add NFTs to the user's wallet.","name":"useNftDetection"},{"kind":"primitive","type":"boolean","description":"Whether to fetch token price data from an external pricing source.","name":"useExternalPricingData"},{"kind":"primitive","type":"boolean","description":"Whether to show testnet networks in the MetaMask UI.","name":"showTestnets"}]},"examples":[{"examples":[{"name":"Manifest","language":"json","content":"{\n  \"initialPermissions\": {\n    \"snap_getPreferences\": {}\n  }\n}\n"},{"name":"Usage","language":"ts","content":"const preferences = await snap.request({\n  method: 'snap_getPreferences',\n})\n\nconsole.log(preferences)\n// {\n//  locale: 'en',\n//  currency: 'usd',\n//  ...\n// }\n"}]}],"subjectTypes":["snap"],"restricted":true}}  />
