Skip to content

Lead-Studios/veritix-contract

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Veritix Pay

License: MIT Built With Rust Network: Stellar / Soroban Status: In Development

On-chain payment infrastructure for the Veritix ticketing platform, built with Rust and Soroban on the Stellar network.


Overview

Veritix Pay is the payment layer of a blockchain-based ticketing system. It lives entirely on-chain as a Soroban smart contract and handles all financial operations that power the Veritix platform — from a fan buying a ticket to an organizer receiving settlement funds after an event.

The contract handles token transfers, escrow for ticket purchases, recurring payments, payment splitting between organizers, artists, and venues, and dispute resolution when something goes wrong. Each of these is designed as a focused, composable module that shares a common storage layout and authorization model.

Escrowed funds are held temporarily on the contract's own ledger balance. When an escrow is created, tokens move from the depositor into the contract address, stay there while the escrow is unresolved, and move back out only on release or refund. This means the contract address can hold a real token balance during escrow flows without increasing total supply.

This project is actively being built in the open. Core token primitives, escrow logic, recurring payments, splitting, and dispute resolution are implemented and tested. Some draft modules exist in src/ but are not yet wired into the crate. Contributors can claim open GitHub Issues to extend and improve existing modules. See the Contributing section below.


Why Stellar & Soroban

  • Deterministic execution and predictable fees — no gas spikes or unpredictable costs
  • Fast finality — Stellar's 5-second finality is suitable for real-time ticket validation and payment confirmation
  • Rust-based safety guarantees — Soroban contracts are written in Rust, giving strong compile-time correctness checks
  • Native Stellar ecosystem integration — works directly with Stellar assets and accounts, no bridges required

Contract Modules

The entry point is veritixpay/contract/token/src/lib.rs. Modules compiled into the crate are listed below.

Module File Status Description
Token Core contract.rs Compiled Mint, burn, transfer, approve, clawback, freeze
Admin admin.rs Compiled Admin address controls and rotation
Allowance allowance.rs Compiled Third-party spending approvals
Balance balance.rs Compiled Ledger balance reads/writes
Escrow escrow.rs Compiled Create, release, and refund escrow holds
Freeze freeze.rs Compiled Regulatory account blocking
Metadata metadata.rs Compiled Token name, symbol, decimals
Storage Types storage_types.rs Compiled Shared DataKey enum and struct definitions
Recurring Payments recurring.rs Draft Set up and execute recurring charges (not yet exposed in contract.rs)
Payment Splitter splitter.rs Draft Split a payment between multiple parties (not yet exposed in contract.rs)
Dispute Resolution dispute.rs Draft Open and resolve payment disputes (not yet exposed in contract.rs)

Getting Started

Prerequisites

Tool Notes Install
Rust (stable) Required to compile Soroban contracts https://rustup.rs
wasm32 target Required build target rustup target add wasm32-unknown-unknown
Stellar CLI (latest) For building and deploying cargo install stellar-cli

Verify your setup:

rustc --version
stellar --version

Clone and Build

git clone https://github.com/Lead-Studios/veritix-contract.git
cd veritix-contract/veritixpay/contract/token

make preflight  # verify all required tools are installed
make build    # compile to WASM (requires stellar CLI)
make test     # run tests
make fmt      # format code
make clean    # remove build artifacts

Note: Run make preflight first to verify your setup. It checks for stellar CLI, Rust, and the wasm32-unknown-unknown target.


Project Structure

veritixpay/
├── contract/
│   └── token/
│       ├── src/
│       │   ├── lib.rs              # Crate entry point — module declarations
│       │   ├── contract.rs         # Public Soroban interface (VeritixToken)
│       │   ├── admin.rs            # Admin storage and rotation
│       │   ├── allowance.rs        # Spending approvals
│       │   ├── balance.rs          # Ledger balance helpers
│       │   ├── escrow.rs           # Escrow logic
│       │   ├── freeze.rs           # Account freeze/unfreeze
│       │   ├── metadata.rs         # Token metadata
│       │   ├── storage_types.rs    # Shared DataKey enum and structs
│       │   ├── test.rs             # Compiled unit tests
│       │   ├── escrow_test.rs      # Escrow-specific tests
│       │   └── admin_test.rs       # Admin rotation tests
│       ├── Cargo.toml
│       └── Makefile
├── Cargo.toml
├── Cargo.lock
├── .gitignore
└── README.md

Contributing

Contributions are welcome and actively encouraged. This project is structured so that each contract module is an independent issue that any contributor can pick up.

To get started:

  1. Browse open issues
  2. Comment on one to get assigned
  3. Branch from main, build your module, write tests, and open a PR

See CONTRIBUTING.md for the full guide — including project structure, how to add a module, storage conventions, authorization rules, and the PR checklist.


Open Source Wave

This project is part of an active open-source funding wave on Drips Network. Contributors who build meaningful features may be eligible for rewards. Build something real, on a real chain, with real incentives.


Related Repositories


License

MIT

About

No description, website, or topics provided.

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors