XELIS built its own smart-contract language: Silex. Developers may find it surprisingly familiar.
One of the biggest barriers for a new smart-contract ecosystem is simple:
Developers don't necessarily want to learn yet another completely unfamiliar language.
XELIS took an interesting approach with Silex, its own language for writing smart contracts.
Silex is a statically typed language built specifically for XELIS. It isn't Rust, and it isn't a
Rust fork.
But its syntax and many of its concepts are inspired by Rust, while remaining familiar to
developers coming from languages such as:
But its syntax and many of its concepts are inspired by Rust, while remaining familiar to developers coming from languages such as:
● Rust
● Go
● C
● C++
● Java
So if you already code in one of those languages,
Silex probably won't look completely foreign.
What does Silex look like?
A basic function:
fn add(a: u64, b: u64) -> u64 {
return a + b
}
You get familiar concepts such as:
let, const, fn, struct, enum, if / else, for, while, arrays, maps, closures, optional values and explicit integer types up to u256.
For example:
struct Person {
name: string, age: u64
}
Rust developers in particular should recognize a lot of the vocabulary:
strong typing, structs, enums, closures, iterators and typed functions.
Silex can also use iterator-style pipelines:
values
.iter()
.filter(...)
.map(...)
.take(...)
.collect()
So the learning curve is less about learning programming from scratch and more about understanding the XELIS smart-contract model and APIs.
But Silex isn't just "Rust-like syntax"
This is where it gets more interesting.
Silex and XVM were designed together specifically for blockchain applications.
Normal functions use: fn Public smart-contract functions use: entry There are also contract lifecycle hooks such as constructor().
But XELIS also introduces primitives that can make contracts much more autonomous.
Scheduled Executions
A smart contract can schedule logic to execute later.
That means developers don't necessarily need an external bot, keeper or cron service to come back and trigger the contract.
Conceptually:
Contract executes → schedules future action → protocol executes it later
This could be useful for things like:
● delayed payments
● auctions
● settlements
● recurring protocol operations
● automated DeFi logic
● time-based applications
The important idea is that future execution can become part of the contract's own logic rather than depending entirely on external infrastructure.
Contract Events
Contract Events are potentially even more interesting.
Instead of contracts existing as isolated pieces of logic, XELIS allows them to use an event-driven architecture.
One contract can emit an event, while another contract can listen for that event and react to it.
Conceptually:
Contract A
↓ emits event
Contract B detects it
↓ Contract B executes logic
Think about:
Oracle updates price
→ lending protocol reacts
DAO approves proposal
→ treasury contract reacts
Game ends
→ rewards contract reacts
Swap occurs
→ another contract reacts
This creates something resembling an on-chain publish / subscribe architecture.
And when you combine it with Scheduled Executions, things become even more interesting:
Event occurs
↓
Contract reacts
↓
Future execution is scheduled
↓
Protocol executes it later
↓
Another event is emitted
↓
Other contracts react
That makes it possible to build more modular and autonomous applications without putting all the coordination logic off-chain.
Then there's cryptography
XELIS was designed around confidential transactions and confidential assets, so Silex also needs to interact with cryptographic primitives.
That includes functionality around things such as:
● hashing
● signature verification
● elliptic-curve operations
● ElGamal ciphertext operations
● zero-knowledge proof verification
This raises an interesting question:
What happens when privacy isn't something added around the smart contract, but becomes part of the programmable environment itself?
Potential applications could include:
● confidential payments
● private stablecoins
● confidential assets
● privacy-preserving DeFi
● private business transactions
● selective financial disclosure
Why not just use Solidity?
That's probably the obvious question. Solidity already has a massive ecosystem, mature tooling, libraries, audits and years of developer experience.
But XELIS is trying to build something architecturally different.
The team wanted a language that could be:
● flexible
● highly configurable
● tightly integrated with XVM
● designed around XELIS-specific primitives
● extended alongside the protocol
And importantly, something built from the ground up by the team, so they understand exactly how the language, compiler, VM and blockchain interact.
Instead of adapting an existing smart-contract language to XELIS, they can design the entire stack together.
There's also another philosophy behind Silex: make smart-contract development simpler.
Not every developer comes from Solidity.
Silex aims for something closer to the simplicity and intuitiveness of Go, while offering many concepts and features that Rust developers will recognize.
So the idea isn't:
"Let's recreate Rust for smart contracts."
It's closer to:
Keep the language relatively simple, but give developers powerful Rust-inspired features and blockchain-native primitives underneath it.
Of course, creating a new language comes with a major disadvantage: ecosystem maturity.
Silex still needs:
● better tooling
● IDE support
● more libraries
● more documentation
● more examples
● more developers
● more real-world contracts
So I don't think the interesting question is:
"Is Silex better than Solidity?"
The more interesting question is:
"If you're building a Layer 1 around confidentiality, custom cryptography, scheduled execution and event-driven smart contracts, does it make sense to build a language specifically around that architecture?"
XELIS decided that it does.
For developers here
If you already code in Rust, Go, C, C++ or Java, does this look approachable enough for you to experiment with?
And which Silex/XELIS feature interests you most:
Contract Events, Scheduled Executions, native privacy primitives, or something else?
More importantly: what would Silex need before you'd seriously consider building something with it — tooling, VS Code/IDE support, libraries, documentation, examples, audits?