QXMP Oracle System v2.0

QXMP Oracle
Integration Guide

Custom oracle infrastructure for bringing real-world asset valuations on-chain with verifiable proofs and complete auditability. Managing $1.1 trillion in tokenized assets.

Custom ECDSA Verification • 3-Layer Architecture • 24-Hour Updates • Complete Audit Trail

Custom Oracle Infrastructure

QXMP has built a custom oracle system (not RedStone or Chainlink) for providing real-world asset valuations on-chain. Unlike traditional oracles that rely on third-party data providers, QXMP maintains full sovereignty over data verification, timing, and quality assurance.

Design Philosophy

Data Sovereignty: Complete control over data sources, validation logic, and submission timing

Cryptographic Verification: Every data point cryptographically signed and verifiable on-chain via ECDSA

Complete Auditability: Full historical trail of all valuations with immutable timestamps

8 Decimal Precision

USD values stored with 8 decimal places for accuracy

EIP-191 Standard

Ethereum-standard signature format for compatibility

Staleness Protection

24-hour default freshness requirement prevents replay attacks

Soft Delete Support

Data preservation for regulatory compliance

Dynamic Fields

Unlimited metadata fields per asset with schema versioning

12 Assets Live

Managing $1.1 trillion across mining & resource projects

Smart Contracts

Three core smart contracts work together to provide secure, verifiable asset pricing data on the QELT blockchain. Deployed on January 12, 2026, by deployer wallet 0xBd6C978C38b0954e1153fB9892f007611726E2B0.

QXMPOracleController

Manages authorized signers and verifies oracle signatures using ECDSA cryptography

Signature VerificationSigner ManagementEIP-191 Standard
0xB2a332dE80923134393306808Fc2CFF330de03bAView on Explorer

QXMPProofOfReserveV3

Submits and stores proof submissions with complete audit trail. Owns Registry contract for automatic value updates.

Proof SubmissionAudit TrailOwns Registry
0x6123287acBf0518E0bD7F79eAcAaFa953e10a768View on Explorer

QXMPDynamicRegistryV2

Universal key-value storage for asset data with soft delete support. Schema-less design supports any asset type.

Asset StorageDynamic FieldsSoft Delete
0xd00cD3a986746cf134756464Cb9Eaf024DF110fBView on Explorer

Ownership Architecture

ProofOfReserve V3 owns Registry V2, allowing automatic value updates when new oracle proofs are submitted. The deployer wallet owns ProofOfReserve for administrative operations.

Deployer (0xBd6C...E2B0)
└─► ProofOfReserveV3 (0x6123...B8c)
└─► DynamicRegistryV2 (0xd00c...0fB)

System Architecture

Three-layer architecture ensures maximum security, flexibility, and separation of concerns

1Controller Layer: Signature Verification

OracleController manages authorized signers and validates ECDSA signatures using EIP-191 standard. Configurable staleness thresholds (24h default) and value bounds provide anomaly detection.

verifySignature()

ECDSA validation

addSigner()

Manage signers

isSigner()

Check authorization

Signature Verified

2Proof Layer: Audit Trail & Submission

ProofOfReserveV3 stores oracle-verified proofs with complete audit trails. Each proof includes value, timestamp, block number, and signer address for full transparency. Owns Registry for automatic updates.

submitProofWithSignature()

Store verified proof

getLatestProof()

Query latest data

getProofHistory()

Historical records

Update Registry

3Registry Layer: Asset Storage

DynamicRegistryV2 stores asset metadata with schema-less dynamic fields. Supports ANY asset type - gold, platinum, lithium, uranium, diamonds, and more. Unlimited custom fields per asset.

getAsset()

Core asset data

getAssetFields()

Dynamic metadata

updatePrimaryValue()

Update valuations

Oracle Mechanism

Understanding how asset codes, signatures, and proofs work together

Asset Code Generation

Asset codes use Keccak-256 hashing for deterministic identifiers

// Format: QXMP:{PROJECT}-{STD}-{COUNTRY}
const assetCode = ethers.utils.id(
  'QXMP:ATKA2-NI43-ZA'
);
// Result: 0x4f8b... (bytes32 hash)

Value Encoding

USD values stored with 8 decimal precision

const valueUsd = 125000000.50; // $125M
const encoded = ethers.utils.parseUnits(
  valueUsd.toString(), 8
);
// Result: 12500000050000000

Signature Generation

ECDSA signatures with EIP-191 standard

// 1. Create message hash
const hash = ethers.utils.solidityKeccak256(
  ['bytes32', 'bytes32', 'uint256', 'uint256'],
  [assetCode, dataFeedId, value, timestamp]
);

// 2. Sign with private key
const sig = await signer.signMessage(
  ethers.utils.arrayify(hash)
);

On-Chain Verification

Contract verifies signature and stores proof

// Verify signature
address signer = controller.verifySignature(
  messageHash, signature
);
require(
  controller.isSigner(signer),
  "Invalid signer"
);

