Help developers build on Oasis Network: Sapphire confidential EVM, ROFL off-chain apps, CLI operations, SDK patterns (Rust, Go, TypeScript, Python), and ParaTime development.
From oasis-devnpx claudepluginhub rube-de/cc-skills --plugin oasis-devThis skill is limited to using the following tools:
references/CLI.mdreferences/ROFL.mdreferences/SAPPHIRE.mdreferences/SDK-CORE.mdSearches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Guides implementation of event-driven hooks in Claude Code plugins using prompt-based validation and bash commands for PreToolUse, Stop, and session events.
Comprehensive assistance for building on the Oasis Network: Sapphire confidential EVM ParaTime, ROFL (Runtime OFfchain Logic) applications, Oasis CLI, SDK development, and ParaTime operations.
Use this skill when the user mentions: "oasis", "sapphire", "sapphire paratime", "rofl", "oasis cli", "oasis sdk", "oasis network", "confidential evm", "oasis-sdk", "sapphire-paratime", "oasisprotocol", "oasis rofl", "paratime", "emerald", "cipher", "rose token", "oasis wallet", "sapphire contracts", "oasis node", "oasis core".
Also activate when the user is working in repos: oasisprotocol/sapphire-paratime, oasisprotocol/oasis-sdk, oasisprotocol/cli.
If MCP Context7 is available, use it to fetch latest docs:
oasis_io_llms_txt at https://context7.com/llmstxt/oasis_io_llms_txt# Download latest release from https://github.com/oasisprotocol/cli/releases
# Linux
wget https://github.com/oasisprotocol/cli/releases/latest/download/oasis_cli_linux_amd64.tar.gz
tar xf oasis_cli_linux_amd64.tar.gz
sudo mv oasis /usr/local/bin/
# macOS
brew install oasisprotocol/tools/oasis
# Ed25519 (Oasis native)
oasis wallet create my_wallet
# secp256k1 (EVM-compatible, for Sapphire/Emerald)
oasis wallet create my_wallet --algorithm secp256k1-bip44
Visit https://faucet.testnet.oasis.io to get TEST tokens for Sapphire Testnet.
npx hardhat init
npm install -D @oasisprotocol/sapphire-hardhat
// hardhat.config.js
import '@oasisprotocol/sapphire-hardhat';
module.exports = {
solidity: "0.8.24",
networks: {
sapphire_testnet: {
url: "https://testnet.sapphire.oasis.io",
chainId: 0x5aff,
accounts: [process.env.PRIVATE_KEY],
},
sapphire_mainnet: {
url: "https://sapphire.oasis.io",
chainId: 0x5afe,
accounts: [process.env.PRIVATE_KEY],
},
},
};
oasis rofl init my-app
oasis rofl create --network testnet --account my_wallet
oasis rofl build
echo -n "my-secret" | oasis rofl secret set MY_SECRET -
oasis rofl deploy
| Developer wants to... | Action |
|---|---|
| Create a Sapphire dApp | Use Hardhat + @oasisprotocol/sapphire-hardhat plugin |
| Build a ROFL app | oasis rofl init, oasis rofl create, oasis rofl build, oasis rofl deploy |
| Check account balance | oasis account show <name> |
| Transfer tokens | oasis account transfer <amount> <to> --network testnet --paratime sapphire |
| Deposit to ParaTime | oasis account deposit <amount> --network testnet --paratime sapphire |
| Withdraw from ParaTime | oasis account withdraw <amount> --network testnet --paratime sapphire |
| Manage ROFL secrets | oasis rofl secret set <NAME> - (pipe value via stdin) |
| View ROFL logs | oasis rofl machine logs |
| Check ROFL status | oasis rofl machine show |
| Inspect a ParaTime block | oasis paratime show <round> --network testnet --paratime sapphire |
| Use Go SDK with Sapphire | Import sapphire "github.com/oasisprotocol/sapphire-paratime/clients/go" |
| Use JS/TS with Sapphire | npm install @oasisprotocol/sapphire-paratime |
| Verify ROFL origin on-chain | Subcall.roflEnsureAuthorizedOrigin(roflAppID) in Solidity |
ParaTimes are parallel runtimes on Oasis. Key ones:
Sapphire provides end-to-end encryption for smart contracts:
Containerized off-chain applications running in TEEs, managed via Sapphire:
appd REST API for key generation, transaction signing, and queries| Network | Decimals | Symbol |
|---|---|---|
| Consensus (Mainnet/Testnet) | 9 | ROSE / TEST |
| Sapphire / Emerald | 18 | ROSE / TEST |
| Cipher | 9 | ROSE / TEST |
For deep dives, consult these references:
| Reference | Content |
|---|---|
| CLI.md | Complete CLI command reference: wallet, account, network, paratime, ROFL, transactions |
| SAPPHIRE.md | Sapphire ParaTime development: EVM patterns, SDKs (Go, JS/TS, Python), Hardhat, confidential contracts |
| ROFL.md | ROFL framework: app lifecycle, containers, secrets, appd API, deployment, proxy configuration |
| SDK-CORE.md | Oasis SDK and core concepts: architecture, ParaTimes, staking, consensus, cryptography |
If using Go SDK, always use backend.Transactor(senderAddr) for TransactOpts. Forgetting this sends transactions unencrypted.
For JS/TS, ensure @oasisprotocol/sapphire-paratime wraps the provider before any contract interactions.
compose.yaml (e.g., docker.io/library/python:3.12-alpine)Verify request body matches expected format. Check required fields: kind for keys, tx structure for sign-submit.
Sapphire/Emerald use 18 decimals, consensus uses 9. Wrong decimals = wrong token amounts. Always verify with oasis paratime list.
Add to .cargo/config.toml:
[build]
rustflags = ["-C", "target-feature=+aes,+ssse3"]
When helping with Oasis development: