VaultQuest Documentation

Complete documentation for the VaultQuest protocol, smart contracts, and API.

Overview

VaultQuest is a no-loss prize saving protocol where users deposit funds into prize vaults and stand a chance to win prizes through regular draws without risking their deposit. The protocol uses tokenized vaults (ERC4626) to generate yield and distribute prizes.

Our protocol is designed to be:

  • Secure - Audited by leading security firms with no exploits to date
  • Transparent - All prize distributions are verifiably random and on-chain
  • Efficient - Low gas fees and optimized for maximum yield generation
  • Multi-chain - Available on multiple blockchains for wider accessibility

How it Works

The protocol works through a simple but powerful mechanism:

1. Deposit

Users deposit their tokens into prize vaults. These deposits are represented by vault shares (ERC20 tokens).

2. Yield Generation

The deposited funds are invested in yield-generating protocols to earn interest.

3. Prize Distribution

The generated yield is collected and distributed as prizes through regular draws.

4. Withdraw Anytime

Users can withdraw their original deposit at any time without penalties or fees.

The probability of winning is proportional to the amount deposited, creating a fair system where larger depositors have higher chances of winning, but everyone has a chance.

Smart Contracts

VaultQuest smart contracts are deployed on multiple blockchains. All contracts have been audited and verified.

Prize Vault (Eth)

0x1234...5678

Prize Pool (Eth)

0x8765...4321

Prize Vault (Cosmos)

0xabcd...ef01

API Reference

VaultQuest provides a comprehensive API for developers to integrate with the protocol.

GET/api/prizes

Returns a list of all active prize pools.

// Response example
{
  "prizes": [
    {
      "id": "prize-123",
      "name": "Daily Prize",
      "amount": 1000,
      "token": "USDC",
      "drawTime": "2023-12-20T00:00:00Z"
    },
    ...
  ]
}
POST/api/deposit

Initiates a deposit into a prize vault.

// Request body
{
  "vaultId": "vault-456",
  "amount": 100,
  "token": "USDC",
  "wallet": "0x1234...5678"
}