tbDEX
- Purpose
- Implementations
- Test Vectors
- Features
- tbDEX Message
- tbDEX Resource
- tbDEX Offering Resource
- tbDEX RFQ Message
- tbDEX Quote Message
- tbDEX Order Message
- tbDEX Order-Status Message
- tbDEX Close Message
- tbDEX Client
- tbDEX Server
Purpose
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
Implementations
Tooling
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.
Test Vectors
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.
Features
tbDEX Message
| Feature |
Typescript |
Kotlin |
Rust |
Swift |
| Validation |
✅ |
✅ |
❌ |
❌ |
| Signing |
✅ |
✅ |
❌ |
❌ |
| Verification |
✅ |
✅ |
❌ |
❌ |
| Parsing |
✅ |
✅ |
❌ |
❌ |
tbDEX Resource
| Feature |
Typescript |
Kotlin |
Rust |
Swift |
| Validation |
✅ |
✅ |
❌ |
❌ |
| Signing |
✅ |
✅ |
❌ |
❌ |
| Verification |
✅ |
✅ |
❌ |
❌ |
| Parsing |
✅ |
✅ |
❌ |
❌ |
tbDEX Offering Resource
| Feature |
Typescript |
Kotlin |
Rust |
Swift |
| Creation |
✅ |
✅ |
❌ |
❌ |
| Validation |
✅ |
✅ |
❌ |
❌ |
| Signing |
✅ |
✅ |
❌ |
❌ |
| Verification |
✅ |
✅ |
❌ |
❌ |
| Parsing |
✅ |
✅ |
❌ |
❌ |
tbDEX RFQ Message
| Feature |
Typescript |
Kotlin |
Rust |
Swift |
| Creation |
✅ |
✅ |
❌ |
❌ |
| Validation |
✅ |
✅ |
❌ |
❌ |
| Signing |
✅ |
✅ |
❌ |
❌ |
| Verification |
✅ |
✅ |
❌ |
❌ |
| Parsing |
✅ |
✅ |
❌ |
❌ |
tbDEX Quote Message
| Feature |
Typescript |
Kotlin |
Rust |
Swift |
| Creation |
✅ |
✅ |
❌ |
❌ |
| Validation |
✅ |
✅ |
❌ |
❌ |
| Signing |
✅ |
✅ |
❌ |
❌ |
| Verification |
✅ |
✅ |
❌ |
❌ |
| Parsing |
✅ |
✅ |
❌ |
❌ |
tbDEX Order Message
| Feature |
Typescript |
Kotlin |
Rust |
Swift |
| Creation |
✅ |
✅ |
❌ |
❌ |
| Validation |
✅ |
✅ |
❌ |
❌ |
| Signing |
✅ |
✅ |
❌ |
❌ |
| Verification |
✅ |
✅ |
❌ |
❌ |
| Parsing |
✅ |
✅ |
❌ |
❌ |
tbDEX Order-Status Message
| Feature |
Typescript |
Kotlin |
Rust |
Swift |
| Creation |
✅ |
✅ |
❌ |
❌ |
| Validation |
✅ |
✅ |
❌ |
❌ |
| Signing |
✅ |
✅ |
❌ |
❌ |
| Verification |
✅ |
✅ |
❌ |
❌ |
| Parsing |
✅ |
✅ |
❌ |
❌ |
tbDEX Close Message
| Feature |
Typescript |
Kotlin |
Rust |
Swift |
| Creation |
✅ |
✅ |
❌ |
❌ |
| Validation |
✅ |
✅ |
❌ |
❌ |
| Signing |
✅ |
✅ |
❌ |
❌ |
| Verification |
✅ |
✅ |
❌ |
❌ |
| Parsing |
✅ |
✅ |
❌ |
❌ |
tbDEX Client
| Feature |
Typescript |
Kotlin |
Rust |
Swift |
| Send Message |
✅ |
✅ |
❌ |
❌ |
| Get Exchange |
✅ |
✅ |
❌ |
❌ |
| Get Exchanges |
✅ |
✅ |
❌ |
❌ |
| Get Offerings |
✅ |
✅ |
❌ |
❌ |
tbDEX Server
| Feature |
Typescript |
Kotlin |
Rust |
Swift |
| Get Exchange Handler |
✅ |
❌ |
❌ |
❌ |
| Get Exchanges Handler |
✅ |
❌ |
❌ |
❌ |
| Get Offerings Handler |
✅ |
❌ |
❌ |
❌ |
| Submit RFQ Handler |
✅ |
❌ |
❌ |
❌ |
| Submit Order Handler |
✅ |
❌ |
❌ |
❌ |
| Submit Close Handler |
✅ |
❌ |
❌ |
❌ |