# 0x V3 Feature Set

**URL:** <https://forum.0xprotocol.org/t/0x-v3-feature-set/366>\
**Category:** Core Protocol\
**Created:** [April 30, 2019, 6:57pm UTC](https://forum.0xprotocol.org/t/0x-v3-feature-set/366 "2019-04-30T18:57:03Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![rsingireddy](https://avatars.discourse-cdn.com/v4/letter/r/49beb7/32.png) [@rsingireddy](https://forum.0xprotocol.org/u/rsingireddy)\
**Post date:** [April 30, 2019, 6:57pm UTC](https://forum.0xprotocol.org/t/0x-v3-feature-set/366/1 "2019-04-30T18:57:03Z")

</div>

Internally we are beginning to think about and prioritize the feature set for 0x v3.

While the shift from v1 to v2 was a complete overhaul of our architecture, the v3 upgrade is more focused. The guiding principles of v3 are:

- Grow liquidity
- Improve developing on 0x
- Adding flexibility in different asset types and execution strategies

While nothing is finalized, the core team has listened to feedback from projects building on 0x and has proposed a number of ZEIPs.

If you have a particular feature in mind and would like to see it included in v3, please get in contact on the forum or create a [ZEIP](https://github.com/0xProject/zeips/).

External document [here](https://0xproject.quip.com/C8DEAtNtKlJH/Protocol-V3-External).  
ZEIPs for v3 are documented [here](https://github.com/0xProject/zeips/issues?q=is%3Aissue+is%3Aopen+label%3A3.0).

---

<div class="post-metadata">

**Author:** ![Arctek](https://avatars.discourse-cdn.com/v4/letter/a/e95f7d/32.png) [@Arctek](https://forum.0xprotocol.org/u/Arctek)\
**Post date:** [May 2, 2019, 12:44am UTC](https://forum.0xprotocol.org/t/0x-v3-feature-set/366/2 "2019-05-02T00:44:33Z")

</div>

I think it was mentioned elsewhere (maybe on a call), but that futures versions would have a way to check for order validity via the smart contracts?

At the moment order validation requires alot of RPC calls, and if some (or all) of these could be moved on chain it will be an improvement when having to check across thousands of orders.

Otherwise I really like the proposed changes that will allow for order validation (allows for different order types) and being able to access price feeds of other on-chain oracles. As this will really enrich 0x-feature set.

---

<div class="post-metadata">

**Author:** ![laureng](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.0xprotocol.org/laureng/32/110_2.png) [@laureng](https://forum.0xprotocol.org/u/laureng)\
**Post date:** [May 2, 2019, 6:28am UTC](https://forum.0xprotocol.org/t/0x-v3-feature-set/366/3 "2019-05-02T06:28:20Z")

</div>

Re: “Possible Features” list: The “Post Dated Transactions” feature is very close to something I was thinking about submitting as a ZEIP. But if it could be done as a v3 feature, would be even better/easier. An “Escrow Contract” is what I’ve been calling it so far, it would basically be a hybrid of the “Anti-Griefing Deposit Contract” and the “Post-Dated Transaction”; the use-case would be locking tokens until a specified condition is fulfilled. If “Post Dated Transactions” had the ability to be cancelled by a designated party (an address), that would get me 90% of the way to satisfying the use-case I had in mind.

---

<div class="post-metadata">

**Author:** ![dekz](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.0xprotocol.org/dekz/32/38_2.png) [@dekz](https://forum.0xprotocol.org/u/dekz)\
**Post date:** [May 2, 2019, 6:04pm UTC](https://forum.0xprotocol.org/t/0x-v3-feature-set/366/4 "2019-05-02T18:04:56Z")

</div>

Totally, this has been a pain for us internally so we’re going to add a number of helpers to check that an order is valid in all aspects.

The latest Exchange Wrapper now simulates an actual transfer of the asset, so that helps in checking any pesky `transfer` restrictions. Hopefully we can get full validation down to 2 eth\_calls and allow batching where possible to speed up the request/response cycle overhead.

A lot of this will likely come in the form of a helper wrapper contract, so might not explicitly be in the Exchange contract.

---

<div class="post-metadata">

**Author:** ![dekz](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.0xprotocol.org/dekz/32/38_2.png) [@dekz](https://forum.0xprotocol.org/u/dekz)\
**Post date:** [May 2, 2019, 6:07pm UTC](https://forum.0xprotocol.org/t/0x-v3-feature-set/366/5 "2019-05-02T18:07:34Z")

</div>

There are some interesting cases opened up with the StaticCall “Asset Proxy”. This allows you to check some state specified in the order. For example the state could be “is blockTime \> X yet?”. It can also allow for “Did is Y storage slot set therefor this order is no longer valid”

---

<div class="post-metadata">

**Author:** ![kingjacob](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.0xprotocol.org/kingjacob/32/106_2.png) [@kingjacob](https://forum.0xprotocol.org/u/kingjacob)\
**Post date:** [May 7, 2019, 9:31pm UTC](https://forum.0xprotocol.org/t/0x-v3-feature-set/366/6 "2019-05-07T21:31:25Z")

</div>

Just wanted to voice my support for post-dated orders. As it would enable trustless TWAP & VWAP like strategies.
