Skip to content

Draft NEP: Zero Fee for Contract Deploy and Update#216

Open
Jim8y wants to merge 1 commit intomasterfrom
nep-zero-contract-deploy-update-fee
Open

Draft NEP: Zero Fee for Contract Deploy and Update#216
Jim8y wants to merge 1 commit intomasterfrom
nep-zero-contract-deploy-update-fee

Conversation

@Jim8y
Copy link
Contributor

@Jim8y Jim8y commented Mar 1, 2026

Abstract

This NEP proposes removing native ContractManagement fees for contract
deploy and update, setting both to 0, while keeping contract lifecycle
semantics and validation rules unchanged.

Motivation

Current deploy/update paths impose mandatory GAS charges in native logic.
These costs create friction for development, migration, and maintenance
workflows. Setting fees to zero lowers operational barriers while preserving
safety checks.

Specification

  • Native deploy fee charged by ContractManagement.deploy is set to 0.
  • Native update fee charged by ContractManagement.update is set to 0.
  • Minimum deployment fee baseline in ContractManagement is set to 0.
  • Existing validation and behavior remain unchanged:
    • Manifest/NEF validation
    • Contract hash and ID assignment
    • Deploy/Update/Destroy notifications
    • Policy checks and permission/witness requirements

Rationale

A full zero-fee policy for both deploy and update is simpler than partial
reductions or governance-tuned fee models, and directly addresses lifecycle
fee friction. The proposal is intentionally narrow and avoids changing ABI/
lifecycle mechanics.

Backwards Compatibility

The change is ABI-compatible if existing methods remain exposed. Main impact
is economic: transactions previously failing due to deploy/update fee
requirements may succeed after activation.

Security Considerations

Lower fees can increase contract churn and potential spam pressure. Mempool
and policy controls remain important. The proposal does not relax validation,
permission, or blocklist enforcement.

Test Cases

  • Deploy succeeds without native deploy fee charging.
  • Update succeeds without native update fee charging.
  • getMinimumDeploymentFee returns 0 after activation.
  • Existing deploy/update validation failures remain unchanged.
Copy link
Contributor

@roman-khimov roman-khimov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is no problem in current deployment/update fees. Zero fees are harmful, see neo-project/neo#2001

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants