https://github.com/circlefin/w3s-pw-web-sdk
https://github.com/circlefin/w3s-pw-web-sdk
web3
Last synced: over 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/circlefin/w3s-pw-web-sdk
- Owner: circlefin
- License: other
- Created: 2023-11-03T11:30:57.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2025-03-11T08:34:09.000Z (over 1 year ago)
- Last Synced: 2025-03-28T03:51:08.477Z (over 1 year ago)
- Topics: web3
- Language: TypeScript
- Homepage:
- Size: 252 KB
- Stars: 11
- Watchers: 7
- Forks: 13
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# Circle Programmable Wallets Web SDK
## Table of Contents
- [Circle Programmable Wallets Web SDK](#circle-programmable-wallets-web-sdk)
- [Table of Contents](#table-of-contents)
- [Overview](#overview)
- [Installation](#installation)
- [Usage](#usage)
- [Prerequisites](#prerequisites)
- [Initiating the SDK](#initiating-the-sdk)
- [Documentation](#documentation)
- [Examples](#examples)
---
## Overview
Programmable Wallets Web SDK empowers developers to build web3 wallets on web apps with ease. It’s a non-custodial wallet solution that brings seamless onboarding & transaction experience for end-users and utilizes industry standard MPC cryptographic technology to ensure the security of private key as well as the safety of user assets.
## Installation
```bash
$ npm install @circle-fin/w3s-pw-web-sdk
```
## Usage
### Prerequisites
Sign up for [Circle's Dev Console](https://developers.circle.com/w3s/docs/circle-developer-account) to obtain an APP ID.
### Initiating the SDK
A minimal example for initiating the SDK is as follows:
```jsx
import { W3SSdk } from '@circle-fin/w3s-pw-web-sdk'
const sdk = new W3SSdk({
appSettings: {
appId: ''
},
})
sdk.setAuthentication({
userToken: '',
encryptionKey: '',
})
sdk.execute(challengeId, (error, result) => {
if (error) {
console.log(
`${error?.code?.toString() || 'Unknown code'}: ${
error?.message ?? 'Error!'
}`
)
return
}
console.log(`Challenge: ${result.type}`)
console.log(`status: ${result.status}`)
if (result.data) {
console.log(`signature: ${result.data?.signature}`)
}
})
```
## Documentation
Check out the developer documentations below for an easy-breezy setup and smoother usage experience.
- [Web SDK doc](https://developers.circle.com/w3s/docs/web)
- [Web SDK UI Customization API doc](https://developers.circle.com/w3s/docs/web-sdk-ui-customizations)
## Examples
We provide 3 frontend examples for you to try out:
- [js-example](https://github.com/circlefin/w3s-pw-web-sdk/tree/master/examples/js-example)
- [react-example](https://github.com/circlefin/w3s-pw-web-sdk/tree/master/examples/react-example)
- [vue-example](https://github.com/circlefin/w3s-pw-web-sdk/tree/master/examples/vue-example)
Please follow the steps below to start building:
1. Clone this repo.
2. Obtain the APP ID from [Circle Developer Console](https://console.circle.com/).
3. Running the script. please follow the README.md in the example folder to execute the sample app.