# The Ideal Network is live on Paseo!

**URL:** <https://forum.polkadot.network/t/the-ideal-network-is-live-on-paseo/15783>\
**Category:** Ecosystem\
**Created:** [November 3, 2025, 11:12pm UTC](https://forum.polkadot.network/t/the-ideal-network-is-live-on-paseo/15783 "2025-11-03T23:12:07Z")\
**Posts on this page:** 1\
**Showing post:** 1

<div class="post-metadata">

**Author:** ![driemworks](https://dub1.discourse-cdn.com/flex005/user_avatar/forum.polkadot.network/driemworks/32/9746_2.png) [@driemworks](https://forum.polkadot.network/u/driemworks)\
**Post date:** [November 3, 2025, 11:12pm UTC](https://forum.polkadot.network/t/the-ideal-network-is-live-on-paseo/15783/1 "2025-11-03T23:12:07Z")

</div>

# 🎲 Ideal Network is Live on Paseo

#### Verifiable Randomness for Parachains and ink! Smart contracts

* * *

Hey all,

I’m excited to announce that, after months of work and overcoming unexpected challenges, the [Ideal Network](https://polkadot.polkassembly.io/referenda/1383) is now live on Paseo!

## What is IDN?

The IDN provides **verifiable randomness as a service** (VRaaS) for the Polkadot ecosystem, like `/dev/random` for blockchains. Any parachain runtime or ink! smart contract (v5+) can now access cryptographically secure randomness through a simple subscription model!

## Why this Matters

Until now, web3 developers on Polkadot building games, NFT projects, lotteries, and other protocols requiring randomness have had to rely on:

- **Insecure randomness** (blockhashes, timestamps) - manipulable by collators
- **Consensus-Layer VRFs** (BABE VRF) - cryptographically secure but validators know their VRF outputs in advance for the entire epoch; it is designed for _leader election_, not on-demand randomness in an application layer

There is no standardized way to consume babe vrf’s output either, with many projects introducing bespoke solutions, such as:

- [Acala](https://github.com/AcalaNetwork/Acala/blob/152f4446b7f24c20dc7ac1a3df9537702d0c9630/runtime/common/src/lib.rs#L424)
- [Polkastorage](https://github.com/eigerco/polka-storage/blob/c1f23352d20e2ffa019d9fa904f1a132fb2f3b78/pallets/randomness/src/lib.rs)
- [StorageHub](https://github.com/Moonsong-Labs/storage-hub/tree/main/pallets/randomness)
- [Moonbeam](https://github.com/moonbeam-foundation/moonbeam/blob/5f8becc53eb4f56c9a8b4cf4e8cff6fb74e78f4d/precompiles/randomness/src/lib.rs)

The IDN brings **unpredictable, verifiable randomness** as a service for parachain runtimes and smart contracts:

- **On-demand Randomness** - All outputs are unpredictable until revealed, unlike consensus-driven VRFs
- **Subscription-based Pricing** - Predictable costs under your control, not per-call fees.
- **Blockchain-Native** - No manual oracle interaction is needed for parachains, just create a subscription and receive randomness.
- **Future Timelock Encryption Support** - We are working on integrating a fully encrypted transaction pool powered by timelock encryption, eliminating MEV and front-running entirely from the Ideal Network.
- **Multiple Integration Paths** - The solution can be integrated with smart contracts or directly into a runtime. In addition, contracts deployed on the IDN receive randomness **for free**.

## Getting Started

**Documentation** : [https://docs.idealabs.network](https://docs.idealabs.network).

### Integration Preview

Here’s how simple it is to receive randomness in an ink! smart contract:

```rust
use idn_contracts::prelude::*;
// Receive randomness in your contract
fn consume_pulse(&mut self, pulse: Pulse, _: SubscriptionId) -> IDNResult {
    let randomness = pulse.rand();
    // use it here!
    Ok(())
}

```

[→ See the complete integration guide](https://docs.idealabs.network/guides_and_tutorials/quickstart)

We’ve built a few examples to help get you started:

- [Verifiable-Flipper](https://github.com/ideal-lab5/contracts/blob/143bed576ee96381a6af30b2046482271a507329/examples/vraas/verifiable-flipper/contract/lib.rs) - Bet against provably fair coin flips
- [Lottery](https://github.com/ideal-lab5/contracts/blob/143bed576ee96381a6af30b2046482271a507329/examples/vraas/lottery/contract/lib.rs) - A simple lottery using VRaaS.
- [Plinko](https://github.com/ideal-lab5/contracts/blob/143bed576ee96381a6af30b2046482271a507329/examples/vraas/plinko/contract/lib.rs) - An automated web3 game powered by IDN randomness
- [Gacha](https://github.com/ideal-lab5/contracts/tree/main/examples/native/gacha) - Built to be natively deployed on the IDN, uses our custom chain extension to consume randomness

Check out the [consumer-contract](https://github.com/ideal-lab5/idn-sdk/tree/main/contracts/examples/consumer-contract) example for an example of a full integration with the subscription management system.

## Three Integration Paths

#### 1. Smart Contracts (ink! v5+)

Your contract manages subscriptions to IDN and receives randomness through your `consume_pulse` implementation.

[→ View the smart contract integration guide](https://docs.idealabs.network/guides_and_tutorials/parachains/smart_contracts/ink)

#### 2. Runtime Pallet

Integrate IDN directly into your runtime for making randomness accessible throughout block execution.

[→ View the runtime integration guide](https://docs.idealabs.network/guides_and_tutorials/parachains/runtime_integration/parachain_runtime_integration)

⚠ **IMPORTANT** : You need to [open an HRMP channel](https://substrate.stackexchange.com/questions/5445/how-to-open-hrmp-channels-between-parachains) between the parachain and the IDN for either path (1) or (2) to work.

#### 3. Native Contracts

Build contracts that read verifiable randomness directly from the IDN runtime at no cost. This is ideal for use case that need to ‘pull’ randomness rather than have it pushed.

[→ View the native ink! smart contract integration guide](https://docs.idealabs.network/guides_and_tutorials/ink)

## We Want Your Feedback!

This is our first release that we are making available to the community. We are eager to hear from builders:

- What are you building that needs randomness?
- What would make IDN more useful for your needs?
- Found any issues or bugs? Let us know!

Join our community:

- 🌐 Website: [https://idealabs.network](https://idealabs.network)
- 📖 Docs: [https://docs.idealabs.network](https://docs.idealabs.network)
- 💬 [Join our Discord](https://discord.gg/phZvQkzU2a)

Looking forward to seeing what you build!

* * *

Thanks,  
The Ideal Labs Team  
@driemworks  
@colemanirby  
@juangirini  
@carloskiron

---

_[View the full topic](https://forum.polkadot.network/t/the-ideal-network-is-live-on-paseo/15783)._
