This repo contains specifications for tbDEX
Specification | Description | Status |
---|---|---|
Protocol | Defines the message and resource formats that make up the tbDEX messaging protocol | Draft |
HTTP API | Defines a REST API that can be hosted by an individual PFI that wants to provide liquidity via tbDEX | Draft |
sequenceDiagram
participant Alice
participant PFI
PFI->>Alice: Offering (pull)
Alice->>+PFI: RFQ (push)
PFI->>Alice: Quote (push)
Alice->>PFI: Order (push)
PFI-->>Alice: OrderStatus (push)
deactivate PFI
For information on the development process for this protocol, check out sdk-development
- JavaScript/Typescript (feature complete)
- Kotlin (work in progress)
- Example PFI implementation
All projects (including the test vectors in this repo!) use hermit to manage tooling like node, gradle, etc. Hermit version pins and automatically downloads and installs tooling for a repo, including compiler toolchains, utilities, etc.See this page to set up Hermit on your machine - make sure to download the open source build.
Implementations are run against a common set of test vectors. For more information about how test vectors are used, check out the Test Vectors section of the sdk-development
readme.
Feature | Typescript | Kotlin | Rust | Swift |
---|---|---|---|---|
Validation | ✅ | ✅ | ❌ | ❌ |
Signing | ✅ | ✅ | ❌ | ❌ |
Verification | ✅ | ✅ | ❌ | ❌ |
Parsing | ✅ | ✅ | ❌ | ❌ |
Feature | Typescript | Kotlin | Rust | Swift |
---|---|---|---|---|
Validation | ✅ | ✅ | ❌ | ❌ |
Signing | ✅ | ✅ | ❌ | ❌ |
Verification | ✅ | ✅ | ❌ | ❌ |
Parsing | ✅ | ✅ | ❌ | ❌ |
Feature | Typescript | Kotlin | Rust | Swift |
---|---|---|---|---|
Creation | ✅ | ✅ | ❌ | ❌ |
Validation | ✅ | ✅ | ❌ | ❌ |
Signing | ✅ | ✅ | ❌ | ❌ |
Verification | ✅ | ✅ | ❌ | ❌ |
Parsing | ✅ | ✅ | ❌ | ❌ |
Feature | Typescript | Kotlin | Rust | Swift |
---|---|---|---|---|
Creation | ✅ | ✅ | ❌ | ❌ |
Validation | ✅ | ✅ | ❌ | ❌ |
Signing | ✅ | ✅ | ❌ | ❌ |
Verification | ✅ | ✅ | ❌ | ❌ |
Parsing | ✅ | ✅ | ❌ | ❌ |
Feature | Typescript | Kotlin | Rust | Swift |
---|---|---|---|---|
Creation | ✅ | ✅ | ❌ | ❌ |
Validation | ✅ | ✅ | ❌ | ❌ |
Signing | ✅ | ✅ | ❌ | ❌ |
Verification | ✅ | ✅ | ❌ | ❌ |
Parsing | ✅ | ✅ | ❌ | ❌ |
Feature | Typescript | Kotlin | Rust | Swift |
---|---|---|---|---|
Creation | ✅ | ✅ | ❌ | ❌ |
Validation | ✅ | ✅ | ❌ | ❌ |
Signing | ✅ | ✅ | ❌ | ❌ |
Verification | ✅ | ✅ | ❌ | ❌ |
Parsing | ✅ | ✅ | ❌ | ❌ |
Feature | Typescript | Kotlin | Rust | Swift |
---|---|---|---|---|
Creation | ✅ | ✅ | ❌ | ❌ |
Validation | ✅ | ✅ | ❌ | ❌ |
Signing | ✅ | ✅ | ❌ | ❌ |
Verification | ✅ | ✅ | ❌ | ❌ |
Parsing | ✅ | ✅ | ❌ | ❌ |
Feature | Typescript | Kotlin | Rust | Swift |
---|---|---|---|---|
Creation | ✅ | ✅ | ❌ | ❌ |
Validation | ✅ | ✅ | ❌ | ❌ |
Signing | ✅ | ✅ | ❌ | ❌ |
Verification | ✅ | ✅ | ❌ | ❌ |
Parsing | ✅ | ✅ | ❌ | ❌ |
Feature | Typescript | Kotlin | Rust | Swift |
---|---|---|---|---|
Send Message | ✅ | ✅ | ❌ | ❌ |
Get Exchange | ✅ | ✅ | ❌ | ❌ |
Get Exchanges | ✅ | ✅ | ❌ | ❌ |
Get Offerings | ✅ | ✅ | ❌ | ❌ |
Feature | Typescript | Kotlin | Rust | Swift |
---|---|---|---|---|
Get Exchange Handler | ✅ | ❌ | ❌ | ❌ |
Get Exchanges Handler | ✅ | ❌ | ❌ | ❌ |
Get Offerings Handler | ✅ | ❌ | ❌ | ❌ |
Submit RFQ Handler | ✅ | ❌ | ❌ | ❌ |
Submit Order Handler | ✅ | ❌ | ❌ | ❌ |
Submit Close Handler | ✅ | ❌ | ❌ | ❌ |