Skip to content

Commit b7b89a7

Browse files
authored
Merge branch 'main' into wallet-send-calls
2 parents 005f7d5 + 6aff4e3 commit b7b89a7

File tree

16 files changed

+259
-39
lines changed

16 files changed

+259
-39
lines changed

.cspell.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
"tictactoe", "dollar", "supabase", "Frontmatter", "LLMSTXT", "tokenpocket", "imtoken", "kraken", "ronin", "exodus", "argent", "zerion", "oneinch", "crypto-com", "imtoken", "kraken", "ronin", "robinhood", "exodus", "argent", "tokenpocket",
3939
"nosocial", "bitget", "leather", "binance", "uniswap", "safepal", "bybit", "phantom", "ledger", "timeless-x", "safe", "zerion", "oneinch", "crypto-com", "imtoken", "kraken", "ronin", "robinhood", "exodus", "argent", "tokenpocket", "Contractaddress",
4040
"executionreverted", "FATF", "VASP", "LLMSTXT", "Frontmatter", "CASP", "DKMS", "hydradx", "phala", "astar", "mangata", "polkadotjs", "Dogecoin", "Blockbook", "vuejs", "xsmall", "rgba", "mintlify", "filteredwallets",
41-
"tnum","minmax","toolkits", "autoplay", "Litoshi", "Litoshis", "encryptor's", "Everscale", "Bitcore", "satoshis", "Parachain", "Bitcore", "walletlist", "Userflow", "retryable", "USDS", "Arbitrum", "Wolfswap"
41+
"tnum","minmax","toolkits", "autoplay", "Litoshi", "Litoshis", "encryptor's", "Everscale", "Bitcore", "satoshis", "Parachain", "Bitcore", "walletlist", "Userflow", "retryable", "USDS", "Arbitrum", "Wolfswap", "Halborn", "Pentest", "Spearbit"
4242
]
4343
}
4444

