Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
* [Usage](sdk/core-module/usage.md)
* [Configuration](sdk/core-module/configuration.md)
* [API Reference](sdk/core-module/api-reference.md)

* [Wallet Modules](sdk/wallet-modules/README.md)
* [wallet-btc](sdk/wallet-modules/wallet-btc/README.md)
* [Usage](sdk/wallet-modules/wallet-btc/usage.md)
Expand Down Expand Up @@ -108,4 +109,8 @@

* [Concepts](resources/concepts.md)
* [Showcase](resources/showcase.md)
* [Community Modules](community-modules/README.md)
* [Create custom SDK modules](tools/wdk-modules-template/README.md)
* [WDK Wallets Template](tools/wdk-modules-template/wdk-wallet-template.md)
* [WDK Protocol Template](tools/wdk-modules-template/wdk-protocol-template.md)
<!-- * [Go-live Checklist](resources/go-live-checklist.md) -->
45 changes: 45 additions & 0 deletions community-modules/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
---
title: Community Modules
layout:
width: default
title:
visible: true
description:
visible: true
tableOfContents:
visible: true
outline:
visible: true
pagination:
visible: false
metadata:
visible: false
---

# Community Modules

This section lists wallet and protocol modules created by the community.

- These modules are **not official** and **not maintained by the WDK or Tether team**.
- They are built and supported by the community to help others add new features or connect to more ecosystems.

## Why Community Modules?

- Share modules that solve specific problems
- Connect your wallet to more ecosystems
- Learn from code made by other users

## Listing a Module

To add your module here:
1. Make sure your code is public and has a simple README.
2. Open an issue or pull request to suggest your module be listed.
3. Include: name, short description, maintainer/contact, and link to repository.

The WDK team will review and add new modules at their discretion.

<!-- ## Community Modules List -->

<!-- Add community modules below -->

<!-- - _(Example: [community-wallet-example](https://github.com/example/community-wallet-example) — wallet for ExampleChain, by @example)_ -->
6 changes: 6 additions & 0 deletions sdk/wallet-modules/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,12 @@ This package works with multiple blockchain networks through wallet registration
</tbody>
</table>

{% hint style="info" %}
WDK is multi‑chain, self‑custodial, and stateless with a unified interface. See [Get Started](../../get-started.md).

Permissionless by design: anyone can build and use WDK‑compatible wallet implementations for their own projects. If you don't see in the previous list a SDK module suitable for your chain and you would like to contribute to the WDK ecosystem check the [New Wallet Module](./wallet-new/README.md)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The link is broken here. Also please check the copy, sounds a bit strange, permissionless means another thing.

We can simplify it and just point to the correct guide

{% endhint %}

### Classic Wallet Modules

Standard wallet implementations that use native blockchain tokens for transaction fees:
Expand Down
100 changes: 100 additions & 0 deletions tools/wdk-modules-template/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
---
title: Create custom SDK modules
layout:
width: default
title:
visible: true
description:
visible: true
tableOfContents:
visible: true
outline:
visible: true
pagination:
visible: false
metadata:
visible: false
---

# WDK Modules Template

Build your own plug-in wallet and protocol modules (bridge, swap, lending, and more) that work seamlessly with the WDK ecosystem. Start with these ready-made templates for fast, robust, and standards-compliant integration.

## Available Templates

- [Wallet Module Template Guide](./wdk-wallet-template.md)
- [Protocol Module Template Guide](./wdk-protocol-template.md)

## Official Inclusion

If you want your module (wallet or protocol) to be considered for official listing in the WDK ecosystem, please follow these requirements:

### Package and Code
- Use correct naming: `@wdk/wallet-<feature>` or `@wdk/protocol-<feature>`
- Follow monorepo structure and naming conventions (kebab-case files, PascalCase types)
- Export only from `index.js`; keep helpers internal to `src/`
- Implement all WDK-required public methods and API for the module type (wallet or protocol)—conform to official interfaces
- Avoid deep/unsafe dependencies; keep dependencies minimal and audited
- All code must run in bare/portable environments by default

### Documentation, Testing, and Versioning
- Include clear install, config, usage, and API docs in `README.md`
- Publish an up-to-date `CHANGELOG.md` with semver releases
- Include basic tests for every public method, integration tests if relevant, and a CI pipeline for linting and type checks
- Use semantic versioning for releases (major.minor.patch)

### Security & Maintenance
- No unsafe/unreviewed dependencies
- Document all known edge cases, limitations, and security notes
- List maintainer(s) and provide contact info for ongoing support

### Important Notes
{% hint style="warning" %}
Bare compatibility is required for official modules. If something does not run in bare, document it and coordinate with the WDK team for an agreed plan before requesting official inclusion.
{% endhint %}

### Inclusion Checklist
- [ ] Correct naming and file structure
- [ ] Minimal, bare-compatible dependencies
- [ ] All required methods implemented & tested
- [ ] Docs and tests present
- [ ] Clear maintainer contact

**To propose for official status:**
Open a GitHub issue or PR and provide:
- The module repository
- Short overview, documentation, and config
- Tests and usage example
- Maintainer contact info
- Security and dependency notes if relevant

A WDK team member will review your submission. Meeting all requirements does not guarantee inclusion; acceptance is at the team's discretion.

## How to Use

1. Read the guide for the module type you need
2. Follow the step-by-step instructions to copy and change the template
3. Implement and include the correct configuration for your desired wallet/ecosyste/network
4. Ensure all public methods use the WDK interface and are consistent in naming, parameters, and expected behavior
5. Test your changes meet all basic requirements and pass the example workflows
6. For official listing, review the inclusion checklist in the guide

## Our Oficial Modules

### Wallet Modules

Explore the comments in the sample code for implementation tips. For real-world reference implementations, check out the official WDK module repositories:

- [wdk-wallet](https://github.com/tetherto/wdk-wallet)
- [wdk-wallet-btc](https://github.com/tetherto/wdk-wallet-btc)
- [wdk-wallet-spark](https://github.com/tetherto/wdk-wallet-spark)
- [wdk-wallet-evm](https://github.com/tetherto/wdk-wallet-evm)
- [wdk-wallet-evm-erc-4337](https://github.com/tetherto/wdk-wallet-evm-erc-4337)
- [wdk-wallet-tron](https://github.com/tetherto/wdk-wallet-tron)
- [wdk-wallet-tron-gasfree](https://github.com/tetherto/wdk-wallet-tron-gasfree)
- [wdk-wallet-ton](https://github.com/tetherto/wdk-wallet-ton)
- [wdk-wallet-ton-gasless](https://github.com/tetherto/wdk-wallet-ton-gasless)
- [wdk-wallet-solana](https://github.com/tetherto/wdk-wallet-solana)



Loading