Skip to main content
comparison48 min read

Software Wallet Comparison

Developer-focused comparison of software wallets with scoring, security audits, and recommendations

Summary: Developer-focused comparison of software wallets with scoring, security audits, and recommendations

Share:

Complete Wallet Comparison

86
✅
~4
✅
✅
📱🌐💻
✅
✅ MIT
🌐 Public
⚠️ Mob
🟢 DeBank
✅
✅
EOA+Safe
⚠️ Import only
✅
Development
82
✅
~3
✅
✅
¹
📱🌐
✅
⚠️ Apache
❌ Closed
✅ 2023
🟢 Binance
⚠️
✅
EOA+7702
✅ Basic
✅
Multi-chain
80
✅
~5
✅
✅
⁵
📱🌐
✅
⚠️ Src-Avail
⚠️ Infura
✅ 2026
🟢 Consensys
⚠️
⚠️
EOA+7702
✅ Full
✅
Compatibility
77
❌
~3
✅
✅
📱🔗†
✅
✅ GPL-3
✅ Open
✅ Certora
🟢 Grants
✅
✅
Safe+4337
✅ Full
✅
Treasury/DAO
75
✅
~2
✅
✅
📱🌐💻§
✅
✅ MPL-2
⚠️ Browser
🐛 H1
🟢 Brave
❌
⚠️
EOA
❌ None
✅
Brave users
71
❌
~2
✅
✅
🌐
✅
✅ GPL-3
❌ Closed
✅ 2025
🟡 VC
✅
✅
7702+4337
✅ Basic
✅
Smart wallet
69
✅
~4
⚠️
✅
📱🌐
✅
✅ GPL-3
❌ Closed
❓ None
🟡 VC
⚠️
⚠️
EOA
✅ Full
✅
NFT/Ethereum
67
✅
~2
✅
❌
📱🌐
✅
⚠️ Partial
⚠️ Limited
❓ Priv
🟢 Coinbase
✅
✅
EOA+4337
✅ Full+cb.id
✅
AA/Production
66
❌
~4
✅
✅
⁴
📱💻
✅
✅ MIT
⚠️ Limited
✅ Ledger
🟢 Ledger
⚠️
⚠️
EOA
❌ None
✅‡
Hardware users
61
✅
?
✅
Private
🔒
²
📱🌐
✅
❌ Prop
❌ Closed
❓ Priv
🟢 OKX
⚠️
⚠️
EOA+7702
❌ None
✅
EIP-7702
60
✅
?
✅
Private
🔒
⁶
📱🌐
❌
❌ Prop
❌ Closed
❓ Priv
🟢 VC ~$268M
✅
✅
EOA
❌ None
⚠️
Solana-first
57
❌
~3
✅
✅
🔗
✅
✅ Apache
⚠️ Partial
✅ 2026
🟡 VC
⚠️
⚠️
4337
❌ None
❌
Gaming/Embed
54
❌
~3
✅
✅
📱🔗
✅
✅ MIT
⚠️ Partial
❓ None
🟢 Self
❌
⚠️
EOA
✅ Full
✅
Ethereum
53
❌
~2
✅
⚠️
³
🌐
✅
✅ MIT
⚠️ Partial
❓ None
🟢 MEW
❌
⚠️
EOA
✅ Basic
✅
Multi-chain ext
52
✅
?
✅
Private
🔒
📱🌐
✅
❌ Prop
❌ Closed
❓ Priv
🟡 VC
❌
⚠️
EOA
✅ Basic
✅
Portfolio
51
❌
~1
⚠️
✅
📱
✅
✅ MPL-2
⚠️ Waku
❓ None
🟢 Status
❌
⚠️
EOA
✅ Basic
✅
Privacy/Messaging
49
❌
0
✅
✅
🌐
✅
✅ GPL-3
⚠️ Alchemy
❓ None
🔴 Grants
❌
⚠️
EOA
❌ None
✅
Community
48
❌
0
✅
❌
🌐
✅
✅ GPL-3
❌ Closed
❓ Fork
🟡 EF
✅
✅
7702+4337
✅ Basic
✅
Experimental
46
✅
?
❌
Private
🔒
⁷
📱🌐💻
❌
❌ Prop
❌ Closed
❓ Priv
🟢 PublicCo
❌
⚠️
EOA
❌ None
✅
Multi-asset desktop
46
❌
~5
⚠️
✅
📱🔗
✅
✅ GPL-3
⚠️ Limited
❓ None
🟢 Uniswap
❌
⚠️
EOA
❌ None
❌
DeFi/Swaps
Gem Wallet (partial data)
45
❌
?
TBD
✅
📱
TBD
✅ GPL-3
TBD
✅ CertiK 2026
🟢 Self
⚠️
⚠️
EOA
✅ Basic
TBD
Unverified: WalletBeat-sourced fields only
PillarX (partial data)
45
✅
?
TBD
⚠️
📱🌐
TBD
✅ MIT
TBD
❓ None
🔴 Unknown
TBD
TBD
EOA+7702
TBD
TBD
Unverified: WalletBeat-sourced fields only
44
✅
~2
✅
⚠️
🌐
✅
✅ MPL-2
❌ Closed
❓ None
🔴 Unknown
❌
⚠️
EOA
❌ None
✅
Stability
Zeus (partial data)
42
❌
?
TBD
✅
💻
TBD
✅ MIT
TBD
❓ None
🟢 Self
✅
⚠️
EOA
TBD
TBD
Unverified: WalletBeat-sourced fields only
41
❌
~1
✅
❌
💻⚡
✅
✅ GPL-3
✅ None
❓ None
🔴 Donate
✅
⚠️
EOA
❌ None
✅
Desktop
41
✅
?
TBD
Private
🔒
📱🌐
TBD
❌ Prop
TBD
🐛 Immunefi
🟢 Self
TBD
TBD
EOA
TBD
TBD
Unverified: WalletBeat-sourced fields only
38
⚠️
~1
✅
❌
📱🌐⁂
✅
⚠️ Src-Avail
❌ Closed
❓ None
🔴 VC
❌
⚠️
4337
❌ None
✅
Starknet (now Ready)
Bitget Wallet (partial data)
38
✅
?
TBD
Private
🔒
📱🌐
TBD
❌ Prop
TBD
🐛 Bugrap
🔴 Unknown
TBD
❌
EOA
TBD
TBD
Unverified: WalletBeat-sourced fields only
33
❌
~1
✅
❌
📱
✅
⚠️ Apache
❌ Closed
⚠️ 2018
🟡 VC
❌
⚠️
EOA
✅ Basic
⚠️
Multi-chain
31
❌
?
⚠️
Private
🔒
📱
✅
❌ Prop
⚠️ DEX API
❓ Priv
🟢 Token
❌
⚠️
EOA
❌ None
❌
DeFi
29
❌
~2
❌
❌
📱
❌
✅ GPL-3
❌ Closed
✅ 2023
🟡 VC
❌
⚠️
4337
✅ Basic
❌
Payments (discontinued)
27
❌
~2
✅
❌
🌐
✅
⚠️ Src-Avail
❌ Closed
❓ None
🔴 Unknown
❌
⚠️
EOA
❌ None
✅
Stability
NuFi (partial data)
20
❌
?
TBD
❌
🌐
TBD
❌ Prop
TBD
❓ None
🟢 Self
TBD
TBD
EOA+7702
TBD
✅
Unverified: WalletBeat-sourced fields only

