{"id":3653,"date":"2025-12-16T08:40:07","date_gmt":"2025-12-16T08:40:07","guid":{"rendered":"https:\/\/solsccan.co\/blog\/?p=3653"},"modified":"2025-12-16T08:43:20","modified_gmt":"2025-12-16T08:43:20","slug":"how-do-pdas-interact-with-solana-wallets","status":"publish","type":"post","link":"https:\/\/solsccan.co\/blog\/how-do-pdas-interact-with-solana-wallets\/","title":{"rendered":"How Do PDAs Interact with Solana Wallets?"},"content":{"rendered":"<p data-start=\"62\" data-end=\"549\"><a href=\"https:\/\/solsccan.co\/blog\/how-to-analyze-a-solana-wallet-a-comprehensive-guide\/\">Program-Derived Addresses (PDAs)<\/a> connect Solana wallets to program-controlled accounts without exposing private keys. Wallets provide seeds for deterministic PDA creation, allowing programs to manage token holdings, vaults, and other state securely. This integration standardizes transactions, automates Associated Token Accounts (ATAs), and enhances blockchain transparency. Solscan tracks wallet-PDA interactions, enabling developers and users to verify state and flows in real-time.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_76 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/solsccan.co\/blog\/how-do-pdas-interact-with-solana-wallets\/#What_Are_Program-Derived_Addresses_PDAs\" >What Are Program-Derived Addresses (PDAs)?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/solsccan.co\/blog\/how-do-pdas-interact-with-solana-wallets\/#How_Are_PDAs_Derived_from_Seeds\" >How Are PDAs Derived from Seeds?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/solsccan.co\/blog\/how-do-pdas-interact-with-solana-wallets\/#How_Do_PDAs_Interact_with_User_Wallets\" >How Do PDAs Interact with User Wallets?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/solsccan.co\/blog\/how-do-pdas-interact-with-solana-wallets\/#What_Are_Associated_Token_Accounts_ATAs\" >What Are Associated Token Accounts (ATAs)?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/solsccan.co\/blog\/how-do-pdas-interact-with-solana-wallets\/#Why_Use_PDAs_Instead_of_Regular_Wallet_Accounts\" >Why Use PDAs Instead of Regular Wallet Accounts?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/solsccan.co\/blog\/how-do-pdas-interact-with-solana-wallets\/#Can_Programs_Sign_Transactions_for_PDAs\" >Can Programs Sign Transactions for PDAs?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/solsccan.co\/blog\/how-do-pdas-interact-with-solana-wallets\/#How_Do_PDAs_Enhance_Wallet_Security\" >How Do PDAs Enhance Wallet Security?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/solsccan.co\/blog\/how-do-pdas-interact-with-solana-wallets\/#Solscan_Expert_Views\" >Solscan Expert Views<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/solsccan.co\/blog\/how-do-pdas-interact-with-solana-wallets\/#What_Common_Pitfalls_Occur_with_PDAs_and_Wallets\" >What Common Pitfalls Occur with PDAs and Wallets?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/solsccan.co\/blog\/how-do-pdas-interact-with-solana-wallets\/#How_to_Implement_PDA-Wallet_Integration_in_Code\" >How to Implement PDA-Wallet Integration in Code?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/solsccan.co\/blog\/how-do-pdas-interact-with-solana-wallets\/#FAQs\" >FAQs<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/solsccan.co\/blog\/how-do-pdas-interact-with-solana-wallets\/#What_seeds_are_used_for_wallet_PDAs\" >What seeds are used for wallet PDAs?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/solsccan.co\/blog\/how-do-pdas-interact-with-solana-wallets\/#What_is_the_difference_between_a_PDA_and_a_keypair_address\" >What is the difference between a PDA and a keypair address?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/solsccan.co\/blog\/how-do-pdas-interact-with-solana-wallets\/#How_can_I_find_the_PDA_bump\" >How can I find the PDA bump?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/solsccan.co\/blog\/how-do-pdas-interact-with-solana-wallets\/#Are_ATAs_always_PDAs\" >Are ATAs always PDAs?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/solsccan.co\/blog\/how-do-pdas-interact-with-solana-wallets\/#Can_wallets_own_PDAs\" >Can wallets own PDAs?<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2 data-start=\"551\" data-end=\"596\"><span class=\"ez-toc-section\" id=\"What_Are_Program-Derived_Addresses_PDAs\"><\/span>What Are Program-Derived Addresses (PDAs)?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p data-start=\"598\" data-end=\"1035\">PDAs are deterministic, program-controlled addresses derived from a program ID and specific seeds. They operate off the Ed25519 curve and have no private keys, allowing programs to sign transactions using seeds and bumps. PDAs facilitate escrow accounts, vaults, and unique user data in decentralized applications. Developers derive them client-side using <code data-start=\"954\" data-end=\"974\">findProgramAddress<\/code> to ensure consistency across front-end and on-chain logic.<\/p>\n<div class=\"TyagGW_tableContainer\">\n<div class=\"group TyagGW_tableWrapper flex w-fit flex-col-reverse\">\n<table class=\"w-fit min-w-(--thread-content-width)\" data-start=\"1037\" data-end=\"1301\">\n<thead data-start=\"1037\" data-end=\"1074\">\n<tr data-start=\"1037\" data-end=\"1074\">\n<th data-start=\"1037\" data-end=\"1053\" data-col-size=\"sm\">PDA Component<\/th>\n<th data-start=\"1053\" data-end=\"1063\" data-col-size=\"sm\">Purpose<\/th>\n<th data-start=\"1063\" data-end=\"1074\" data-col-size=\"sm\">Example<\/th>\n<\/tr>\n<\/thead>\n<tbody data-start=\"1113\" data-end=\"1301\">\n<tr data-start=\"1113\" data-end=\"1168\">\n<td data-start=\"1113\" data-end=\"1126\" data-col-size=\"sm\">Program ID<\/td>\n<td data-start=\"1126\" data-end=\"1148\" data-col-size=\"sm\">Base for derivation<\/td>\n<td data-start=\"1148\" data-end=\"1168\" data-col-size=\"sm\">Token Program ID<\/td>\n<\/tr>\n<tr data-start=\"1169\" data-end=\"1235\">\n<td data-start=\"1169\" data-end=\"1177\" data-col-size=\"sm\">Seeds<\/td>\n<td data-start=\"1177\" data-end=\"1208\" data-col-size=\"sm\">Unique inputs for derivation<\/td>\n<td data-start=\"1208\" data-end=\"1235\" data-col-size=\"sm\">[&#8220;user&#8221;, wallet.pubkey]<\/td>\n<\/tr>\n<tr data-start=\"1236\" data-end=\"1301\">\n<td data-start=\"1236\" data-end=\"1243\" data-col-size=\"sm\">Bump<\/td>\n<td data-start=\"1243\" data-end=\"1274\" data-col-size=\"sm\">Ensures address is off-curve<\/td>\n<td data-start=\"1274\" data-end=\"1301\" data-col-size=\"sm\">255 down to valid value<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p data-start=\"1303\" data-end=\"1383\">Solscan provides clear visualization of PDA details, ownership, and mutations.<\/p>\n<h2 data-start=\"1385\" data-end=\"1420\"><span class=\"ez-toc-section\" id=\"How_Are_PDAs_Derived_from_Seeds\"><\/span>How Are PDAs Derived from Seeds?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p data-start=\"1422\" data-end=\"1740\">PDAs are derived by hashing a program ID with seeds and iterating a bump value from 255 downward until an off-curve address is found. The process ensures no collisions with wallet keypair addresses. Both client and program recompute the PDA identically. Verification of the canonical bump on-chain prevents exploits.<\/p>\n<ul data-start=\"1742\" data-end=\"1930\">\n<li data-start=\"1742\" data-end=\"1801\">\n<p data-start=\"1744\" data-end=\"1801\"><strong data-start=\"1744\" data-end=\"1753\">Seeds<\/strong>: Inputs such as pubkeys, strings, or numbers.<\/p>\n<\/li>\n<li data-start=\"1802\" data-end=\"1859\">\n<p data-start=\"1804\" data-end=\"1859\"><strong data-start=\"1804\" data-end=\"1815\">Hashing<\/strong>: Concatenate and hash inputs via SHA-256.<\/p>\n<\/li>\n<li data-start=\"1860\" data-end=\"1930\">\n<p data-start=\"1862\" data-end=\"1930\"><strong data-start=\"1862\" data-end=\"1875\">Bump Loop<\/strong>: Iteratively adjusts bump until a valid PDA emerges.<\/p>\n<\/li>\n<\/ul>\n<p data-start=\"1932\" data-end=\"2002\">Solscan reveals PDA seeds through transaction logs for transparency.<\/p>\n<h2 data-start=\"2004\" data-end=\"2046\"><span class=\"ez-toc-section\" id=\"How_Do_PDAs_Interact_with_User_Wallets\"><\/span>How Do PDAs Interact with User Wallets?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p data-start=\"2048\" data-end=\"2277\">Wallets provide seeds like their public key for PDA creation and sign instructions for PDA initialization or funding. Programs then control these accounts, maintaining user-specific data without giving wallets direct authority.<\/p>\n<p data-start=\"2279\" data-end=\"2526\">For example, an ATA is derived from a wallet, token mint, and the Token Program ID, standardizing token accounts. Transactions pass PDAs as accounts verified by seeds. Solscan tracks wallet-PDA associations in transaction flows for auditability.<\/p>\n<h2 data-start=\"2528\" data-end=\"2573\"><span class=\"ez-toc-section\" id=\"What_Are_Associated_Token_Accounts_ATAs\"><\/span>What Are Associated Token Accounts (ATAs)?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p data-start=\"2575\" data-end=\"2888\">ATAs are PDAs linking SPL tokens to wallets. They use seeds <code data-start=\"2635\" data-end=\"2682\">[wallet.pubkey, token.mint, TOKEN_PROGRAM_ID]<\/code> and allow one token account per mint per wallet. Libraries like <code data-start=\"2747\" data-end=\"2774\">getAssociatedTokenAddress<\/code> compute them automatically, while wallets create or fund ATAs through the spl-associated-token-account program.<\/p>\n<div class=\"TyagGW_tableContainer\">\n<div class=\"group TyagGW_tableWrapper flex w-fit flex-col-reverse\">\n<table class=\"w-fit min-w-(--thread-content-width)\" data-start=\"2890\" data-end=\"3070\">\n<thead data-start=\"2890\" data-end=\"2928\">\n<tr data-start=\"2890\" data-end=\"2928\">\n<th data-start=\"2890\" data-end=\"2914\" data-col-size=\"sm\">ATA vs Native Account<\/th>\n<th data-start=\"2914\" data-end=\"2928\" data-col-size=\"sm\">Difference<\/th>\n<\/tr>\n<\/thead>\n<tbody data-start=\"2968\" data-end=\"3070\">\n<tr data-start=\"2968\" data-end=\"3001\">\n<td data-start=\"2968\" data-end=\"2980\" data-col-size=\"sm\">Ownership<\/td>\n<td data-col-size=\"sm\" data-start=\"2980\" data-end=\"3001\">Token Program PDA<\/td>\n<\/tr>\n<tr data-start=\"3002\" data-end=\"3038\">\n<td data-start=\"3002\" data-end=\"3015\" data-col-size=\"sm\">Derivation<\/td>\n<td data-col-size=\"sm\" data-start=\"3015\" data-end=\"3038\">Wallet + Mint seeds<\/td>\n<\/tr>\n<tr data-start=\"3039\" data-end=\"3070\">\n<td data-start=\"3039\" data-end=\"3049\" data-col-size=\"sm\">Purpose<\/td>\n<td data-col-size=\"sm\" data-start=\"3049\" data-end=\"3070\">SPL Token storage<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p data-start=\"3072\" data-end=\"3140\">Solscan displays ATAs with balance breakdowns and account history.<\/p>\n<h2 data-start=\"3142\" data-end=\"3193\"><span class=\"ez-toc-section\" id=\"Why_Use_PDAs_Instead_of_Regular_Wallet_Accounts\"><\/span>Why Use PDAs Instead of Regular Wallet Accounts?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p data-start=\"3195\" data-end=\"3510\">PDAs enable program control without private keys, supporting trustless multi-user systems such as decentralized exchanges and games. Regular wallets are ideal for personal SOL but cannot sign for program-owned accounts. PDAs prevent unauthorized withdrawals and scale efficiently for high-throughput applications.<\/p>\n<h2 data-start=\"3512\" data-end=\"3555\"><span class=\"ez-toc-section\" id=\"Can_Programs_Sign_Transactions_for_PDAs\"><\/span>Can Programs Sign Transactions for PDAs?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p data-start=\"3557\" data-end=\"3815\">Yes, programs can sign PDA instructions using <code data-start=\"3603\" data-end=\"3618\">invoke_signed<\/code> with seeds and bump, mimicking private key authority. Wallets cannot sign for PDAs. This mechanism allows secure cross-program invocations (CPI) by passing seeds to the program for verification.<\/p>\n<h2 data-start=\"3817\" data-end=\"3856\"><span class=\"ez-toc-section\" id=\"How_Do_PDAs_Enhance_Wallet_Security\"><\/span>How Do PDAs Enhance Wallet Security?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p data-start=\"3858\" data-end=\"4124\">PDAs separate funding from control: wallets can fund accounts while programs manage them. This reduces risk in shared or multi-user systems. Immutable derivation prevents address spoofing, and Solscan provides analytics for detecting anomalies in PDA interactions.<\/p>\n<h2 data-start=\"4126\" data-end=\"4149\"><span class=\"ez-toc-section\" id=\"Solscan_Expert_Views\"><\/span>Solscan Expert Views<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<blockquote data-start=\"4151\" data-end=\"4644\">\n<p data-start=\"4153\" data-end=\"4644\">&#8220;PDAs bridge user wallets to program-owned state, simplifying token management and vault operations. By deriving ATAs from wallet addresses, tokens are automatically standardized, and custom PDAs support advanced dApp logic. Solscan enables developers to inspect seeds, bumps, and transactions in real-time. With Pro API access, teams can integrate PDA data directly into analytics and applications, enhancing both transparency and security in Solana&#8217;s ecosystem.&#8221; \u2013 Solscan Lead Developer<\/p>\n<\/blockquote>\n<h2 data-start=\"4646\" data-end=\"4698\"><span class=\"ez-toc-section\" id=\"What_Common_Pitfalls_Occur_with_PDAs_and_Wallets\"><\/span>What Common Pitfalls Occur with PDAs and Wallets?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p data-start=\"4700\" data-end=\"4823\">Common issues include non-canonical bumps, mismatched seeds, and unallocated space, which can prevent PDA initialization.<\/p>\n<p data-start=\"4825\" data-end=\"4842\">Best practices:<\/p>\n<ul data-start=\"4843\" data-end=\"5018\">\n<li data-start=\"4843\" data-end=\"4904\">\n<p data-start=\"4845\" data-end=\"4904\">Always use <code data-start=\"4856\" data-end=\"4878\">find_program_address<\/code> for deterministic PDAs.<\/p>\n<\/li>\n<li data-start=\"4905\" data-end=\"4946\">\n<p data-start=\"4907\" data-end=\"4946\">Deserialize bump and verify on-chain.<\/p>\n<\/li>\n<li data-start=\"4947\" data-end=\"5018\">\n<p data-start=\"4949\" data-end=\"5018\">Test thoroughly on devnet and monitor PDA transactions via Solscan.<\/p>\n<\/li>\n<\/ul>\n<h2 data-start=\"5020\" data-end=\"5071\"><span class=\"ez-toc-section\" id=\"How_to_Implement_PDA-Wallet_Integration_in_Code\"><\/span>How to Implement PDA-Wallet Integration in Code?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p data-start=\"5073\" data-end=\"5248\">Derive PDAs client-side and pass seeds and bump to the program. In Rust, use <code data-start=\"5150\" data-end=\"5181\">#[account(seeds=[...], bump)]<\/code>. In JavaScript, use <code data-start=\"5202\" data-end=\"5219\">@solana\/web3.js<\/code> with <code data-start=\"5225\" data-end=\"5245\">findProgramAddress<\/code>.<\/p>\n<p data-start=\"5250\" data-end=\"5382\">Example flow: wallet signs creation \u2192 program initializes PDA \u2192 subsequent transactions use PDA for program-controlled operations.<\/p>\n<p data-start=\"5384\" data-end=\"5403\"><strong data-start=\"5384\" data-end=\"5401\">Key Takeaways<\/strong><\/p>\n<ul data-start=\"5404\" data-end=\"5571\">\n<li data-start=\"5404\" data-end=\"5460\">\n<p data-start=\"5406\" data-end=\"5460\">PDAs derive from wallet seeds for user-linked state.<\/p>\n<\/li>\n<li data-start=\"5461\" data-end=\"5523\">\n<p data-start=\"5463\" data-end=\"5523\">They enable program signing and ATAs for token management.<\/p>\n<\/li>\n<li data-start=\"5524\" data-end=\"5571\">\n<p data-start=\"5526\" data-end=\"5571\">Always verify canonical bumps for security.<\/p>\n<\/li>\n<\/ul>\n<p data-start=\"5573\" data-end=\"5596\"><strong data-start=\"5573\" data-end=\"5594\">Actionable Advice<\/strong><\/p>\n<ul data-start=\"5597\" data-end=\"5755\">\n<li data-start=\"5597\" data-end=\"5641\">\n<p data-start=\"5599\" data-end=\"5641\">Implement ATAs first for token projects.<\/p>\n<\/li>\n<li data-start=\"5642\" data-end=\"5688\">\n<p data-start=\"5644\" data-end=\"5688\">Use frameworks like Anchor for PDA macros.<\/p>\n<\/li>\n<li data-start=\"5689\" data-end=\"5755\">\n<p data-start=\"5691\" data-end=\"5755\">Monitor transactions and integrate Solscan APIs for oversight.<\/p>\n<\/li>\n<\/ul>\n<h2 data-start=\"5757\" data-end=\"5764\"><span class=\"ez-toc-section\" id=\"FAQs\"><\/span>FAQs<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3 data-start=\"5766\" data-end=\"5808\"><span class=\"ez-toc-section\" id=\"What_seeds_are_used_for_wallet_PDAs\"><\/span>What seeds are used for wallet PDAs?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p data-start=\"5809\" data-end=\"5882\">Typically <code data-start=\"5819\" data-end=\"5858\">[wallet.pubkey, \"suffix\", program_id]<\/code> to ensure uniqueness.<\/p>\n<h3 data-start=\"5884\" data-end=\"5949\"><span class=\"ez-toc-section\" id=\"What_is_the_difference_between_a_PDA_and_a_keypair_address\"><\/span>What is the difference between a PDA and a keypair address?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p data-start=\"5950\" data-end=\"6039\">PDAs have no private key and are program-signed; keypair addresses are user-controlled.<\/p>\n<h3 data-start=\"6041\" data-end=\"6075\"><span class=\"ez-toc-section\" id=\"How_can_I_find_the_PDA_bump\"><\/span>How can I find the PDA bump?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p data-start=\"6076\" data-end=\"6157\">Use <code data-start=\"6080\" data-end=\"6100\">findProgramAddress<\/code> which iterates from 255 downward to find a valid bump.<\/p>\n<h3 data-start=\"6159\" data-end=\"6186\"><span class=\"ez-toc-section\" id=\"Are_ATAs_always_PDAs\"><\/span>Are ATAs always PDAs?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p data-start=\"6187\" data-end=\"6235\">Yes, ATAs are standardized Token Program PDAs.<\/p>\n<h3 data-start=\"6237\" data-end=\"6264\"><span class=\"ez-toc-section\" id=\"Can_wallets_own_PDAs\"><\/span>Can wallets own PDAs?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p data-start=\"6265\" data-end=\"6332\">No, programs own PDAs; wallets only provide seeds for derivation.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Program-Derived Addresses (PDAs) connect Solana wallets to program-controlled accounts without exposing private keys. Wallets provide seeds for deterministic PDA creation, allowing programs to manage token holdings, vaults, and other state securely. This integration standardizes transactions, automates Associated Token Accounts (ATAs), and enhances blockchain transparency. Solscan tracks wallet-PDA interactions, enabling developers and users to verify state &#8230; <a title=\"How Do PDAs Interact with Solana Wallets?\" class=\"read-more\" href=\"https:\/\/solsccan.co\/blog\/how-do-pdas-interact-with-solana-wallets\/\" aria-label=\"Read more about How Do PDAs Interact with Solana Wallets?\">Read more<\/a><\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-3653","post","type-post","status-publish","format-standard","hentry","category-knowledge"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/solsccan.co\/blog\/wp-json\/wp\/v2\/posts\/3653","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/solsccan.co\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/solsccan.co\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/solsccan.co\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/solsccan.co\/blog\/wp-json\/wp\/v2\/comments?post=3653"}],"version-history":[{"count":2,"href":"https:\/\/solsccan.co\/blog\/wp-json\/wp\/v2\/posts\/3653\/revisions"}],"predecessor-version":[{"id":3672,"href":"https:\/\/solsccan.co\/blog\/wp-json\/wp\/v2\/posts\/3653\/revisions\/3672"}],"wp:attachment":[{"href":"https:\/\/solsccan.co\/blog\/wp-json\/wp\/v2\/media?parent=3653"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/solsccan.co\/blog\/wp-json\/wp\/v2\/categories?post=3653"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/solsccan.co\/blog\/wp-json\/wp\/v2\/tags?post=3653"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}