Ootle Testnet

Developer docs

Tari Ootle Playground

Build on-chain applications on the Tari L2 network. Agent-first documentation for tapplet development.

One of the key use cases for Tari (and the Ootle) that will emerge is agentic payments. To that end, while this documentation is here for humans, this page has been designed with an “agent-first” mindset. If you use any coding agent, point them at this page, and they will be able to begin developing Tari applets for you.

What You’ll Learn

  • Set up a wallet: Connect a wallet to the esmeralda testnet.
  • Template Development Basics: Understand the abstractions and structure of the Ootle template library.
  • Build Your First Template: Follow a step-by-step code walkthrough to create a functional template (smart contract).
  • Publish to the Network: Learn the process of publishing your templates to the Ootle network.
  • Execute Transactions: Use your published templates by executing them within transactions.

What You’ll Achieve

By the end of this guide, you will have a solid foundation in Tari Ootle development. You’ll be able to write, test, and publish Rust-based smart contracts, interact with the Ootle network, and understand how to manage digital assets and state on-chain.

Key Sections

Set up a Wallet

Download and install a wallet. You’ll need this to publish templates. Wallet Setup

Guides

Step-by-step tutorials and practical examples to help you build, test, and publish your Ootle Templates. Learn how to write templates, manage resources, handle events, and implement access control. Explore the Guides

Reference

Detailed API documentation for all the types, macros, and modules provided by the tari_template_lib and tari_template_lib_types crates. View the Reference

Crate Docs

View on crates.io

Indexer API docs

Open Indexer API docs

What is an Ootle Template?

In the Tari ecosystem, an “Ootle Template” is analogous to a smart contract on other blockchain platforms. It is compiled into WebAssembly (WASM) and defines the logic and state transitions for on-chain applications.

Key Features

  • Rust-Native Development: Leverage the power and safety of Rust to write your on-chain logic.
  • Ergonomic: Simplified interfaces for interacting with the Tari Ootle engine, including resource management, component creation, and event emission.
  • Interoperability: Designed to integrate seamlessly within the broader Tari ecosystem.
  • Security-Focused: Built with security best practices in mind, providing tools to help developers write secure code.