DealVault Docs — Documentation
Documentation
Getting Started

Welcome to DealVault

DealVault is a trustless escrow platform built on Stellar and Soroban. It eliminates payment uncertainty in open source bounties, freelance contracts, and digital service agreements — globally.

Every deal on DealVault follows one simple rule: funds are locked before work begins, and released only when conditions are met. No trust required. No intermediary. Just code.

This documentation covers everything — from how the escrow system works, to how contributors earn USDC, to how the Soroban smart contracts are deployed and function.

New here?
Start with Platform Overview to understand the full system, then move to your role — Contributor or Maintainer.
Getting Started

Platform Overview

DealVault connects three types of participants around a single trustless escrow contract.

The Core Problem

Online work has always had a trust problem. Contributors fear they won't get paid. Maintainers fear they won't get the work. DealVault removes both fears by making payment guaranteed before work starts.

How It Solves It

01
Maintainer creates a funded issue
They deposit USDC into a Soroban escrow contract. Funds are locked on the Stellar blockchain — verifiable by anyone.
USDC locked on-chain
02
Contributor sees verified funding
Not a promise. Not "we'll pay you later." The money is provably there, in escrow, before they apply.
Trustless verification
03
Work is completed and submitted
Contributor delivers the work. Maintainer reviews. All communication happens on-platform.
Transparent review
04
Smart contract releases payment
Maintainer approves → Soroban contract automatically splits: 98% to contributor, 2% platform fee. Instant. No manual step.
Auto-settlement
Getting Started

Quick Start

Get up and running on DealVault in under 5 minutes.

Step 1 — Sign in with GitHub

Visit DealVault and click Get Started. Authenticate with your GitHub account. Your profile, repositories, and avatar are pulled automatically.

Step 2 — Choose your role

Select Contributor if you want to earn USDC by completing issues. Select Maintainer if you want to fund issues and attract contributors to your project. You can switch roles at any time from your profile.

Step 3 — Complete KYC & connect wallet

Before applying or creating issues, you must verify your identity (KYC) and connect a Stellar wallet — Freighter, Lobstr, or xBull. This takes about 2 minutes.

Wallet requirement
All payments are made in USDC on the Stellar network. You need a Stellar wallet address (starting with G...) to receive or send payments.

Step 4 — Start earning or funding

Contributors browse Explore Issues to find funded bounties. Maintainers submit their repo for review, then create funded issues once approved.

Core Concepts

Escrow System

DealVault's escrow is powered entirely by Soroban smart contracts. No bank. No payment gateway. No intermediary.

What is escrow?

Escrow is a financial arrangement where a third party holds funds until a transaction is complete. In DealVault, the "third party" is a Soroban smart contract — code running on the Stellar blockchain that no one controls except the rules written into it.

How funds are held

When a maintainer funds an issue, USDC is transferred from their Stellar wallet into the escrow contract address. The contract holds the funds trustlessly. Neither the maintainer, contributor, nor DealVault can access the funds unilaterally.

Rust · Soroban
// Maintainer calls this to lock funds
pub fn fund_escrow(
    env: Env,
    deal_id: Symbol,
    maintainer: Address,
    contributor: Address,
    usdc_token: Address,
    amount: i128,
) {
    maintainer.require_auth();
    token::Client::new(&env, &usdc_token)
        .transfer(&maintainer, &env.current_contract_address(), &amount);
    // Store deal on-chain
    env.storage().instance().set(&deal_id, &(contributor, amount, usdc_token));
}

When funds are released

Funds are released in exactly three scenarios:

  • Maintainer approves submitted work → funds go to contributor (minus 2% fee)
  • Admin rules in favour of contributor during a dispute → same outcome
  • Admin rules in favour of maintainer during a dispute → full refund to maintainer
Core Concepts

Stellar & Soroban

DealVault is built on Stellar because it provides fast, cheap, and globally accessible payments — and Soroban brings programmable smart contracts to the network.

What is Stellar?

Stellar is an open-source, decentralized blockchain network designed for fast and cheap cross-border payments. Transactions settle in 3–5 seconds and cost less than $0.000003.

What is Soroban?

Soroban is Stellar's smart contract platform. It uses Rust-based WebAssembly contracts that are deployed on-chain and execute deterministically. DealVault's escrow logic lives entirely in a Soroban contract.

PropertyValue
Transaction speed3–5 seconds
Transaction fee~0.00001 XLM (fractions of a cent)
Smart contract languageRust → WebAssembly
Asset supportXLM, USDC, any Stellar asset
Global accessibility180+ countries
Custodial?No — non-custodial
Stellar does not fund DealVault deals
Stellar is the network (the road). Maintainers provide their own USDC. Stellar just transports and secures it. Think of it like the internet for money.
Core Concepts

USDC Payments

DealVault uses USDC — not XLM — as the primary escrow currency. Here's why.

Why USDC and not XLM?

XLM is Stellar's native token, but its value fluctuates with the market. A bounty worth 100 XLM today might be worth $30 tomorrow. Contributors can't plan their income around volatile rewards.

USDC is a stablecoin pegged 1:1 to the US Dollar. 100 USDC is always approximately $100 — regardless of crypto market conditions. This makes DealVault rewards predictable and professional.

XLMUSDC
Value stabilityVolatileStable (~$1)
Predictable rewardsNoYes
Professional useLimitedYes
Supported on StellarYesYes
Core Concepts

Deal Lifecycle

Every deal on DealVault moves through a defined set of states. Understanding these states is essential to both contributors and maintainers.

CREATED FUNDED IN_PROGRESS RELEASED DISPUTED
StateDescriptionWho triggers it
CREATEDIssue created, not yet fundedMaintainer
FUNDEDUSDC locked in Soroban escrow. Issue is live and visible to contributors.Maintainer (wallet tx)
IN_PROGRESSContributor assigned and workingMaintainer selects applicant
SUBMITTEDContributor has delivered work, awaiting maintainer reviewContributor
RELEASEDMaintainer approved. USDC auto-released by contract. Deal complete.Contract (on approval)
DISPUTEDEither party raised a dispute. Admin mediates. Funds still locked.Either party
Irreversible once released
Once a deal reaches RELEASED state, the transaction on Stellar is final and cannot be reversed. Always review submitted work carefully before approving.
User Roles

Contributor Guide

Contributors discover funded issues, complete work, and earn USDC — with payment guaranteed on-chain before they start.

Getting started as a Contributor

  1. Sign in with GitHub
  2. Select Contributor role
  3. Complete KYC verification
  4. Connect your Stellar wallet (Freighter / Lobstr / xBull)
  5. Browse funded issues on Explore Issues
  6. Apply to issues that match your skills

Applying to an issue

Every issue on DealVault shows a ✓ FUNDED badge — meaning the reward is already locked in escrow. Click Apply, and your application is sent to the maintainer.

Profile completeness matters
Maintainers choose contributors based on reputation score, completed bounties, and skills. Keep your profile updated to improve your chances.

Submitting work

Once assigned, complete the work and submit via the DealVault platform. Include a link to your pull request, repository, or deliverable. The maintainer will review and approve or request revisions.

Getting paid

When the maintainer approves, the Soroban contract automatically releases 98% of the escrow amount to your connected Stellar wallet. The remaining 2% is the DealVault platform fee. Settlement takes 3–5 seconds.

User Roles

Maintainer Guide

Maintainers submit their repositories for review, create funded issues, and attract verified contributors to their open source projects.

Getting started as a Maintainer

  1. Sign in with GitHub
  2. Select Maintainer role
  3. Submit your repository for review
  4. Wait for DealVault team approval (24–48 hours)
  5. Create funded issues once approved

Submitting your repository

Every maintainer must submit their GitHub repo for review before creating issues. The DealVault team evaluates whether the project is active, has suitable open issues, and benefits the broader ecosystem.

Funding types

TypeDescriptionUSDC Required?
Self-FundedYou deposit USDC into escrow. Contributors earn real rewards.Yes
Free / NetworkNo money required. Build visibility and attract contributors to your project. No escrow involved.No

Reviewing applicants

Once an issue is live, contributors can apply. You can view each applicant's profile, reputation score, completed bounties, and skills. Select the best fit and they'll be notified immediately.

Approving work

When a contributor submits work, review it carefully. If satisfied, click Approve & Release. The smart contract automatically releases funds to the contributor's Stellar wallet. If you need revisions, request them through the platform. If there's a serious disagreement, raise a dispute.

Approval is final
Once you approve a submission, the USDC transfer on Stellar is irreversible. Always review deliverables thoroughly before clicking Approve.
User Roles

Admin Role

Admins maintain platform integrity through repo approvals, dispute resolution, and user oversight.

Admin responsibilities

  • Review and approve or reject maintainer repo submissions
  • Mediate disputes between contributors and maintainers
  • Monitor all on-chain transactions via audit logs
  • Manage KYC verification edge cases
  • Enforce platform terms and community standards

Dispute resolution

When a dispute is raised, the admin reviews evidence submitted by both parties. Based on the review, the admin can either release funds to the contributor or refund to the maintainer. All dispute actions are recorded on-chain for full transparency.

Features

KYC Verification

All users must complete KYC before participating in funded deals. This protects the platform from fraud and builds a trusted community.

What KYC involves

  1. Personal information — name, email, date of birth, country (pre-filled from GitHub)
  2. Government ID — passport, driver's licence, or national ID upload
  3. Stellar wallet connection — connect Freighter, Lobstr, or xBull

Why we require KYC

  • Prevents fake accounts and Sybil attacks
  • Ensures contributors and maintainers are real, accountable people
  • Builds trust for higher-value bounties
  • Required for regulatory compliance with cross-border payments
Data security
KYC data is encrypted and stored securely. It is never shared with third parties or other platform users.
Features

Campaigns

Campaigns allow DealVault to pool funding — from grants or sponsors — and distribute it across multiple maintainer repos as bounty rewards.

How campaigns work

A campaign has a total USDC budget, a start and end date, and a set of approved repositories. Each approved repo gets a budget cap. Each issue within that repo gets a reward based on its label priority.

LabelPriorityExample Reward
critical / bugHigh$20–$50 USDC
featureMedium$10–$20 USDC
documentationLow$5 USDC
good first issueEntry$2–$5 USDC

Anti-fraud protection

Each repo has a hard budget cap set by the admin. Maintainers cannot assign inflated rewards to specific people. Every payment is on-chain and publicly auditable. This makes the system transparent and tamper-proof.

Features

Dispute Resolution

When contributor and maintainer cannot agree, DealVault provides a structured dispute resolution process. Funds remain locked until the admin makes a final decision.

When to raise a dispute

  • Maintainer refuses to approve legitimately completed work
  • Contributor submitted work that doesn't match the requirements
  • Either party believes the other acted in bad faith

The process

01
Dispute raised
Either party clicks "Raise Dispute" on the deal. Funds remain locked in escrow.
02
Evidence submitted
Both parties upload evidence — screenshots, PR links, messages, deliverables.
03
Admin reviews
DealVault admin evaluates both sides impartially. Typically resolved within 48 hours.
04
Final ruling
Admin calls either release_funds or refund_maintainer on the contract. On-chain. Final. Logged.
Features

Leaderboard

The leaderboard ranks contributors by points earned through completed bounties, creating healthy competition and recognising top contributors.

How points work

Issue typePointsTypical reward
Critical bug50 pts$20–$50 USDC
Feature20 pts$10–$20 USDC
Documentation5 pts$5 USDC
Good first issue2 pts$2–$5 USDC

The leaderboard resets per campaign period. Top contributors gain reputation, visibility, and priority placement in future applications.

Features

Financials

The Financials tab shows a full transaction history of every USDC payment you've sent or received on DealVault.

What you'll find here

  • All completed deal payouts with Stellar transaction hashes
  • Current USDC balance locked in active escrows
  • Platform fees deducted per deal
  • Links to view each transaction on Stellar Explorer

Every transaction on DealVault is publicly verifiable on the Stellar blockchain. The transaction hash is always provided so you can independently verify any payment.

Smart Contracts

Contract Overview

The DealVault Soroban escrow contract is the trustless core of the platform. Written in Rust, deployed on Stellar.

The contract is responsible for three things: locking funds, releasing funds, and refunding funds. No other logic. No complexity. Just three states, enforced by code.

The contract is non-upgradeable after deployment. The rules cannot be changed by DealVault, maintainers, or contributors. This is the basis of trustlessness.

Open source
The full contract source code is publicly available on GitHub. Anyone can audit, fork, or verify the logic independently.
Smart Contracts

Core Functions

Four functions. That's all the escrow contract needs.

