Skip to content

Arbitrary Fee Token #28

@PhABC

Description

@PhABC

Preamble

ZEIP: <to be assigned>
Title: Arbitrary Fee Token
Author: Philippe Castonguay <[email protected]>
Type: Standard Track
Category: Core
Status: Draft
Created: 2019-03-08

Simple Summary (2 Sentences)

Allow taker and maker fees to be paid in any ERC-20 token, not only ZRX.

Abstract

Currently, most relayers take their fee via a spread instead of accepting fees paid in ZRX. The main reasons for this are better UX, lower cost and because relayers and users do not want to transact using ZRX. This ZEIP proposes to allow maker and taker fees to be paid in any ERC-20, not only ZRX.

Motivation

While I haven't done any data analysis of the 0x exchange contract transactions, I strongly suspect that a very small percentage of trades use ZRX as a fee, because ZRX is not recognize as a good mean of exchange, unlike DAI or ETH for instance. Initially, ZRX was enforced as a fee in order to spread the tokens overtime to active participants in the 0x ecosystem. After almost two years, I believe it is safe to say that this mechanism as fallen short of its goals and impairs the 0x ecosystem more than it benefits it.

Indeed, I suspect enabling other tokens to be used for fees could grow the 0x community and usage substantially. The ZRX token being enforced within the protocol is a complain that many have raised since the creation of this project and I believe it has caused more harm than good to the players involved. If implemented, this ZEIP would also greatly facilitate NFT to NFT trades, which otherwise require a more expensive and complicated approach like a forwarding contract.

Specification

A new field feeToken: address in the 0x order schema would need to be added where users could specify the token used to pay for fees. If let to 0x0, the default feeToken could be ZRX, or DAI, or other token the community deems most useful.

Rationale (if a suggestion is proposed)

The additional CALLDATA cost is marginal compared to the benefits and especially compared to implementing the same logic in a forwarder contract. No matter how simple, I am confident in saying that forwarder contracts allowing fees to be paid in other tokens than ZRX will always be more complex and expensive than what this ZEIP proposes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    status: supersededProposal has been superseded by a ZEIP proposing an alternative implementationtype: core

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions