🐼

Pandachain

Decentralized Verifiable Data Science

EVM/Solana/Python smart contracts
press → to begin
2026 — the AI moment

Models decidewho gets a loan,a job,a diagnosis.

And nobody can prove how they decided.

training datamodel weightsinference pathprovenance

the vision

A blockchain where
data, models & predictions
live on-chain,
are verified by consensus,
and ship in Python.

What is Pandachain_

01

Python-native

Smart contracts written in real Python — not a DSL, not Solidity.

02

Verifiable ML

scikit-learn models executed deterministically on-chain via panda.ml.

03

Cross-chain

Native messaging across Ethereum, Solana, Panda L2 and Panda Hub.

04

ZK + Rollups

Proof-backed compute and rollup architecture from day one.

smart contracts

Real Python.
On a real chain.

  • @contract decorator
  • typed class State for storage
  • @call mutates · @query reads
  • self.emit() for indexable events
from panda import contract, constructor, call, query, event

@contract
class Counter:
    class State:
        count: int = 0
        owner: str = ""
        last_caller: str = ""

    @constructor
    def deploy(self, ctx, initial_count: int = 0):
        self.state.owner = ctx.sender
        self.state.count = initial_count

    @call
    def increment(self, ctx):
        self.state.count += 1
        self.state.last_caller = ctx.sender
        self.emit(event.CountChanged(new_count=self.state.count))

    @query
    def get_count(self) -> int:
        return self.state.count

The ctx you've been waiting for

ctx.sendercaller identity
ctx.block_heightcurrent height
ctx.block_timeconsensus time
ctx.contract_addressself address
ctx.gas_remainingbudget left
ctx.chain_idwhich chain

One object. Everything you need to build trust-minimised logic.

token standard

PRC-20. Tokens, made boring.

@contract
class PRC20Token:
    class State:
        token: dict = {}
        mint_authority: str = ""
        freeze_authority: str = ""
        frozen: dict = {}

    @call
    def transfer(self, ctx, to: str, value: int):
        # transfer logic with frozen-account checks
        self.emit(event.Transfer(_from=ctx.sender,
                                 _to=to, _value=value))

    @query
    def balance_of(self, owner: str) -> int:
        return self._t().balance_of(owner)
PRC-20 · fungiblePRC-721 · NFTstemplates in playground

Machine learning, on-chain.

⚙️

panda.ml

Wraps scikit-learn for deterministic on-chain execution.

🧬

save_model / load_model

Models serialise to state. Re-loaded for every prediction.

🛡️

Verifiable inference

Every predict() is reproducible by every validator.

case study

A fraud detector that anyone can audit.

@contract
class FraudDetector:
    class State:
        model: dict = {}
        is_trained: bool = False

    @call
    def train(self, ctx, features: list, labels: list):
        model = LogisticRegression()
        model.fit(features, labels)
        self.state.model = save_model(model)
        self.state.is_trained = True

    @query
    def predict(self, features: list) -> list:
        model = load_model(self.state.model)
        return model.predict_proba(features)

Training data, weights, and predictions — all on-chain. All verifiable.

Cross-chain_

ΞEthereum
Solana
🐼Panda L2
Panda Hub

Two patterns: fire-and-forget, or async/await.

@receiver

Whitelist a chain. Receive a message. Done.

@receiver(chains=["ethereum"])
def on_tokens_locked(self, ctx, amount: int, sender: str):
    self.state.balances[sender] += amount

@receiver()  # any chain
def on_any_message(self, ctx, data: str):
    self.emit(event.MessageReceived(payload=data))

async def bridge(self, ctx, to: str, value: int):
    result = await Chain.ethereum().call(
        contract="0xBridge", method="release", to=to, value=value)
    return result

@receiver methods cannot be invoked via @call — cross-chain context is required.

Tooling that doesn't get in your way

no install

Playground

Browser IDE, Python syntax, deploy & interact panels.

npm / pip

SDKs

TypeScript & Python, programmatic contract management.

local

ContractTestRunner

Simulate cross-chain messages, replay async calls offline.

explorer

Live indexer

Every event emitted via self.emit(), queryable.

Ship in minutes.

  • 01 Hello World
  • 02 PRC-20 fungible token
  • 03 PRC-721 NFT collection
  • 04 On-chain counter
  • 05 Voting / governance
  • 06 Machine learning model

The stack

L0Cross-chain messaging — Ethereum & Solana
L1Panda Hub — settlement & consensus
L2Panda Rollup — high-throughput compute
VMPython runtime — deterministic execution
STDpanda.ml · panda.zk · PRC token standards
DXPlayground · TS / Py SDKs · Explorer

why now

AI is eating software every decision.

Verifiability is the only path to trust at scale.

Pandachain is built for that future.

🐼

Build verifiable.

Open the playground. Deploy in 60 seconds.

— thank you —