// Store proof & update registry

Quick Start Guide

Integrate QXMP Oracle in 4 simple steps

1

Install Dependencies

Add ethers.js to your project

npm install ethers@5.7.2
2

Connect to QELT Blockchain

Initialize provider and contract instances

const { ethers } = require('ethers');

// Connect to QELT
const provider = new ethers.providers.JsonRpcProvider(
  'https://mainnet.qelt.ai'
);

// Contract addresses
const REGISTRY = '0xd00cD3a986746cf134756464Cb9Eaf024DF110fB';
const PROOF_OF_RESERVE = '0x6123287acBf0518E0bD7F79eAcAaFa953e10a768';
const CONTROLLER = '0xB2a332dE80923134393306808Fc2CFF330de03bA';
3

Query Asset Data

Read asset information from Registry

// Load Registry contract
const registry = new ethers.Contract(
  REGISTRY,
  REGISTRY_ABI,
  provider
);

// Generate asset code
const assetCode = ethers.utils.id('QXMP:ATKA2-NI43-ZA');

// Get asset data
const asset = await registry.getAsset(assetCode);
console.log('Name:', asset.assetName);
console.log('Type:', asset.assetType);
console.log('Value:', ethers.utils.formatUnits(asset.primaryValueUsd, 8));
4

Get Latest Proof

Query oracle proofs with timestamps

// Load Proof of Reserve contract
const proofOfReserve = new ethers.Contract(
  PROOF_OF_RESERVE,
  PROOF_OF_RESERVE_ABI,
  provider
);

// Get latest proof
const dataFeedId = ethers.utils.id('QXMP:ATKA2-NI43-ZA-FULL');
const proof = await proofOfReserve.getLatestProof(
  assetCode, 
  dataFeedId
);

console.log('Value:', ethers.utils.formatUnits(proof.value, 8), 'USD');
console.log('Timestamp:', new Date(proof.timestamp * 1000).toISOString());
console.log('Submitter:', proof.submitter);

Network Information

QELT Blockchain
Network Name
770
Chain ID (0x302 hex)
QBFT PoA
Consensus (Hyperledger Besu)
3-Layer
Architecture
24 Hours
Update Frequency
Live
Operational Status
12 Assets
Total Registered
$1.1T
Total Asset Value
450+
Proofs Submitted

Deployed & Operational on QELT Blockchain

All contracts deployed January 12, 2026, and fully operational. Query real asset data and oracle proofs directly from the blockchain.

Security Features

ECDSA Signature Verification

Every proof cryptographically signed using secp256k1 elliptic curve (same as Ethereum wallets). Unforgeability guaranteed without private key access.

  • • EIP-191 compliant signature format
  • • 65-byte signatures (r, s, v components)
  • • On-chain ecrecover verification

Staleness Protection

24-hour default freshness requirement prevents replay attacks and ensures data currency. Configurable threshold per deployment.

  • • Automatic timestamp validation
  • • Prevents old proof resubmission
  • • Ensures up-to-date valuations

Immutable Audit Trail

Complete proof history permanently stored on QELT blockchain. No functions to modify or delete existing records - only soft delete for fields.

  • • Block-level precision timestamps
  • • Event logs for off-chain indexing
  • • Transparent transaction history

Access Control

Only authorized signers can submit valid proofs. Multi-level access control with owner-only administrative functions.

  • • Signer whitelist management
  • • Owner-only configuration updates
  • • Public read access for transparency

Registered Assets

Currently managing 12 tokenized mining and resource projects across multiple jurisdictions

Asset CodeNameTypeStandardJurisdiction
ATKA2-NI43-ZAAtka Platinum ProjectPlatinumNI 43-101South Africa
GOLD1-NI43-ZAGold Reserve 1GoldNI 43-101South Africa
LITH3-JORC-AULithium Deposit 3LithiumJORCAustralia
URANIUM9-JORC-NAUranium Deposit 9UraniumJORCNamibia
DIAMOND10-NI43-BWDiamond Mine 10DiamondsNI 43-101Botswana

And 7 additional assets spanning copper, silver, nickel, zinc, cobalt, and rare earth elements

Why QXMP Oracle?

Data Sovereignty

QXMP maintains complete control over data sources, validation logic, and submission timing. No dependency on third-party oracle providers like Chainlink or RedStone.

Cryptographic Proofs

Every data point cryptographically signed with ECDSA and verified on-chain. Immutable audit trail with block-level precision for regulatory compliance.

Universal Asset Support

Schema-less dynamic field system supports ANY asset type with unlimited custom metadata. Perfect for diverse RWA portfolios.

Low Cost & Fast

Deployed on QELT blockchain with ~$0.002 per transaction and 3-second block times. Sub-second proof submission when market conditions change.

Ready to Integrate QXMP Oracle?

Access comprehensive documentation, ABIs, and integration examples. Join developers building on $1.1 trillion in tokenized assets.