Scoring note: Score and Rec are generated from the visible columns above using scripts/sync_table_scores.js and methodology version 2026-04-visible-columns-v3. They should not be hand-edited. Coinbase Active is hand-set (❌): the GitHub link is the coinbase-wallet-sdk repo, not the wallet app (closed source). Its last release was Jun 2025 and Coinbase now points integrators to @base-org/account (base/account-sdk) as the current SDK, so repo commits do not show the wallet is maintained. scripts/apply_activity.js skips this status cell (KEEP_STATUS); the other columns still refresh.

Details

📊 View the comparison table: See all wallets at a glance →

Source of truth note: Current Score and Rec values are generated from the visible columns in SOFTWARE_WALLETS.md via scripts/sync_table_scores.js (2026-04-visible-columns-v3). If a long-form section below mentions older numeric scores, trust the main comparison table.

TL;DR: The generated snapshot below mirrors the current main-table ordering and scores. Use it for the latest rankings; the long-form sections below explain audits, integration tradeoffs, and developer workflow details.

Current generated snapshot: Rabby (86, Development, 🟢), Trust (82, Multi-chain, 🟢), MetaMask (80, Compatibility, 🟢), and Safe (77, Treasury/DAO, ⚪). Regenerated from SOFTWARE_WALLETS.md by scripts/sync_table_scores.js using methodology 2026-04-visible-columns-v3.

