# Best Practices for Secure Deployment

To maintain a secure and trusted environment, consider the following best practices:

1. **Careful Initialization**:
   * Before deploying ART20, ensure that `max_supply`, `is_mutable`, and deny list authority options align with your long-term vision.
   * For SALE, set fair initial prices and ensure payment logic is carefully verified.
   * For TRADE, choose appropriate fee percentages, price bounds, and liquidity provision strategies that encourage stability.
2. **Test and Audit**:
   * Use `sui move test` thoroughly on all modules before going live.
   * Seek external audits to confirm no hidden vulnerabilities exist in deny list logic, fee distribution, or emergency functions.
3. **Leverage Deny Lists Wisely**:
   * Add addresses to the deny list only when necessary and communicate these restrictions to your community.
   * Avoid arbitrary or unexpected updates that could harm user trust.
4. **Emergency Functions and Cooldowns**:
   * The TRADE module’s emergency operations should be viewed as last-resort measures. Only trigger them under credible threats.
   * Set cooldowns and transparency measures (like emitting events) so users understand when and why emergency measures are taken.
5. **User Education and Clear Documentation**:
   * Ensure users know how deny lists affect their ability to buy or hold NFTs.
   * Clearly state fee policies and how liquidity providers and NFT holders can benefit or withdraw their shares.
   * Provide guidance on how creators and owners can transfer or revoke authorities.

***

By adhering to these security principles, respecting the role of creators and owners, leveraging deny lists judiciously, and maintaining transparency in fee distribution and emergency operations, the Artinals ecosystem fosters a secure, stable, and fair marketplace for all participants.


---

# Agent Instructions: 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:

```
GET https://docs.artinals.com/artinals-protocol/security-permissions-and-deny-lists/best-practices-for-secure-deployment.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
