TBD54566975 / tbdex

56 stars 26 forks source link

tbDEX

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.

Example Implementations

Features

A hosted set of the JSON schemas are also availbled on the hosted site.

tbDEX Message

Feature Typescript Kotlin Swift Rust
Validation
Signing
Verification
Parsing

tbDEX Resource

Feature Typescript Kotlin Swift Rust
Validation
Signing
Verification
Parsing

tbDEX Offering Resource

Feature Typescript Kotlin Swift Rust
Creation
Validation
Signing
Verification
Parsing

tbDEX RFQ Message

Feature Typescript Kotlin Swift Rust
Creation
Validation
Signing
Verification
Parsing

tbDEX Quote Message

Feature Typescript Kotlin Swift Rust
Creation
Validation
Signing
Verification
Parsing

tbDEX Order Message

Feature Typescript Kotlin Swift Rust
Creation
Validation
Signing
Verification
Parsing

tbDEX Order-Status Message

Feature Typescript Kotlin Swift Rust
Creation
Validation
Signing
Verification
Parsing

tbDEX Close Message

Feature Typescript Kotlin Swift Rust
Creation
Validation
Signing
Verification
Parsing

tbDEX Client

Feature Typescript Kotlin Swift Rust
Send Message
Get Exchange
Get Exchanges
Get Offerings

tbDEX Server

Feature Typescript Kotlin Swift Rust
Get Exchange Handler
Get Exchanges Handler
Get Offerings Handler
Submit RFQ Handler
Submit Order Handler
Submit Close Handler

Documentation