Current Top Rows (generated)

RankWalletScoreBest ForRec
1Rabby86Development🟢
2Trust82Multi-chain🟢
3MetaMask80Compatibility🟢
4Safe77Treasury/DAO⚪
5Brave75Brave users🟢

Data Sources: GitHub REST API (stars, issues, last commit; refreshed weekly), WalletBeat (Dec 2025)

Related: See Hardware Wallet Comparison for cold storage recommendations.


✅ Top Picks (mobile + browser extension)

WalletScoreRel/MoRecBest For
Rabby86~4🟢Development: tx simulation catches bugs before mainnet
MetaMask80~5🟢Compatibility testing: widest support, highest churn
Brave75~2🟢Stability: built into the browser
Trust82~3🟢Multi-chain production use
Coinbase67~2🔴Account abstraction (EIP-4337)
Rainbow69~4🟢NFT and Ethereum use

Good wallets that miss the core criteria

  • Safe (77): treasury and DAO multisig. No browser extension.
  • Ambire (71): smart wallet, EIP-7702 + 4337. No mobile app.
  • Ledger Live (66): for hardware wallet users.
  • Enkrypt (53): multi-chain testing, extension only.

Avoid (inactive or abandoned)

  • Block: abandoned; source-available, non-commercial licence.
  • Frame: inactive since Feb 2025.
  • Argent (now Ready): inactive repo, Starknet-only desktop.
  • imToken: inactive (see Last Commit in the GitHub Metrics table).

MetaMask: why it sits below Rabby

  • ~5 releases/month (15 GitHub releases in the last 90 days): the highest churn in the table.
  • Frequent breaking changes need constant retesting.
  • Positive: audited in Apr 2025 (Diligence, Cure53, Cyfrin).

WalletStatusAlternative
Block Wallet❌ No commits since Nov 2024Rainbow, Enkrypt
Frame❌ No commits since Feb 2025Rabby
Argent-X❌ No commits since Mar 2025Safe
Coinbase SDK⚠️ Slow; no release since Jun 2025, superseded by Base Account SDKTrust Wallet

🧭 Which Wallet Should I Use?

START HERE
    │
    ▼
┌─────────────────────────────────┐
│ Building a dApp / Development?  │
└─────────────────────────────────┘
    │ YES                    │ NO
    ▼                        ▼
  RABBY ────────────► Need multi-sig / enterprise?
  (tx simulation)           │
                     YES ◄──┴──► NO
                      │           │
                      ▼           ▼
                    SAFE    Need Account Abstraction?
                 (multi-sig)      │
                           YES ◄──┴──► NO
                            │           │
                            ▼           ▼
                      ┌─────────┐   Need 100+ chains?
                      │ AMBIRE  │       │
                      │ (7702)  │ YES ◄─┴──► NO
                      │   or    │  │          │
                      │  SAFE   │  ▼          ▼
                      │ (4337)  │ TRUST    Simple & 
                      └─────────┘ WALLET   reliable?
                                           │
                                    YES ◄──┴──► NO
                                     │          │
                                     ▼          ▼
                                  RAINBOW    Privacy
                                  (simple)   focused?
                                              │
                                       YES ◄──┴──► NO
                                        │          │
                                        ▼          ▼
                                      TAHO     ENKRYPT
                                   (community) (multi-chain)

Quick Decision Guide

Your NeedBest ChoiceWhy
dApp DevelopmentRabbyTransaction simulation catches bugs before mainnet
Enterprise / TreasurySafeMulti-sig, audited, battle-tested
EIP-7702 / Cutting EdgeMetaMask, Ambire, Trust, OKX4 wallets support 7702
Simple & ReliableRainbowExcellent code quality (1.0% issue ratio)
Maximum ChainsTrust Wallet163 chains supported
Privacy FocusedTahoCommunity-owned, open source
Stablecoin PaymentsDaimoPure EIP-4337, low fees on Base
Just Works™EnkryptLow issue ratio, actively maintained
Compatibility TestingMetaMaskMost widely supported (test last)

