Watch And Earn docs
v4.0.0
Live demoConsole demo Get help
● Reference · Third parties

Credits
and third-party licenses.

Watch And Earn is built on open-source packages and the ad networks' SDK plugins. Each keeps its own license. The full list of resolved packages is in THIRD-PARTY-LICENSES.md.

No GPL/AGPL2 MPL-2.0 (Linux only, unmodified)Fonts: SIL OFL 1.1

01Summary

The open-source packages in the app, the Functions and the console are under permissive licenses (MIT, BSD, Apache-2.0, ISC, 0BSD), with two exceptions under MPL-2.0, below. No GPL or AGPL packages; two Linux-only MPL-2.0 dependencies (dbus, nm), used unmodified. The full list with versions: THIRD-PARTY-LICENSES.md.

MPL-2.0: dbus and nm

The app uses connectivity_plus (for the VPN signal). Its Linux implementation (connectivity_plus_linux.dart) depends on dbus 0.8.0 and nm 0.6.0, both MPL-2.0, which flutter pub get resolves as transitive dependencies (app/pubspec.lock). They are Linux-only dependencies of connectivity_plus: they are not compiled into the Android, iOS or web builds of this app, and the package uses them unmodified. MPL-2.0 is a file-level copyleft: if you modify those packages' files and distribute them, you must publish those modified files under MPL-2.0. Using them unmodified asks nothing more of you than keeping their notices.

The app bundles two open-source fonts, Bricolage Grotesque and Inter, under the SIL Open Font License 1.1 (below), and no third-party images. The operator console ships the Geist and Geist Mono fonts (SIL Open Font License 1.1, The Geist Project Authors) and a prebuilt UI bundle with React and React DOM (MIT) and Lucide icons (ISC) in admin/packages/admin-kit/ui/assets/, with the full font licence texts beside them (Geist-OFL.txt, GeistMono-OFL.txt); all are listed in THIRD-PARTY-LICENSES.md. App icons are Flutter's Material Icons (Apache-2.0); the app logo, the cosmetic avatars, frames and themes, the mini-game illustrations (all drawn in code) and the screenshots are our own.

02Fonts in the app 4.0

FontCopyrightLicenseFiles
Bricolage Grotesque (variable)© 2022 The Bricolage Grotesque Project Authors (github.com/ateliertriay/bricolage)SIL Open Font License 1.1app/assets/fonts/BricolageGrotesque.ttf, licence text app/assets/fonts/BricolageGrotesque-OFL.txt
Inter (variable)© 2020 The Inter Project Authors (github.com/rsms/inter)SIL Open Font License 1.1app/assets/fonts/Inter.ttf, licence text app/assets/fonts/Inter-OFL.txt

The OFL allows using, modifying and redistributing the fonts with your app; the font files may not be sold on their own, and the licence text must stay with them. How to replace them: Design and theming.

03App (Flutter, from pub.dev)

PackageVersionLicense
firebase_core, firebase_auth, cloud_firestore, cloud_functions, firebase_app_check, firebase_messaging4.15.0, 6.7.0, 6.10.0, 6.5.0, 0.4.8, 16.7.0BSD
google_mobile_ads9.0.0Apache-2.0
unity_ads_plugin0.5.0MIT (community plugin)
unity_levelplay_mediation9.3.0Unity Advertising Terms, see below
in_app_purchase3.3.1BSD
provider6.1.5+1MIT
shared_preferences, url_launcher, share_plus, package_info_plus, intl2.5.5, 6.3.3, 13.3.1, 10.2.2, 0.20.2BSD
device_info_plus13.3.0BSD-3-Clause
connectivity_plus7.3.2BSD-3-Clause (its Linux code pulls in dbus and nm, MPL-2.0)
crypto3.0.7BSD-3-Clause
clock1.1.2Apache-2.0
flutter_localizationsFlutter SDKBSD-3-Clause (part of Flutter)
cupertino_icons1.0.9MIT

04Ad network SDKs

ironSource LevelPlay is not open source

unity_levelplay_mediation is © ironSource Ltd. and is made available under the Unity Advertising Terms of Service as a "Service Asset". It is not included in the download: app/pubspec.yaml declares it and flutter pub get fetches it from pub.dev, so you accept Unity's terms directly when you use it.

The native SDKs that the Flutter plugins pull in when you build (Google Mobile Ads, Unity Ads, ironSource) come under each network's own terms. Opening an account with a network means accepting its publisher terms.

Redistribution and per-buyer obligations

None of the ad network plugins or native SDKs is copied into this package. app/pubspec.yaml only names them; flutter pub get, Gradle and CocoaPods download them on your computer when you build. So the item does not redistribute any SDK, and nothing in it needs a per-buyer licence from a network.

Plugin (pub.dev)PublisherLicenceSelling this templateWhat you accept as a buyer
google_mobile_ads 9.0.0Google (googleads-mobile-flutter)Apache-2.0Allowed; not bundledAdMob terms and policies with your own AdMob account
unity_ads_plugin 0.5.0Pavel Zaichyk (community plugin)MITAllowed (MIT); not bundledUnity Ads terms with your own Unity account, which cover the native Unity Ads SDK it downloads
unity_levelplay_mediation 9.3.0ironSource Ltd. (Unity)Unity Advertising Terms of Service ("Service Asset")Not redistributed: fetched from pub.dev by youUnity's terms, directly, when you use it

No author ad ids in the code

The package contains no AdMob publisher id, Unity game id or LevelPlay app key of the author. Every AdMob id in the source is one of Google's public test ids, publisher ca-app-pub-3940256099942544: the default units in app/lib/ads/ad_adapter.dart, the app ids in app/android/app/src/main/AndroidManifest.xml and app/ios/Runner/Info.plist, and two test fixtures in admin/test/. The Unity and LevelPlay ids are empty until you enter yours in the console. Replace the AdMob app ids in the manifest and Info.plist with your own before release (Ads, Release). You can check it yourself:

grep -rnoE "ca-app-pub-[0-9]+" app admin firebase --exclude-dir=node_modules | grep -v 3940256099942544   # prints nothing

The offerwall and survey providers (AdGem, Lootably, BitLabs, CPX Research) ship no code in this package. The app opens their web walls, and their own publisher terms apply. PayPal ships no code here either: the Functions call the PayPal REST API, and PayPal's own terms apply to your account.

05Cloud Functions and console (from npm)

The PayPal integration uses PayPal's REST API directly, with no PayPal SDK.

PackageLicense
firebase-admin, google-auth-libraryApache-2.0
firebase-functionsMIT
joseMIT
hono, @hono/node-serverMIT
better-sqlite3, pg, tsxMIT

The console's admin framework, the MIKODES Admin Kit (admin/packages/admin-kit/), is the author's own code written for this item and is covered by your item license, like the rest of the source (admin/packages/admin-kit/LICENSE.md). It is not a third-party package and is not published on npm.

06Your license

All code in the package that is not listed above as a third-party package (the app, the Cloud Functions, the console and the Admin Kit) is the author's original work and is licensed to you under the Envato licence you bought. LICENSE.md in the package root says so, and every package.json of that code points to it with "license": "SEE LICENSE IN LICENSE.md". Their "private": true only stops npm from publishing the folders by accident; it does not limit your rights.

The item is sold under the Envato Market licenses. A Regular License covers one end product that end users are not charged for; an Extended License covers one end product that end users are charged for. Read the license terms to choose the right one; in-app purchases and subscriptions are a factor in that choice.