Back to home
Developers

Build confidential
applications.

XELIS Vault is MIT-licensed, fully open source, and built to be extended. The wallet protocol (XSWD) is a simple JSON-RPC WebSocket. The contract language (Silex) is Turing-complete. Below is everything you need to ship a confidential DeFi app — repositories, examples, and bounties for the work that still needs doing.

Documentation

Repositories

Protocol repository

35 Silex contracts, audit reports, whitepaper

Open repo
$ git clone https://github.com/XelisVault/xelis-vault

Genesix wallet

Official XELIS desktop wallet with XSWD support

Open repo
$ git clone https://github.com/xelis-project/xelis-genesix-wallet

XELIS blockchain

BlockDAG core, daemon, RPC reference

Open repo
$ git clone https://github.com/xelis-project/xelis-blockchain

XELIS documentation

Full protocol, wallet, and daemon docs

Open repo
$ open https://docs.xelis.io

Code examples

Working snippets you can paste into a dApp. All entry IDs and parameter formats are real.

Connect to wallet via XSWD

Open a WebSocket to the local wallet daemon and request permissions.

const ws = new WebSocket('ws://localhost:44325/xswd')

ws.onopen = () => {
  ws.send(JSON.stringify({
    id: 'my-dapp-' + Math.random().toString(36).slice(2),
    name: 'My XELIS App',
    description: 'Built on XELIS Vault',
    url: window.location.origin,
    permissions: [
      'get_balance',
      'get_address',
      'build_transaction',
      'transfer',
    ],
  }))
}

Open a vault (deposit + borrow)

Call VaultEngine.deposit entry function with XEL collateral and borrow xUSD.

// entry_id 10 = VaultEngine.deposit
// params: [collateralAsset, collateralAmount, borrowAmount]
const tx = await wallet.callContract(
  VAULT_ENGINE_ADDRESS,
  10,
  [
    { type: 'Hash', value: XEL_ASSET_HASH },
    { type: 'U64',  value: '100000000000' }, // 100 XEL
    { type: 'U64',  value: '50000000000'  }, // 500 xUSD
  ]
)

await wallet.sendTransaction(tx)

Submit oracle price (as miner)

If you are a registered miner, submit the latest XEL/USD price.

// entry_id 5 = StakedOracle.submit_price
// params: [price (u64), timestamp (u64)]
const tx = await wallet.callContract(
  STAKED_ORACLE_ADDRESS,
  5,
  [
    { type: 'U64', value: '1294' }, // $12.94
    { type: 'U64', value: String(Math.floor(Date.now() / 1000)) },
  ]
)

await wallet.sendTransaction(tx)

Hackathons & events

Nothing scheduled yet. After testnet launch, hackathons and developer calls will be announced on Discord first.

No hackathons or developer calls are scheduled right now. Join the Discord to be notified when the first events are announced.

Join Discord for event updates

Bug bounty program

The only active bounty program right now is the security bug bounty. 100,000 VLT total (1% of fixed supply), split 50% critical / 30% high / 15% medium / 5% low, running on Immunefi for 2 years.

Security bug bounty

Up to 50,000 VLT per critical finding · responsible disclosure only

View bounty details