Common Integration Pitfalls

  1. Don't assume MetaMask behavior is standard — Other wallets may handle edge cases differently
  2. Test transaction simulation — Only Rabby and Frame have this; don't rely on it everywhere
  3. EIP-6963 adoption is incomplete — Always fall back to window.ethereum
  4. Mobile ≠ Desktop — Same wallet can behave differently across platforms
  5. Hardware wallet connection varies — WebUSB vs Bluetooth vs QR vs WalletConnect
  6. Desktop-Mobile Sync — Most wallets don't automatically sync between desktop and mobile. Users can import the same seed phrase on both platforms to access the same accounts, but transactions and state don't sync in real-time.

Integration Best Practices

  1. Use EIP-6963 for wallet detection (modern standard, but always fall back to window.ethereum)
  2. Use EIP-712 for message signing — Enables human-readable display (foundational for clear signing)
  3. Consider EIP-7730 for enhanced clear signing — Provides formatting metadata for better display (especially important for hardware wallets like Ledger)
  4. Support multiple wallets — Don't lock users into one wallet
  5. Test with multiple wallets — Each has quirks and edge cases
  6. Handle errors gracefully — Wallet errors vary significantly between implementations
  7. Provide clear error messages — Help users debug connection issues
  8. Test on both desktop and mobile — User experiences differ across platforms
  9. Monitor wallet updates — Breaking changes happen, especially with high-release-frequency wallets
  10. Use TypeScript — Catch integration issues early with type checking
  11. Document wallet-specific quirks — Save time for future maintenance
  12. Consider wallet abstraction libraries — wagmi, ethers.js, viem reduce dependency on specific wallets

Stability Maintenance

  1. Pin wallet versions in development (if possible)
  2. Monitor release notes for breaking changes
  3. Test after wallet updates before deploying to production
  4. Have fallback wallets — Don't depend on a single wallet
  5. Track wallet issues — Monitor GitHub, Discord, and community forums
  6. Consider wallet abstraction — Reduces dependency on specific wallet implementations

Column Definitions

Complete explanations for all table columns:

ColumnValuesMeaning
Score0-100Weighted score prioritizing core criteria, stability, and developer experience. See Scoring Methodology
Core✅ / ⚠️ / ❌✅ = Has BOTH mobile + browser extension (core criteria)
Rel/MoNumber or ?Releases per month (lower = more stable; MetaMask ~8/mo is high churn)
RPC✅ / ⚠️ / ❌✅ = Custom RPC support
ChainsNumber, 10+, Any, EVM, ETH+Built-in chain count. Exact numbers (94, 163) = verified count. 10+, 20+ = at least X. Any = unrestricted custom RPC. EVM = any EVM chain. ETH+ = Ethereum + L2s. Sources: Rabby API, Trust registry
Devices📱🌐💻🔗⚡📱 = Mobile app
Testnets✅ / ❌✅ = Custom chain/testnet support
License✅ / ⚠️ / ❌✅ = FOSS (MIT, GPL, MPL, Apache)
Audits✅ / ⚠️ / ❓ / 🐛✅ = Recent (2023+)
Funding🟢 / 🟡 / 🔴🟢 = Sustainable
Tx Sim✅ / ⚠️ / ❌✅ = Built-in transaction simulation
Scam✅ / ⚠️ / ❌✅ = Built-in scam/phishing alerts
AccountEOA, Safe, 4337, 7702, combinationsEOA = Standard Externally Owned Account
ENS/Naming✅ Full / ✅ Basic / ⚠️ / ❌✅ Full = Mainnet ENS + subdomains
HW✅ / ⚠️ / ❌✅ = Hardware wallet support (Ledger/Trezor)
Active✅ / ⚠️ / ❌ / 🔒✅ = Active (≤30 days since last commit)
Rec🟢 / 🟡 / 🔴 / ⚪🟢 = Top half of active developer-fit rows

Special Notes:

  • † Safe is web app only — requires WalletConnect
  • § Brave Wallet is built into Brave browser
  • ‡ Ledger Live is hardware wallet companion
  • ⁂ Argent desktop extension is Starknet-only
  • Strikethrough = was recommended, now inactive

Tracked EIPs: EIP-712 (Typed Data), EIP-2612 (Permit), EIP-4337 (Account Abstraction), EIP-5792 (Wallet Call API), EIP-7702 (Set EOA Code) — see EIP Support Matrix


