Custom Oracle Development

We design and develop full-cycle blockchain solutions: from smart contract architecture to launching DeFi protocols, NFT marketplaces and crypto exchanges. Security audits, tokenomics, integration with existing infrastructure.
Showing 1 of 1 servicesAll 1306 services
Custom Oracle Development
Complex
~1-2 weeks
FAQ
Blockchain Development Services
Blockchain Development Stages
Latest works
  • image_website-b2b-advance_0.png
    B2B ADVANCE company website development
    1214
  • image_web-applications_feedme_466_0.webp
    Development of a web application for FEEDME
    1161
  • image_websites_belfingroup_462_0.webp
    Website development for BELFINGROUP
    852
  • image_ecommerce_furnoro_435_0.webp
    Development of an online store for the company FURNORO
    1041
  • image_logo-advance_0.png
    B2B Advance company logo design
    561
  • image_crm_enviok_479_0.webp
    Development of a web application for Enviok
    823

Custom Oracle Development

Chainlink and Pyth cover 95% of price data needs. But cases exist where ready solution doesn't fit: specific illiquid asset without coverage, non-standard data type, minimal third-party trust requirement, or specific aggregation need. Then custom oracle developed.

When Custom Oracle Needed

  • Illiquid or niche asset: Chainlink won't add feed for $1M TVL token
  • Off-chain data: sports results, weather, insurance indexes — specific
  • Private data: corporate metrics, TradFi data with licensing restrictions
  • Special aggregation: median from specific sources, VWAP for custom period
  • On-chain data with verification: data from other chain via ZK proofs

Custom Oracle Architecture

Components

External Data Sources
    ↓ (HTTP/WebSocket)
Oracle Node Network
    ├── Node 1 (fetches, signs, submits)
    ├── Node 2 (fetches, signs, submits)
    └── Node N (fetches, signs, submits)
         ↓ (signed reports)
On-chain Aggregator Contract
    ├── Collect reports
    ├── Verify signatures  
    ├── Aggregate (median/TWAP)
    └── Publish result

On-chain Aggregator

contract CustomOracle {
    struct Report {
        uint256 value;
        uint256 timestamp;
        bytes signature;
    }
    
    mapping(address => bool) public trustedNodes;
    uint256 public requiredReports;
    
    function submitReport(uint256 value, uint256 timestamp, bytes calldata sig) external {
        require(trustedNodes[msg.sender], "Not trusted node");
        
        // Verify signature
        bytes32 messageHash = keccak256(abi.encodePacked(value, timestamp));
        address signer = recoverSigner(messageHash, sig);
        require(signer == msg.sender, "Invalid signature");
        
        _pendingReports[roundId][msg.sender] = Report(value, timestamp, sig);
        
        if (_pendingReportCount[roundId] >= requiredReports) {
            _finalizeRound(roundId);
        }
    }
}

Oracle Node

Off-chain node periodically:

  1. Fetches data from sources
  2. Aggregates (median, weighted average)
  3. Signs ECDSA
  4. Submits transaction to aggregator

Verifiable Oracle with ZK Proofs

For high trustlessness — ZK-based oracle. Node provides ZK proof that data correctly obtained and aggregated.

On practice experimental and computationally expensive — but developing direction.

Oracle Manipulation Protection

Flash loan + manipulation: attacker takes flash loan, moves price on DEX, exploits protocol at manipulated price.

Protections:

  • TWAP instead of spot: Time-Weighted Average Price harder to manipulate
  • Multiple sources: median from several exchanges
  • Circuit breakers: reject when deviation > X%
  • Volume-weighted: ignore sources with anomalously low volume

Development of custom oracle: 4-12 weeks depending on sources, networks and trustlessness requirements.