Apply

All apps on Sonic are eligible to participate in Fee Monetization. To apply, visit the FeeM dashboardarrow-up-right and click Apply for FeeM.

The application process consists of registering your app to participate in FeeM, followed by registering your app's associated contracts to verify ownership.

Step 1 — App Registration

Visit the Fee Monetization dashboardarrow-up-right, connect your admin wallet, and click Apply for FeeM. The registration form will request several details from you.

  • Owner address Wallet that will manage your FeeM registration.

  • Rewards recipient address Address that will receive FeeM revenue when claimed.

  • Dispute contact Email to be used for communication if you dispute a contract.

  • Metadata Information about your app, such as logo, name, and website.

After completing this step, the UI will guide you through registering your app's associated contracts to verify ownership.

circle-info

The 25 S registration fee will be refunded once your app has been added to FeeM.

Step 2 — Contract Registration

To verify ownership of the contracts you want to include in your FeeM application, you’ll need to add a small code snippet to them.

  1. Choose the Auto-verify option

  2. Copy and paste the code snippet into your contract

  3. Deploy your contract and run the new registerMe function

Your contracts are now verified and included in FeeM, and you can proceed to the next step.

If your contract is not upgradable or you're unable to interact with them from an EOA or through other means, please choose the Manual verification option and follow the steps.

Step 3 — Claim Revenue

Once your app is approved to FeeM, you will start earning 90% of the network fees it generates.

To claim, visit the Fee Monetization dashboardarrow-up-right, connect with your admin wallet, and claim your rewards. These will be sent to the recipient address you provided during the initial application step.

circle-info

For assistance, join Sonic Buildersarrow-up-right on Telegram.


Manual Registration

If you prefer to register your app and its contracts manually instead of using the UI described above, follow the instructions below. However, we recommend using the Fee Monetization dashboardarrow-up-right to register.

  1. Create a metadata config file in JSON format with the following parameters:

  1. Host the file in a publicly accessible location. Ensure that anyone can download the JSON file via a browser and that the hosting site supports HTTPS. A 200×200px PNG logo, no larger than 32 KiB, is sufficient.

  2. Go to the FeeM ProjectsRegistrararrow-up-right smart contract and execute the register function providing all the required information. A unique Project ID will be assigned to your registration in response. Use this ID to identify your project in subsequent calls.

  3. Include the code snippet below directly in your contract and run the new function. Replace the <Your FeeM Project ID> placeholder with your actual FeeM Project ID.

Your app and its contracts are now integrated into FeeM. Proceed to Step 3 above to learn how to claim your rewards.

If your contract is not upgradable or you're unable to interact with them from an EOA or through other means, please contact Sam Harcourtarrow-up-right on Telegram for manual contract verification.


Contracts to Interact With

  • The FeeM Core: 0x0b5f073135df3f5671710f08b08c0c9258aecc35

  • Projects Registrar: 0x897d37f040Ec8DEFFD0ae1De743e1b1a14cf221f

  • Projects' Contracts Registrar: 0xDC2B0D2Dd2b7759D97D50db4eabDC36973110830

  • Dispute Resolver: 0xF2169D8A17aA40cc31e1b43E4FbB2d19CA099310


Frequently Asked Questions

chevron-rightMy app uses an upgradeable (proxy) contract. Should I register the implementation too?hashtag

Typically, you only need to register the proxy. Gas consumed by the implementation via delegate-call will be attributed to the proxy address.

chevron-rightWhat if my app deploys many user-specific contracts?hashtag

If those user contracts act as proxies calling a small set of implementations, you only need to register the main implementation proxies. You’ll receive rewards for all the gas consumed within them.

chevron-rightHow do I claim my rewards?hashtag

You initiate a claim transaction on the FeeM contract. The oracles confirm your gas usage, and after enough confirmations, your share is transferred to your rewards recipient. You may want to check the Fee Monetization dashboardarrow-up-right for a user-friendly claim UX.

chevron-rightWhat if I don’t claim my rewards immediately?hashtag

There is no deadline. Unclaimed rewards stay in the FeeM contract until the rightful project claims them.

chevron-rightWhy do my rewards stay the same over a longer time period?hashtag

FeeM processes rewards similarly to the staking rewards via the SFC contract. The accumulated rewards are updated after the active epoch is sealed and confirmed.

Last updated