Wallet Features Matrix

Feature comparison across account types, hardware wallet support, ENS, and browser integration.

Wallets to Watch for Future 7702 Support

WalletStatusEvidence
Uniswap🔬 Contract deployedCalibur v1.0.0 on mainnet, audited by OpenZeppelin & Cantina
Bitget📡 On 7702 BeatListed on swiss-knife.xyz/7702beat, no official announcement
Coinbase⏳ ExpectedHas EIP-4337; 7702 likely coming

Wallets are only added to the "Supported" table when verified by awesome-eip-7702 or official announcement.


WalletBeat Data Categories

WalletBeat tracks detailed technical information not found elsewhere:

CategoryFeatures Tracked
ENSMainnet, Subdomains, Offchain, L2s, Custom domains, Usernames
BackupCloud Backup, Manual Backup, Social Recovery
SecurityMultisig, MPC, Key Rotation, Transaction Scanning, Spending Limits, Hardware wallet support
ConnectionWalletConnect, Injected provider (EIP-1193/6963), In-App Browser
DevicesMobile, Browser extension, Desktop
Account TypeEOA, EIP-4337, Safe
ModularityPlugin/module support
TestnetsTestnet compatibility
LicenseOpen Source, Source Visible, Proprietary

Gap: No existing resource tracks release frequency, code quality, or developer experience. This document fills that gap with GitHub metrics and stability analysis.


Use Wallet Abstraction

bun add wagmi viem

Abstract wallet dependencies so you're not locked to any single wallet. See Integration Best Practices for detailed guidance.

Prioritize Wallets in This Order

  1. Developer-friendly wallets (Rabby, Safe)
  2. Stable & active wallets (Rainbow, Enkrypt, Trust Wallet)
  3. MetaMask (for compatibility only)

Test With Multiple Wallets

Each wallet has quirks. Test your dApp with at least 3 wallets before production.


Recheck log (2026-10-17)

Primary sources fetched in this pass. Anything not listed here keeps its 2026-10-15 value.

ItemResultSource
Coinbase Wallet / Base AppName unchanged. Base App was renamed back to Coinbase Wallet on 2026-09-10; wallet.coinbase.com and base.app both show "Coinbase Wallet". Row kept, URL now wallet.coinbase.com (coinbase.com/wallet returns 403 to bots). The rename is reported by The Block (Sep 10, 2026) and Crowdfund Insider (Sep 11, 2026), which embeds the official @coinbasewallet post "Base App is now Coinbase Wallet".https://wallet.coinbase.com/, https://base.app/, https://theblock.co/news/defi/2026-09-10-coinbase-rebrands-base-app-back-to-coinbase-wallet-after-just-over-a-year-as-social-experiment-falls-short-414115
Trust Tx Sim / ScamTx Sim ❌ -> ⚠️ (built-in simulation, supported networks only, list not published); Scam ⚠️ -> ✅ (destination screening against scam and drainer databases). Published Aug 13, 2026.https://trustwallet.com/blog/security/how-trust-wallet-security-scanner-works
Ledger Live Tx Sim❌ -> ⚠️: Transaction Check simulates EVM transactions, opt-in, needs a Ledger device. App is now branded Ledger Wallet (ex. Ledger Live).https://www.ledger.com/academy/glossary/transaction-check, https://shop.ledger.com/pages/ledger-wallet
Rabby auditsNewest reports Oct 9, 2026 (Least Authority) and Aug 24, 2026 (SlowMist) for extension and mobile; unresolved/partial counts read from the PDFs.https://github.com/RabbyHub/Rabby/tree/develop/audits/2026, https://github.com/RabbyHub/rabby-mobile/tree/develop/audits/2026
MetaMask auditsDelegation framework has Cyfrin reports dated 10-26, 5-26, 4-26 and Diligence 4-25. Table cell year 2025 -> 2026.https://github.com/MetaMask/delegation-framework/tree/main/audits
Gem Wallet auditCertiK April 2026 confirmed.https://github.com/gemwalletcom/wallet (README), https://gemwallet.com/
Phantom fundingSeries A $9M (Jul 2021) + Series B $109M (Jan 2022) + Series C $150M at $3B (Jan 16, 2025); cell shows ~$268M.https://www.theblock.co/post/335305/phantom-wallet-raises-150-million-at-3-billion-valuation
Argent -> Readyargent.xyz redirects to www.ready.co; the page does not state the rebrand, which is reported by secondary sources. Row kept as Argent (now Ready).https://www.ready.co/
Link fixes1inch.io/wallet -> 1inch.com/wallet; phantom.app -> phantom.com; okx.com/web3 -> web3.okx.com; ledger.com/ledger-live -> shop.ledger.com/pages/ledger-wallet; explorer.walletconnect.com -> walletguide.walletconnect.com; viem.sh/experimental/eip7702 -> viem.sh/docs/eip7702; consensys.io/privacy-policy -> metamask.io/privacy-notice; Rabby, OKX and Zerion privacy pages replaced. Enkrypt has no findable privacy page (404 on enkrypt.com/privacy-policy and /privacy), so the hyperlink was removed.all HTTP 200 on 2026-10-17 except Enkrypt

