project screenshot 1
project screenshot 2
project screenshot 3

Ascenda

Private derivatives trading on real assets. Your positions, your business.

Ascenda

Created At

Unite Defi

Winner of

Etherlink

Etherlink - Hack the Stack: Bring Fusion+ to Etherlink 3rd place

Project Description

What Ascenda Does Ascenda allows users to trade options, futures, and complex derivatives strategies on major stocks (Apple, Tesla, SPY) and other real-world assets with complete privacy. Unlike traditional brokers where your data gets sold to competitors, or current DeFi where every transaction is public, Ascenda uses cutting-edge encryption technology called FHEVM (Fully Homomorphic Encryption Virtual Machine) to keep all trading activity completely confidential—not even the platform operators can see your positions, trade sizes, or strategies. The Core Innovation The platform combines three breakthrough technologies: FHEVM for privacy (all trading data is encrypted at the smart contract level), 1inch's cross-chain infrastructure for optimal liquidity and execution across multiple blockchains, and Etherlink Layer 2 for MEV protection that prevents front-running and sandwich attacks. This creates something that has never existed before: institutional-grade derivatives trading with bank-level privacy on decentralized infrastructure. Who It's For Ascenda targets three primary markets: traditional traders moving from platforms like Interactive Brokers who want DeFi yields but need familiar tools and privacy; sophisticated crypto users who want to trade complex strategies without revealing their positions to competitors; and institutions (family offices, hedge funds) who require both regulatory compliance and complete confidentiality. The platform serves anyone who needs to execute sophisticated trading strategies without broadcasting their intentions to the market. Technical Implementation Built on Solidity smart contracts deployed on Etherlink, Ascenda integrates with Chainlink oracles for real-time price feeds and 1inch protocols for cross-chain settlement. The frontend is a professional React application that looks like traditional trading platforms but operates entirely on-chain. Users can execute everything from simple call/put options to complex multi-leg strategies like iron condors and straddles, all while maintaining complete privacy through encrypted smart contract calculations. Market Impact Ascenda addresses a $4 trillion derivatives market that currently has no privacy-preserving solution. By combining the sophistication of Wall Street tools with the transparency and yields of DeFi, while adding the privacy of Swiss banking, Ascenda creates essential infrastructure for the future of finance where privacy isn't a luxury but a necessity for competitive trading.

How it's Made

Ascenda Protocol: Technical Architecture & Implementation

Core Architecture Overview

Ascenda is a privacy-first derivatives trading platform built on Etherlink (Tezos Layer 2) leveraging Fully Homomorphic Encryption (FHE) for complete transaction privacy. The protocol enables users to trade complex derivatives strategies while keeping all position sizes, prices, and collateral amounts completely confidential.

Key Technologies & Stack

1. Fully Homomorphic Encryption (FHE) - The Privacy Engine

// All sensitive data encrypted using fhEVM
import {FHE, externalEuint64, euint64, ebool} from "@fhevm/solidity/lib/FHE.sol";

struct ConfidentialPosition {
    euint64 quantity;           // Encrypted position size
    euint64 strikePrice;        // Encrypted strike
    euint64 premium;            // Encrypted premium
    euint64 collateralAmount;   // Encrypted collateral
}

Why FHE was crucial:

  • Enables computations on encrypted data without decryption
  • Users can trade derivatives without revealing position sizes or prices
  • Market makers can't front-run based on order flow
  • Complete privacy preservation while maintaining smart contract logic

2. Etherlink (Tezos L2) - The Settlement Layer

// Hardhat configuration for Etherlink networks
networks: {
  etherlinkMainnet: {
    url: "https://node.mainnet.etherlink.com",
    accounts: [deployerPrivateKey],
  },
  etherlinkTestnet: {
    url: "https://node.ghostnet.etherlink.com", 
    accounts: [deployerPrivateKey],
  },
}

Benefits of Etherlink:

  • EVM-compatible with lower fees than Ethereum mainnet
  • Native FHE support through fhEVM integration
  • Fast finality for derivatives trading
  • Seamless bridging to other chains

3. Cross-Chain Settlement Architecture

Atomic Swap Engine

struct AtomicSwapEscrow {
    bytes32 escrowId;
    address initiator;
    address participant;
    euint64 amount;              // Encrypted amount
    bytes32 secretHash;          // HTLC secret hash
    uint256 timelock;
    bool redeemed;
}

Cross-chain flow:

  1. User initiates settlement with encrypted amounts
  2. Resolver locks funds on destination chain
  3. Secret reveal enables atomic completion
  4. Fallback timelock prevents fund loss

1inch Fusion+ Integration

interface IFusionProtocol {
    struct FusionOrder {
        address makerAsset;
        address takerAsset;
        bytes getMakerAmount;    // Dynamic pricing
        bytes getTakerAmount;
        bytes predicate;         // Conditional execution
    }
}

Fusion+ advantages:

  • Dutch auction mechanism for optimal pricing
  • Gasless trading experience
  • MEV protection through sealed bids
  • Professional resolver network

Core Protocol Components

1. Confidential Collateral System

contract AscendaConfidentialCollateral is ConfidentialFungibleToken {
    // Wraps USDC/USDT into encrypted tokens
    function confidentialDeposit(address to, uint256 amount) external {
        uint64 confidentialAmount = SafeCast.toUint64(amount / _rate);
        euint64 encryptedAmount = FHE.asEuint64(confidentialAmount);
        _mint(to, encryptedAmount);
    }

    // Async decryption for withdrawals
    function finalizeUnwrap(uint256 requestId, uint64 amount, bytes[] calldata signatures) external {
        FHE.checkSignatures(requestId, signatures);
        _underlying.safeTransfer(to, publicAmount);
    }
}

Privacy-preserving features:

  • All balances encrypted using FHE
  • Only user can decrypt their own balance
  • Authorized contracts can operate on encrypted amounts
  • Async decryption prevents front-running

2. Derivatives Engine

function openConfidentialPosition(
    string calldata underlying,
    PositionType positionType,
    externalEuint64 encryptedQuantity,
    externalEuint64 encryptedStrikePrice,
    uint256 expiration,
    externalEuint64 encryptedCollateral,
    bytes[] calldata proofs
) external returns (uint256 positionId) {
    // All operations on encrypted data
    euint64 quantity = FHE.fromExternal(encryptedQuantity, quantityProof);
    euint64 pnl = _calculateConfidentialPnL(position, currentPrice);
}

Derivative types supported:

  • Options (calls/puts)
  • Futures contracts
  • Complex multi-leg strategies
  • Synthetic asset exposure

3. Complex Strategy Engine

enum StrategyType {
    BULL_CALL_SPREAD,
    BEAR_PUT_SPREAD, 
    IRON_CONDOR,
    IRON_BUTTERFLY,
    STRADDLE,
    STRANGLE
}

function createStrategy(
    StrategyType strategyType,
    uint256[4][] calldata legParams,  // [quantity, strike, limit, collateral]
    bytes[] calldata proofs
) external returns (uint256 strategyId) {
    // Validate strategy logic
    require(_isValidStrategyType(strategyType, legParams.length));
    
    // Create individual legs
    for (uint256 i = 0; i < legParams.length; i++) {
        uint256 legOrderId = _createStrategyLegOrder(...);
        orderToStrategy[legOrderId] = strategyId;
    }
}

Notable Technical Innovations

1. Encrypted Amount Validation Pattern

// Validate collateral without revealing amounts
function _validateCollateralAsync(
    euint64 syntheticAmount,
    euint64 collateralAmount,
    uint256 price
) internal {
    euint64 leftSide = collateralAmount.mul(FHE.asEuint64(100));
    euint64 rightSide = syntheticValue.mul(FHE.asEuint64(collateralizationRatio));
    ebool isInsufficient = leftSide.lt(rightSide);
    
    // Request async decryption for validation
    bytes32[] memory cts = new bytes32[](1);
    cts[0] = ebool.unwrap(isInsufficient);
    uint256 requestId = FHE.requestDecryption(cts, this.finalizeValidation.selector);
}

2. Dual-Amount Architecture