FunctionWho calls itWhat it does
fund_escrowMaintainerLocks USDC into the contract for a specific deal ID
release_fundsMaintainer (on approval)Sends 98% to contributor, 2% to DealVault wallet
refund_maintainerAdmin onlyReturns full amount to maintainer (dispute ruling)
raise_disputeEither partyFlags the deal for admin review. Funds remain locked.
Rust · release_funds
pub fn release_funds(
    env: Env,
    deal_id: Symbol,
    maintainer: Address,
    platform_wallet: Address,
) {
    maintainer.require_auth();
    let (contributor, amount, usdc_token):
        (Address, i128, Address) =
        env.storage().instance().get(&deal_id).unwrap();

    let fee    = amount * 2 / 100;   // 2% platform fee
    let payout = amount - fee;        // 98% to contributor

    let client = token::Client::new(&env, &usdc_token);
    client.transfer(&env.current_contract_address(), &contributor, &payout);
    client.transfer(&env.current_contract_address(), &platform_wallet, &fee);
}
Smart Contracts

Deployment

Deploy the DealVault escrow contract to Stellar Testnet or Mainnet using the Stellar CLI.

Terminal
# 1. Install Stellar CLI
cargo install stellar-cli

# 2. Generate funded testnet identity
stellar keys generate alice --network testnet --fund

# 3. Build the contract
stellar contract build

# 4. Deploy to Testnet
stellar contract deploy   --wasm target/wasm32v1-none/release/escrow.wasm   --source-account alice   --network testnet   --alias dealvault_escrow

# Returns contract ID starting with C...
# 5. Deploy to Mainnet (when ready)
stellar contract deploy   --wasm target/wasm32v1-none/release/escrow.wasm   --source-account YOUR_MAINNET_KEY   --network mainnet
Technical

Architecture

DealVault is a three-layer system: a web frontend, a Node.js backend, and a Soroban smart contract on Stellar.

Architecture
┌─────────────────────────────────────┐
│  Frontend  (React + TypeScript)     │
│  Freighter wallet integration       │
│  Deployed on Vercel                 │
└──────────────┬──────────────────────┘
               │ REST API
┌──────────────▼──────────────────────┐
│  Backend  (Node.js + Express)       │
│  Deal metadata · Users · Notifs     │
│  MongoDB · Socket.io · JWT          │
│  Deployed on Render                 │
└──────────────┬──────────────────────┘
               │ Stellar SDK
┌──────────────▼──────────────────────┐
│  Soroban Smart Contract  (Rust)     │
│  fund_escrow · release · refund     │
│  Stellar Mainnet / Testnet          │
└─────────────────────────────────────┘

The backend never touches money. It only manages metadata (deal info, user profiles, notifications) and calls the Soroban contract when needed. All financial logic is in the contract.

Technical

Tech Stack

Every tool in the DealVault system and why it was chosen.

LayerTechnologyPurpose
Smart ContractSoroban (Rust)Escrow logic — fund, release, refund
BlockchainStellarTransaction settlement
AssetUSDC on StellarStable escrow currency
WalletFreighter / Lobstr / xBullUser signs transactions
FrontendReact + TypeScript + ViteUser interface
StylingTailwind CSSComponent styling
BackendNode.js + ExpressAPI + business logic
DatabaseMongoDBUsers, deals, logs
AuthGitHub OAuth + JWTAuthentication
RealtimeSocket.ioLive notifications
Hosting FEVercelFrontend deployment
Hosting BERenderBackend deployment
Technical

Fee Structure

DealVault charges a flat 2% platform fee on every successfully completed deal. No subscription fees. No setup costs. Pay only when work is done.

Fee Calculation
Deal amount:          100.00 USDC
Platform fee (2%):      2.00 USDC  →  DealVault
Contributor receives:  98.00 USDC  →  Contributor wallet
Stellar gas:        ~0.000003 USD  →  Network only

The fee split is enforced inside the Soroban contract — it happens automatically on approval. DealVault cannot charge more than 2% and cannot take funds without approval.

Technical

Security

DealVault is built security-first, from smart contract design to KYC to audit logging.

Smart contract security

  • All functions use require_auth() — only authorised parties can call critical functions
  • Funds cannot be accessed by DealVault unilaterally
  • Contract is open source and auditable by anyone
  • Deployed as immutable — rules cannot be changed post-deployment

Platform security

  • KYC verification for all participants — real identity behind every account
  • JWT authentication with short expiry + refresh tokens
  • All user data encrypted at rest and in transit
  • Every action logged in a tamper-evident audit log
  • GitHub OAuth — no passwords stored
Report a vulnerability
If you discover a security vulnerability in DealVault, please report it responsibly via GitHub Issues or contact the team directly. Do not disclose publicly until patched.