Pass 3 (2026-10-17, UNVERIFIED sweep):

ItemResultSource
Rainbow Tx Sim❌ -> ⚠️ (score 64 -> 69). The mobile app source calls the backend simulateTransactions / simulateMessage for dapp requests and shows simulated events and a scan result in SignTransactionSheet. Marked ⚠️, not ✅: supported networks are not published and the extension was not checked. Scam stays ⚠️ (the scan result is returned but its scope is undocumented).https://github.com/rainbow-me/rainbow/blob/master/src/resources/transactions/transactionSimulation.ts, https://github.com/rainbow-me/rainbow/tree/master/src/features/dapp-request/screens
Brave Tx SimConfirmed ❌, no change. kBraveWalletTransactionSimulationsFeature is FEATURE_DISABLED_BY_DEFAULT in brave-core; the opt-in setting exists but the feature ships off.https://github.com/brave/brave-core/blob/master/components/brave_wallet/common/features.cc
Sequence audit year2024 -> 2026. The v3 wallet contracts repo holds Certora (audit window 2026-04-29 to 2026-05-27), Code4rena (2025-10-07 to 2025-10-22), Consensys (April-May 2025) and Quantstamp (2025-07-08 to 2025-08-13); dates read from the PDFs.https://github.com/0xsequence/wallet-contracts-v3/tree/master/audits

Unverified after this pass (old value kept):

  • MetaMask Tx Sim: support page says Ethereum mainnet only (search snippet, page not fetched in full); cell unchanged at ⚠️.
  • Coinbase audits: the app has no public report; the separate smart-wallet contracts have public Cantina, Certora and Code4rena reports. Cell left at ❓ Priv for an owner decision.
  • imToken privacy link (token.im/privacy): HTTP 403 Cloudflare challenge in plain and headless Chromium fetches, not a 404. Link kept.
  • Private-repo wallets (OKX, Phantom, Zerion, Exodus, 1inch, Bitget, Mt Pelerin) and Rel/Mo for bursty or multi-product repos (Brave, Ambire, Ledger, Gem, Uniswap, Sequence, Trust, Rainbow, Safe, MEW, imToken, Enkrypt): unchanged. Release counts from the GitHub API over 90 days (Ambire 50, Ledger 34, Gem 84, Brave 100+) are not comparable with the table's Rel/Mo.
  • HW, API, ENS columns and chain lists for all rows: not re-fetched.

Last updated: October 17, 2026 (Trust and Ledger Live security columns, Rabby and MetaMask audit dates, Phantom funding, GitHub metrics and external links re-checked; see the Recheck log). Earlier: October 15, 2026 (GitHub metrics, licences, activity and Rel/Mo re-checked against the GitHub API; Daimo archived Feb 18, 2026; Status moved to status-im/status-app, legacy repo archived Jul 22, 2026). Earlier note, December 16, 2025. Full wallet validation: Wigwam and Taho resumed active development; GitHub metrics refreshed for all 25 wallets. Kohaku (ethereum/kohaku-extension) added as an Ethereum-maintained Ambire-derived experimental wallet marked with ∆. Data from WalletBeat, awesome-eip-7702, 7702 Beat, and GitHub API.

Merchant Feed (SEO agents)Click to expand

Merchant feed not available for this category. The feed covers hardware wallets only. See Hardware Wallets for merchant-center.xml.