Learn More: https://tride-app.github.io/project
Tride is an intercity carpooling platform that uses Soroban smart contracts on Stellar to enforce escrow, refund, and payout rules without platform custody. This repository is the contract workspace for that settlement layer.
The contracts repo is responsible for the logic that must be deterministic and verifiable on-chain.
Tride is built around one core product idea: riders and drivers should know in advance how money moves when a trip is booked, canceled, boarded, completed, or abandoned.
That means the contract layer must eventually support rules for:
- seat-based booking escrow,
- cancellation windows,
- no-show handling,
- driver payout,
- platform fee collection,
- timeout-based completion finalization.
This repo contains the Soroban workspace setup for Tride smart contracts. It is intended to hold:
- escrow contract crates,
- shared contract utilities,
- contract test suites,
- deployment and build conventions.
At the moment, this is a prepared workspace and does not yet include a concrete contract implementation.
Install the required toolchain before adding or building contracts:
rustup update stable
rustup target add wasm32v1-none
brew install stellar-cliCargo.toml: shared workspace configuration and release profilescontracts/: place individual contract crates here.cargo/config.toml: shared cargo defaults for local developmentrust-toolchain.toml: stable Rust toolchain pin with the Soroban target
After installing Rust and Stellar CLI, you can create the first contract crate with:
stellar contract init contracts/escrowor create a crate manually under contracts/ and add soroban-sdk through the workspace dependency.
Useful contribution areas include:
- escrow state machine design,
- payout and refund logic,
- contract event modeling,
- Soroban unit and integration tests,
- security review of settlement paths,
- deployment and upgrade safety.
When contributing:
- Favor explicit state transitions over clever abstractions.
- Document every money-moving rule in code and tests.
- Treat edge cases such as timeout, cancellation, and no-show behavior as first-class.
- Keep the contract surface minimal and auditable.
This repo should evolve from the product rules, not the other way around. Contract complexity should only be introduced when it directly supports the Tride booking and settlement model.