> For the complete documentation index, see [llms.txt](https://docs.andromedaprotocol.io/ado-release-changelog/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.andromedaprotocol.io/ado-release-changelog/andromeda-1.1-ado-release.md).

# Andromeda 1.1 ADO Release

## Introduction

This document provides an overview of the new ADOs released in the 1.1 update. The ADOs can be accessed in our web-app:

{% hint style="warning" %}
The new ADOs are tagged as Beta. It is always recommended to test builds on Testnet before building on mainnet.&#x20;
{% endhint %}

**Mainnet**

{% embed url="<https://app.andromedaprotocol.io>" %}

**Testnet**

{% embed url="<https://app.testnet.andromedaprotocol.io/>" %}

To access the new ADOs, go to the **ADO Builder** section in the web-app, and select the **Beta App** build:

<figure><img src="/files/Nqw2Ejg9H3BEPqy5SDqE" alt=""><figcaption></figcaption></figure>

## New ADOs Released

### Rates

{% hint style="info" %}
By action, we are referring to a specific execute message.&#x20;

Rates can also be added locally from an ADO itself.
{% endhint %}

The Rates ADO can be used to add a fee to be paid for performing an action. The most common use case for rates is adding taxes or royalties on NFT or CW20 sales. The rate can be added in one of two ways:

* [**Locally**](https://docs.andromedaprotocol.io/andromeda-1.1-ados/ado-base/andromedamsg#rates)**:** Rate messages have been added to the set of base execute message and can be added through the ADO itself on an action.
* [**Using the new Rates ADO:**](https://docs.andromedaprotocol.io/andromeda-1.1-ados/rates) A Rates ADO  has been developed that can be used to set up the rates for other ADOs. In this case, the ADO implementing rates needs to reference the Rates ADO that has been set up.

Rates can only be applied on ADOs that implement the "rates" feature. This will be specified in the ADO's documentation page.

### Address List&#x20;

The Address List ADO can be used to set up permissioning for other ADOs. A user can set up the Address List ADO with all the permissions needed and then reference it from the ADO looking to implement these permissions.&#x20;

Read all about the new permissioning[ ](https://docs.andromedaprotocol.io/andromeda-1.1-ados/address-list)[here](https://docs.andromedaprotocol.io/andromeda-1.1-ados/address-list).

### Primitive ADO

The new Primitive ADO is a contract designed to work similar to a database. It can be used to store key/value pairs. The primitive accepts the following types of data to be stored:

```rust
pub enum Primitive {
    Uint128(Uint128),
    Decimal(Decimal),
    Coin(Coin),
    Addr(Addr),
    String(String),
    Bool(bool),
    Binary(Binary),
}
```

Primitive can be set to be one of the following:

* **Private:** Only the owner is allowed to set/remove values.
* **Public:** Primitive is open to anyone similar to a public database.
* **Restricted:** Only the user that set the value is able to modify/remove it.

Read all about the new Primitive ADO [here](https://docs.andromedaprotocol.io/andromeda-1.1-ados/primitives).

### Conditional Spiltter

The Conditional Splitter ADO is a new type of splitter created by Andromeda to satisfy specific use cases for our users.&#x20;

It allows the owner of the ADO to specify multiple sets of recipient addresses to receive funds by the splitter. Depending on the amount sent, the splitter will automatically split the funds to the required set.&#x20;

Read all about the new Conditional Splitter ADO [here](https://docs.andromedaprotocol.io/andromeda-1.1-ados/conditional-splitter).

### Crowdfund ADO Reworked

The Crowdfund ADO has been reworked to an improved version. The main goal of the ADO remains the same but changes were made to the logic to make the ADO better suited for crowdfunding.

The following is a template build for the new Crowdfund ADO that uses CW20 tokens for the sale:

{% embed url="<https://app.testnet.andromedaprotocol.io/flex-builder/crowdfund-2.0>" %}

Read all about the new Conditional Splitter ADO [here](https://docs.andromedaprotocol.io/andromeda-1.1-ados/crowdfund).

***

## ADO Enhancements

### Added Ability to Remove and Replace Reward Tokens in CW20 Staking ADO

The CW20 Staking ADO has two new execute messages:

* **RemoveRewardToken:** Allows the owner to remove a previously set reward for the ADO.
* **ReplaceRewardToken:** Allows the owner to replace a reward token with another one.

### Added Expiry Struct

We have introduced a new struct for setting expirations and start times allowing users to chose between two options:

```rust
pub enum Expiry {
    FromNow(Milliseconds),
    AtTime(Milliseconds),
}
```

* **FromNow:**  Defines a duration in milliseconds from the current time. For example using 600000 means the time will be reached in 10 min from now.
* **AtTime:** Defines a [timestamp](https://www.epochconverter.com) in milliseconds.

The Expiry struct has been inserted in many of our ADOs where needed.

### Added Asset Struct

A new enum for specifying the type of asset has been introduced. It is used in cases where either native or CW20 can be used:

```rust
pub enum Asset {
    Cw20Token(AndrAddr),
    NativeToken(String),
}
```

* **Cw20Token:** Used to specify that the asset being used is a CW20 token. Specify the ADO address in this case.
* **NativeToken:** Used to specify that the asset being used is a native token. Specify the micro-denomination in this case.

This enum has been placed in ADOs where needed like the auction, marketplace and many more.&#x20;

### Added ADOBaseVersion Query to the Base Queries

A new query has been added to the base queries. The ADOBaseVersion query is used to retrieve the version of the ADOBase.

Read more about this query [here](https://docs.andromedaprotocol.io/andromeda-1.1-ados/ado-base/andromedaquery#adobaseversion).

### Additional Resources

The following is a template build for the Extended Marketplace App:

{% embed url="<https://app.testnet.andromedaprotocol.io/flex-builder/extended-marketplace>" %}

The step by step  guide for the entire build can be found here:

{% embed url="<https://docs.andromedaprotocol.io/guides/guides-and-examples/ado-builder/extended-marketplace>" %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.andromedaprotocol.io/ado-release-changelog/andromeda-1.1-ado-release.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