struct ConfidentialOrder {
    euint64 quantity;              // Encrypted actual amount
    euint64 collateralAmount;      // Encrypted collateral
    // Public estimates for volume tracking/validation
    uint256 estimatedQuantity;     
    uint256 estimatedCollateral;   
}

Why this pattern:

  • FHE operations are expensive - minimize decryptions
  • Need public amounts for volume limits and gas estimation
  • Encrypted amounts for actual execution
  • Estimates don't reveal exact positions

3. Resolver Bond & Slashing Mechanism

function lockSettlement(uint256 settlementId, externalEuint64 encryptedBond) external {
    euint64 bond = FHE.fromExternal(encryptedBond, bondProof);
    require(bond >= requiredBond, "Insufficient bond");
    
    // Lock resolver funds
    confidentialCollateral.authorizedTransfer(msg.sender, address(this), bond);
    settlement.resolverBond = bond;
}

function _slashResolver(address resolver, euint64 amount, string memory reason) internal {
    // Transfer slashed funds to insurance
    confidentialCollateral.authorizedTransfer(address(this), insuranceFund, amount);
    resolverInfo.isSlashed = true;
}

Security & Risk Management Features

1. Circuit Breakers

modifier whenNotCircuitBroken() {
    require(!_isCircuitBroken(), "Circuit breaker active");
    _;
}

function _updateDailyVolume(uint256 volumeToAdd) internal {
    if (dailyVolume > maxDailyVolume) {
        emit CircuitBreakerTriggered(dailyVolume, maxDailyVolume, block.timestamp);
    }
}

2. Emergency Withdrawal System

function requestEmergencyWithdrawal() external {
    emergencyWithdrawalRequests[msg.sender] = block.timestamp;
}

function executeEmergencyWithdrawal() external {
    require(block.timestamp >= requestTime + EMERGENCY_WITHDRAWAL_DELAY);
    // Release locked collateral after delay
}

3. Multi-Role Access Control

bytes32 public constant RESOLVER_ROLE = keccak256("RESOLVER_ROLE");
bytes32 public constant ORACLE_ROLE = keccak256("ORACLE_ROLE");
bytes32 public constant EMERGENCY_ROLE = keccak256("EMERGENCY_ROLE");

Development & Testing Stack

Hardhat Configuration

module.exports = {
  solidity: {
    version: "0.8.28",
    settings: {
      optimizer: { enabled: true, runs: 200 },
      viaIR: true,  // Required for complex FHE operations
    },
  },
  networks: {
    etherlinkMainnet: { /* config */ },
    etherlinkTestnet: { /* config */ },
  }
};

Key Dependencies

{
  "@fhevm/solidity": "^0.7.0",                    // FHE operations
  "@openzeppelin/confidential-contracts": "^0.2.0-rc.1",  // Privacy primitives
  "@openzeppelin/contracts": "^5.4.0",            // Standard contracts
  "@nomicfoundation/hardhat-toolbox": "^6.1.0"    // Development tools
}

Particularly Noteworthy "Hacks"

1. FHE Performance Optimization

Since FHE operations are computationally expensive, we implemented:

  • Batched encryptions for multi-leg strategies
  • Lazy decryption - only decrypt when absolutely necessary
  • Encrypted boolean logic for complex conditional validation
  • Estimation patterns to avoid unnecessary FHE operations

2. Cross-Chain Privacy Bridge

The atomic swap mechanism maintains privacy across chains by:

  • Using hash-locked contracts with encrypted amounts
  • Resolver bonds in encrypted form
  • Secret revelation that doesn't expose underlying amounts
  • Fallback mechanisms that preserve privacy even in failure cases

3. Gasless Trading UX

Integration with 1inch Fusion+ enables:

  • Users sign intentions, not transactions
  • Resolvers compete to execute orders
  • No gas fees for end users
  • MEV protection through sealed bid auctions

This architecture creates a truly private, cross-chain derivatives platform that rivals traditional finance in sophistication while maintaining complete on-chain transparency and decentralization.

background image mobile

Join the mailing list

Get the latest news and updates