Documentation & Research

Docs

Whitepapers, academic publications, and developer resources for the Dodona Protocol.

Protocol Documentation

Whitepaper

The Dodona Protocol whitepaper describes the full design rationale, architectural overview, and comparative positioning of the protocol as a living research experiment bridging oracle theory and practice.

📄

The Dodona Protocol: A Living Design Science Experiment in Oracle Design

Giulio Caldarelli · 2026

Introduces the modular, chain-agnostic oracle service grounded in the procedural patterns of ancient oracle systems. Covers Module 1 (Query & Dispute Resolution) and the exploratory design for Module 2 (Randomness Oracle based on the Delphic sealed-urn commit-reveal procedure).

Read on arXiv →
Foundational Research

The Delphic Comparative Framework

The theoretical foundation upon which the Dodona Protocol is built. This research systematically examined 167 historical Delphic queries alongside modern blockchain oracle designs, identifying recurring procedural patterns that transcend technological epochs.

📚

Over Two Thousand Years of the Oracle Problem

Giulio Caldarelli, Massimiliano Ornaghi · IEEE Access (accepted)

The study that reconstructs the consultation procedures of the Delphic Oracle and analyzes 167 historical queries to extract design insights for blockchain oracles.

Read on Xplore →
Oracle Research

Selected Publications

Additional research on blockchain oracles, the oracle problem, and related topics by the protocol's founder.

Understanding the Blockchain Oracle Problem: A Call for Action

Information (MDPI), 2020

One of the earliest academic treatments of the blockchain oracle problem, calling for systematic research into oracle design and reliability.

View publication →

Blockchain Oracles and the Oracle Problem: A practical handbook to discover the world of blockchain, smart contracts, and oracles, exploring the limits of trust decentralization.

Book · Self-Published on Amazon, 2022

The first book on blockchain oracles, for entry levels. Providing a comprehensive overview of blockchain oracles, their role and limitations for real-world blockchains.

View publication →

Before Ethereum. The Origin and Evolution of Blockchain Oracles

IEEE Access, 2023

This paper reconstructs the early history of blockchain oracles, tracing their emergence from the first Bitcoin-era attempts to connect blockchains with external data before Ethereum popularized the concept.

View publication →

Full publication list available on Google Scholar →

For Developers

Building on Dodona

The Dodona Protocol is designed as a composable base layer. Third parties can build smart contracts and applications whose execution depends on Dodona's published outcomes. The following resources provide everything you need to integrate.

🔗

Integration Guide

Solidity & JavaScript examples · Cycle mechanics · Read functions

Step-by-step guide for integrating your smart contract or dApp with the Dodona Protocol. Includes a Solidity interface, a full integration example contract, JavaScript (ethers.js) read examples, and an explanation of monthly cycle mechanics.

View Guide →

API Reference

Contract address · Read functions · Events · Status codes

Quick reference for all public read functions, query type codes, status codes, refusal reason codes, encoding modes, and emitted events on the Dodona Protocol smart contract.

View API Reference →
📋

Smart Contract

Network: Ethereum Sepolia Testnet

Address: 0x43259D9A08b13aF95d2dcdCfc9a241CBD2855bB1

View verified source on Etherscan →

Reading Resolutions On-Chain

Every resolution emits a public event on the blockchain. Your contract can read the query ID, the selected option index, and the response data directly from the Dodona smart contract, with no off-chain dependency required.

Conditional Execution

Write contracts that condition actions on oracle outcomes: if the oracle selects option A, execute action X. The resolver's selection is verifiable against option hashes stored on-chain.

Integration Checklist

1.Identify the query type (B, MC, BR) and define your answer options
2.Submit the query via the webapp; note the on-chain query ID
3.In your contract, reference the Dodona contract address and query ID
4.Read the resolution event or call the view function after Day 18
5.Use the selected option index to trigger conditional logic in your contract
6.Handle the case where a query is refused or left unanswered
💡

Need Help Integrating?

For integration support, partnership inquiries, or research collaborations, reach out via the channels listed on the About page.