advanced/multichain/rpc-reference/near-rpc.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ The result of `signTransaction` and is encoded [SignedTransaction](https://nomic
142142
"method": "near_signTransaction",
143143
"params": {
144144
"transaction": {
145-
"type": "Buffer",
145+
"type": "Buffer",
146146
"data": [32, 0, 0, 0, 100, 101, 118, 45, 49, 54, 55, 49, 51, 56, 55, 51, 57, 56 ...]
147147
}
148148
}
@@ -153,7 +153,7 @@ The result of `signTransaction` and is encoded [SignedTransaction](https://nomic
153153
"id": 1,
154154
"jsonrpc": "2.0",
155155
"result": {
156-
"type": "Buffer",
156+
"type": "Buffer",
157157
"data": [32, 0, 0, 0, 100, 101, 118, 45, 49, 54, 55, 49, 51, 56, 55, 51, 57, 56 ...]
158158
}
159159
}
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
---
2+
title: Security Information
3+
---
4+
5+
Security is not just a feature but a fundamental aspect of Reown's architecture. The infrastructure has undergone multiple rounds of third-party security reviews, audits, penetration testing, and threat modeling to ensure the highest standards of protection. Security is viewed as a continuously evolving discipline, with regular system audits to identify and address potential vulnerabilities.
6+
7+
## AppKit - Embedded Wallet Key Management
8+
9+
### Architecture and Custody
10+
AppKit Embedded wallets enable applications to provide end-users with a quick onboarding experience by provisioning a non-custodial wallet through social login or email wallets. While the implementation varies per network, Reown relies on a SOC 2 Type 2 compliant third-party vendor for key management. The vendor's [security overview](https://magic.link/docs/home/security/product-security) and [list of audits](https://magic.link/docs/home/security/security-compliance) are available in their documentation.
11+
12+
For a subset of EVM Networks, gas abstraction functionality requires deploying a Smart Account on behalf of the end-user. In this case, the key management provider acts as a signer for this Smart Account. Reown relies on a third-party vendor for the Smart Account implementation. The [Smart Account implementation audits](https://docs.safe.global/smart-account-audits) are available in their documentation.
13+
14+
### Key Export
15+
Reown enables end-users to export their keys when needed.
16+
17+
### Audits
18+
Both the key management vendors and Smart Account vendors have undergone multiple audits (see links above). The integration of the key management provider into AppKit has been audited by Halborn. The complete audit report is available [here](https://drive.google.com/file/d/1LQ6BkcI4PHs_FKAzpCRMqwD--rq6uOy6/view).
19+
20+
## WalletKit
21+
22+
### Architecture
23+
WalletKit provides an end-to-end encrypted solution for wallets to connect to applications and sign messages/transactions. As an open-source SDK, it supports multiple transport methods, from WebSockets to Universal Links.
24+
25+
### Handshake & End-to-End Encryption
26+
For a detailed overview of the handshake and end-to-end encryption protocol, refer to the [technical specification](https://specs.walletconnect.com/2.0/specs/clients/sign/session-proposal).
27+
28+
### Audits
29+
WalletKit, including its encryption stack, was audited by Trail of Bits. The audit report is available [here](https://github.com/trailofbits/publications/blob/master/reviews/2023-03-walletconnectv2-securityreview.pdf). This comprehensive security review covered the source code and included a lightweight Threat Model covering upstream and downstream dependencies. The broader WalletConnect system underwent Threat Modeling by Spearbit. The threat model is available [here](https://drive.google.com/file/d/1QpPSLvCEMunaYHHBPN0g6kYd39uFxpPk/view).
30+
31+
### Dependencies
32+
WalletKit's design philosophy prioritizes minimizing third-party dependencies to reduce the attack surface area.
33+
34+
## Third-Party Reviews
35+
36+
The security infrastructure of Reown has undergone multiple rounds of audits by independent security auditing firms, including Trail of Bits, Halborn, and Spearbit. These audits cover both AppKit and WalletKit, along with a comprehensive company-wide Threat Model.
37+
38+
| Audit Scope | Auditor | Report |
39+
| --- | --- | --- |
40+
| WalletConnect Comprehensive Threat Model | Spearbit | [View Report](https://drive.google.com/file/d/1QpPSLvCEMunaYHHBPN0g6kYd39uFxpPk/view) |
41+
| AppKit Embedded Wallet Integration Pentest | Halborn | [View Report](https://drive.google.com/file/d/1LQ6BkcI4PHs_FKAzpCRMqwD--rq6uOy6/view) |
42+
| WalletKit Security Review & Lightweight Threat Model | Trail of Bits | [View Report](https://github.com/trailofbits/publications/blob/master/reviews/2023-03-walletconnectv2-securityreview.pdf) |
43+
44+
## Bug Bounty Program
45+
46+
Reown maintains an active bug bounty program to encourage security researchers to responsibly disclose vulnerabilities and help strengthen the systems. For more information, visit the [security text file](https://reown.com/.well-known/security.txt) or the [security page](https://reown.com/security).
47+
48+
## Get in Touch
49+
50+
For security-related inquiries, please visit the [security contact page](https://reown.com/security).

appkit/authentication/siwx/default.mdx

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,10 +43,6 @@ Read more about the [Default Implementation](./siwx-default).
4343

4444
The Cloud Auth SIWX is a predefined implementation of the SIWX configuration plugin that uses the Cloud service to create and manage SIWX messages and sessions. With Cloud Auth SIWX, you will be able to see and control the sessions of your users using the [User Management Dashboard](/cloud/user-management).
4545

46-
<Note>
47-
Cloud Auth SIWX is only available for `eip155` compatible networks.
48-
</Note>
49-
5046
Read more about the [Cloud Auth Implementation](./siwx-cloud-auth).
5147

5248
### Custom Implementation

appkit/faq.mdx

Lines changed: 149 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,149 @@
1+
---
2+
title: "AppKit FAQs"
3+
sidebarTitle: "FAQs"
4+
---
5+
6+
This FAQ section covers common questions and solutions for using AppKit. The questions are organized into three main categories:
7+
8+
- **Configuration**: Questions about setting up AppKit, including project configuration, wallet visibility, and RPC customization.
9+
- **Features**: Information about AppKit's capabilities, including off-ramp support, multi-wallet address retrieval, and branding options.
10+
- **Technical**: Technical details about project approval requirements and initialization constraints.
11+
12+
## AppKit Configuration
13+
14+
<AccordionGroup>
15+
<Accordion title="Why am I seeing an 'Invalid App Configuration' error?">
16+
<img src="/images/faq/invalidAppConfiguration.png" />
17+
18+
This error typically occurs when the `projectId` is not configured correctly. To resolve this:
19+
20+
1. Create a valid project ID at [https://cloud.reown.com/](https://cloud.reown.com/)
21+
2. Add it to your AppKit configuration:
22+
23+
```javascript
24+
const modal = createAppKit({
25+
...
26+
projectId: "..." // Add your valid projectId here
27+
});
28+
```
29+
3. Ensure that you have added your domain to the allowed domains in your project settings. If you have not done so, you can do so by navigating to **"Project Domains"** on the Dashboard, clicking on **"Configure Domains"** and adding your domain.
30+
</Accordion>
31+
32+
<Accordion title="Why can't I see any wallets in the modal and only see the 'Connect Wallet' title?">
33+
**Problem**: Users only see the "Connect Wallet" title in the modal after clicking the connect button.
34+
35+
**Solution**: This issue typically has two possible causes:
36+
37+
1. **Version Mismatch**: Ensure all @reown libraries use the same version in your `package.json`:
38+
39+
```json
40+
{
41+
"dependencies": {
42+
"@reown/appkit": "1.7.8",
43+
"@reown/appkit-adapter-wagmi": "1.7.8"
44+
// ... other dependencies
45+
}
46+
}
47+
```
48+
49+
2. **Initialization Location**: Call `createAppKit` outside of your component to ensure proper initialization:
50+
51+
```javascript
52+
// Create modal
53+
createAppKit({
54+
adapters: [wagmiAdapter],
55+
...generalConfig,
56+
features: {
57+
analytics: true // Optional - defaults to your Cloud configuration
58+
}
59+
})
60+
61+
export function App() {
62+
return (
63+
<WagmiProvider ...>
64+
<QueryClientProvider ...>
65+
<appkit-button />
66+
</QueryClientProvider>
67+
</WagmiProvider>
68+
)
69+
}
70+
```
71+
</Accordion>
72+
73+
<Accordion title="How can I use custom RPCs with AppKit?">
74+
You can use your own RPC by setting the `customRpcUrls` option in the AppKit configuration. This lets you define custom RPC URLs for specific chains. Each entry must follow the format:
75+
76+
```javascript
77+
customRpcUrls: {
78+
[ChainId.Ethereum]: 'https://your.custom.rpc.url',
79+
[ChainId.Polygon]: 'https://your.polygon.rpc.url'
80+
}
81+
```
82+
83+
AppKit will prioritize these URLs over the default ones.
84+
</Accordion>
85+
</AccordionGroup>
86+
87+
## Features
88+
89+
<AccordionGroup>
90+
<Accordion title="When will Reown support off-ramp functionality?">
91+
Reown currently does not plan to support off-ramp functionality.
92+
</Accordion>
93+
94+
<Accordion title="How do I get retrieve multiple addresses from multiple connected wallets?">
95+
To retrieve addresses from multiple connected wallets, refer to our multichain example:
96+
97+
- [Live Demo](https://appkit-web-examples-react-multichain.reown.com/)
98+
- [Source Code](https://github.com/reown-com/appkit-web-examples/tree/main/react/react-multichain)
99+
100+
Example using React SDK:
101+
102+
```javascript
103+
import { useAppKitAccount } from '@reown/appkit/react'
104+
105+
// Get account states for different chains
106+
const eip155AccountState = useAppKitAccount({ namespace: 'eip155' })
107+
const solanaAccountState = useAppKitAccount({ namespace: 'solana' })
108+
```
109+
110+
```javascript
111+
<>
112+
EVM Address: {eip155AccountState.address}<br />
113+
Solana Address: {solanaAccountState.address}<br />
114+
</>
115+
```
116+
</Accordion>
117+
118+
<Accordion title="How do I remove the 'UX by Reown' branding?">
119+
Currently, only enterprise clients can hide "UX by Reown" on the AppKit modal by adjusting this option on our Dashboard. If you are an enterprise client and would like to hide this branding, please contact sales@reown.com.
120+
</Accordion>
121+
122+
<Accordion title="How do I increase my project's RPC limits?">
123+
Reown currently provides 2.5 million requests per 30 days. If you wish to increase this limit, you need to upgrade to AppKit Pro.
124+
</Accordion>
125+
</AccordionGroup>
126+
127+
## Technical
128+
129+
<AccordionGroup>
130+
<Accordion title="Do I need to wait for Web3 app approval before using my projectId?">
131+
No, dApps do not need approval in order to use your projectId.
132+
</Accordion>
133+
134+
<Accordion title="Can I reinitialize AppKit with different network configurations?">
135+
Currently, `createAppKit` can only be called once during the application's lifecycle.
136+
It cannot be lazily initialized and then torn down for re-initialization.
137+
This means you must pass in all the networks you plan to support during the initial setup.
138+
</Accordion>
139+
</AccordionGroup>
140+
141+
## Support
142+
143+
<AccordionGroup>
144+
<Accordion title="How do I get technical support for AppKit?">
145+
Free tier AppKit customers only are only entitled to support via [Discord](https://discord.gg/reown). Please join the Discord server and create a forum post **#developers-forum** and the team will get back to you.
146+
147+
AppKit Pro and Enterprise customers get priority support via dedicated channels.
148+
</Accordion>
149+
</AccordionGroup>

appkit/features/sponsored-transactions.mdx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@ title: Sponsored Transactions
33
sidebarTitle: Gas Sponsorship
44
---
55

6+
<Note>
7+
Currently in limited beta and available by invitation only. Request early access via our [Dashboard](https://dashboard.reown.com).
8+
</Note>
9+
610
Sponsored transactions is an umbrella term for multiple methods of utilizing
711
[ERC 7677](https://eips.ethereum.org/EIPS/eip-7677) paymasters that allow a dapp
812
to cover the gas fees for the transaction of a wallet.

appkit/payments/one-click-checkout.mdx

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,3 @@ Perfect for merchants and payment providers who want to **maximize conversions**
2929

3030
We recommend checking with us to ensure that target wallet providers support the necessary functionality. If you are interested in getting early access or learning more, please reach out to us at sales@reown.com.
3131
</Note>
32-
33-
## Demo
34-
35-
Want to see AppKit Pay One-Click Checkout in action? Try out the live demo to experience Reown AppKit Pay One-Click Checkout flow firsthand.
36-
37-
<CardGroup cols={2}>
38-
<Card icon="flask" title="Try Demo" href="https://appkit-lab.reown.com/library/pay-default/?utm_source=appkit-one-click-checkout&utm_medium=docs&utm_campaign=backlinks" external />
39-
</CardGroup>

appkit/payments/pay-with-exchange.mdx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ With **72% of crypto users holding funds on exchanges**, **Pay with Exchange** h
3232
Want to see AppKit Pay with Exchange in action? Try out the live demo to experience Reown AppKit's AppKit Pay with Exchange flow firsthand.
3333

3434
<CardGroup cols={2}>
35-
<Card icon="flask" title="Try Demo" href="https://appkit-lab.reown.com/library/pay-default/?utm_source=appkit-pay-with-exchange&utm_medium=docs&utm_campaign=backlinks" external />
35+
<Card icon="flask" title="Try Demo" href="https://appkit-web-examples-pay.reown.com/?utm_source=appkit-pay-with-exchange&utm_medium=docs&utm_campaign=backlinks" external />
3636
</CardGroup>
3737

3838
## Networks and Assets Supported
@@ -46,10 +46,14 @@ Currently, AppKit Pay with Exchange and Self-Custodial Wallets supports the foll
4646
- USDT -> Ethereum
4747

4848
**Binance**
49-
- USDC -> Ethereum, Optimism, Arbitrum, Base, Polygon
49+
- USDC -> Ethereum, Optimism, Arbitrum, Base, Polygon, Solana
5050
- USDT -> Ethereum, Optimism, Arbitrum, Polygon, Solana
5151
- Native Solana
5252

53+
<Note>
54+
Currently, USDC and USDT on Solana is only available via Pay with Exchange. It will soon be available via Pay with Self-Custodial Wallets.
55+
</Note>
56+
5357
**Both EVM and Solana networks and their assets can be added, subject to exchange compatibility.**
5458

5559
For access to additional networks or assets, please contact sales@reown.com.

appkit/react-native/core/options.mdx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,9 @@ Set or override the images of any connector.
254254
```ts
255255
createAppKit({
256256
connectorImages: {
257-
coinbaseWallet: "https://images.mydapp.com/coinbase.png",
257+
// EIP6963 wallets (announced wallets use RDNS)
258+
'io.coinbase': "https://images.mydapp.com/coinbase.png",
259+
// Other wallets (use normal connector IDs)
258260
walletConnect: "https://images.mydapp.com/walletconnect.png",
259261
appKitAuth: "https://images.mydapp.com/auth.png",
260262
},

appkit/upgrade/wcm.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@ const cosmos = defineChain({
226226
rpcUrls: {
227227
default: { http: ['https://cosmos-rpc.publicnode.com:443'] }
228228
},
229-
blockExplorers: { default: { name: 'Sui Explorer', url: 'https://suiexplorer.com/' } },
229+
blockExplorers: { default: { name: 'Mint Scan', url: 'https://www.mintscan.io/cosmos' } },
230230
testnet: false,
231231
chainNamespace: 'cosmos',
232232
caipNetworkId: 'cosmos:cosmoshub-4'
@@ -412,7 +412,7 @@ const cosmos = defineChain({
412412
rpcUrls: {
413413
default: { http: ['https://cosmos-rpc.publicnode.com:443'] }
414414
},
415-
blockExplorers: { default: { name: 'Sui Explorer', url: 'https://suiexplorer.com/' } },
415+
blockExplorers: { default: { name: 'Mint Scan', url: 'https://www.mintscan.io/cosmos' } },
416416
testnet: false,
417417
chainNamespace: 'cosmos',
418418
caipNetworkId: 'cosmos:cosmoshub-4'

0 commit comments

Comments
 (0)