License Agreement, dated September 3, 2020, by and between Esports Entertainment Group, Inc. and AHG Entertainment Associates, LLC
Dated 3 September 2020
agreement for the licence of software on a source code basis
esports entertainment group, inc
ahg entertainment associates, llc
THIS AGREEMENT is dated 3rd September 2020
|(1)||Esports Entertainment Group, Inc incorporated and registered in Nevada, USA with company number E0473092008-2 whose registered office is at 112 North Curry Street, Carson City, Nevada ###-###-####, USA 127132C (“EEG”).|
|(2)||AHG Entertainment Associates, LLC a limited liability company organized and registered in Florida, USA, having its registered address at 700 West Morse Blvd., Suite 220, Winter Park, Florida 32789, USA (“AHG”).|
|(A)||EEG owns all Intellectual Property Rights in the online games and rewards platform and the Source Code thereto as further described in Schedule 1 (the “EEG Software”) as acquired from AHG pursuant to an agreement for the assignment of intellectual property rights dated 31st August 2020 (the “Assignment Agreement”).|
|(B)||As a condition of the Assignment Agreement, EEG is required to grant to AHG a perpetual licence of the EEG Software and provide ongoing development and support services, on the terms set out below.|
|1.1||The definitions and rules of interpretation in this clause apply in this Agreement.|
|Affiliate: means, with respect to any Person, any other Person directly or indirectly controlling, controlled by, or under common control with such Person. For purposes of this definition, “control,” when used with respect to any specified person, means the power to direct or cause the direction of the management and policies of such Person, directly or indirectly, whether through ownership of voting securities or by contract or otherwise, and the terms “controlling” and “controlled by” have correlative meanings to the foregoing.|
|AHG Custom Version: means the version of the AHG Initial Version that is customised by AHG in accordance with the AHG Modifications for its own needs.|
|AHG Initial Version: means the version of the AHG Software Copy that is customised by EEG in accordance with the EEG Modifications as set out in Schedule 2.|
|AHG Modifications: any modifications made to the AHG Software Copy, the AHG Initial Version (or any version thereof) by either AHG without any input or assistance from EEG or by EEG and designated on any written schedule of work signed by both parties that such modifications should be considered an AHG Modification.|
|AHG Site: means AHG’s remote or physical site at which the AHG Software Copy shall be delivered and installed on to AHG’s servers.|
|AHG Software Copy: means an exact copy of the EEG Software licensed by EEG to AHG in accordance with this Agreement.|
|AHG Software Licence: means the software licence granted by EEG to AHG to use the AHG Software Copy (or any version thereof) as defined in clause 2.1.|
|Business Day: any day which is not a Saturday, Sunday or public holiday in the UK.|
|Confidential Information: means any and all of a party’s business, proprietary and/or technical information, data and processes, in any form, whether tangible or intangible, including without limitation any and all intellectual property, techniques, discoveries, inventions, processes, reports, studies, patents, patent applications, copyrights, copyright applications, know-how, trade secrets, system designs, client or prospect lists, industrial designs, affiliate or partner lists, finances, services, business practices, current and future business plans, and software programs, products and the like, disclosed pursuant to this Agreement or in furtherance of this Agreement and shall expressly include the include the existence and terms of this Agreement.|
|EEG Installation: means the process of installing and configuring the Source Code of the AHG Software Copy (or any version thereof) on to AHG’s servers at AHG’s Site so that it is ready to be modified by AHG and so that it can be compiled or interpreted into equivalent object code.|
|EEG Modifications: the modifications made to the AHG Software Copy (or any version thereof) by EEG to AHG’s specification, including but not limited to, those modifications required to develop the AHG Initial Version.|
|EEG Software: the online games and rewards platform and all other online software (or part thereof), including all Works in relation to the same as further detailed in Schedule 1.|
|EEG Support Services: means the ongoing development, support and maintenance services provided by EEG in relation to the AHG Software Copy (or any version thereof) as may be agreed in writing from time to time.|
|Effective Date: the date of this Agreement.|
|Encumbrance: means any interest or equity of any person (including any right to acquire, option or right of pre-emption) or any mortgage, charge, pledge, lien, assignment, hypothecation, security interest, title retention or any other security agreement or arrangement..|
|Intellectual Property Rights: means all patents, inventions, utility models, petty patents, registered and unregistered design rights, Know-How, copyrights, semi-conductor topography rights, rights of extraction relating to databases, the right to use software, marks, trademarks, trading name, domain names and all other similar proprietary rights of whatever nature and howsoever arising which may subsist in any part of the world including, where such rights are obtained or enhanced by registration, any registration of such rights and applications and rights to apply for such registrations.|
|Know-How: all confidential industrial and technical information and techniques in any form (including paper, electronically stored data, magnetic media, film and microfilm) including (without limiting the foregoing) drawings, formulae, test results, reports, project reports and testing procedures, instruction and training manuals, tables of operating conditions, specifications, tables and procedures (and all Intellectual Property Rights and goodwill therein) in relation to the EEG Software.|
|Knowledge Transfer: means the knowledge transfer services provided by EEG in order to assist AHG in its project of creating an AHG Custom Version adapted to its own needs and in order to enable AHG to maintain the AHG Initial Version (or any version thereof) by itself.|
|Legislation: means, with respect to any party, any national, state, common, local, municipal, foreign or other law, constitution, treaty, convention, ordinance, code, rule, circular, guidance notes, regulation, order, injunction, judgment, decree, ruling or other similar requirement enacted, adopted, promulgated or applied by a Governmental authority that is binding upon or applicable to such party, as amended unless expressly specified otherwise.|
|Normal Business Hours: 9.00 am to 6.00 pm local UK time on any Business Day.|
|Person: means an individual, corporation, partnership, limited liability company, association, trust or other entity or organization.|
|Source Code means software which is eye-readable and in such form that it can be compiled or interpreted into equivalent object code, and includes the necessary functional and technical information and documentation for the use, reproduction, modification and enhancement of such software.|
|Works: all works (and all Intellectual Property Rights and goodwill therein) in relation to the EEG Software, including, but not limited to the Source Code and all technical and functional information and documentation required to operate the EEG Software, all artwork, content and materials used in connection with the EEG Software and any other works in respect of which EEG is the legal and beneficial owner as at the date of this Agreement and which are being used as at the date of this Agreement in connection with the EEG Software.|
|1.2||The rules of interpretation in this clause apply in this Agreement.|
|a.||The words “hereof,” “herein” and “hereunder” and words of like import used in this Agreement shall refer to this Agreement as a whole and not to any particular provision of this Agreement.|
|b.||The captions herein are included for convenience of reference only and shall be ignored in the construction or interpretation hereof. References to Articles, Clauses, Sections, Exhibits and Schedules are to Articles, Clauses, Sections, Exhibits and Schedules of this Agreement unless otherwise specified.|
|c.||All Exhibits and Schedules annexed hereto or referred to herein are hereby incorporated in and made a part of this Agreement as if set forth in full herein. Any capitalized terms used in any Exhibit or Schedule but not otherwise defined therein, shall have the meaning as defined in this Agreement.|
|d.||Any singular term in this Agreement shall be deemed to include the plural, and any plural term the singular, and words denoting either gender shall include both genders as the context requires. Where a word or phrase is defined herein, each of its other grammatical forms shall have a corresponding meaning.|
|e.||Whenever the words “include,” “includes” or “including” are used in this Agreement, they shall be deemed to be followed by the words “without limitation,” whether or not they are in fact followed by those words or words of like import.|
|f.||The use of the word “or” shall not be exclusive.|
|g.||The word “will” shall be construed to have the same meaning and effect as the word “shall.”|
|h.||The word “party” shall, unless the context otherwise requires, be construed to mean a party to this Agreement. Any reference to a party to this Agreement or any other agreement or document contemplated hereby shall include such party’s successors and permitted assigns.|
|i.||A reference to any Legislation or to any provision of any Legislation shall include any modification, amendment, re-enactment thereof, any legislative provision substituted therefore and all rules, regulations and statutory instruments issued or related to such Legislation.|
|j.||Any rule of construction to the effect that ambiguities are to be resolved against the drafting party shall not be applied in the construction or interpretation of this Agreement. No prior draft of this Agreement nor any course of performance or course of dealing shall be used in the interpretation or construction of this Agreement. No parole evidence shall be introduced in the construction or interpretation of this Agreement unless the ambiguity or uncertainty in issue is plainly discernible from a reading of this Agreement without consideration of any extrinsic evidence. Although the same or similar subject matters may be addressed in different provisions of this Agreement, the parties intend that, except as reasonably apparent on the face of the Agreement or as expressly provided in this Agreement, each such provision shall be read separately, be given independent significance and not be construed as limiting any other provision of this Agreement (whether or not more general or more specific in scope, substance or content). The doctrine of election of remedies shall not apply in constructing or interpreting the remedies provisions of this Agreement or the equitable power of a court considering this Agreement.|
|2.1||In consideration for and as a condition to AHG entering into the Assignment Agreement and subject to the terms of this Agreement, EEG hereby grants to AHG a perpetual, irrevocable, royalty free licence:|
|2.1.1||subject to clause 2.2, from the Effective Date until the 4th anniversary of the Effective Date to use, reproduce and exploit the AHG Software Copy (including any version thereof) on an exclusive basis within the People’s Republic of China;|
|2.1.2||after the 4th anniversary of the Effective Date to use, reproduce and exploit the AHG Software Copy (including any version thereof) on a non-exclusive basis anywhere in the world; and|
|2.1.3||at any time after the Effective Date to change, copy, alter, add to, take from, adapt or translate the AHG Software Copy in order to create, use and exploit the AHG Initial Version and any AHG Custom Version in accordance with clauses 2.1.1 and 2.1.2 above.|
|2.2||At any time prior to the 4th anniversary of the Effective Date, AHG may send written notice to EEG requesting its consent to expand the geographical reach of the licence granted in clause 2.1.1 above on a non-exclusive basis, such consent not to be unreasonably withheld, giving consideration to the intended use by AHG of the AHG Software Copy (including any version thereof) and the territories, markets, businesses and products that EEG is at the time of the notice involved or associated with, or reasonably close to being involved or associated with, to determine whether any expansion of the licence in 2.1.1 would be reasonably regarded as competitive to EEG or its business and therefore deeming the refusal to give such consent as reasonable.|
|2.3||Subject to clause 2.4, the parties hereby agree that the Software Licence is personal to AHG and AHG may not assign, charge, sublicense or otherwise deal in or dispose of, in whole or in part, any of its rights under the Software Licence without the prior written consent of EEG provided that AHG may assign or transfer all of its rights and obligations under the Software Licence without the consent of EEG to any AHG Affiliate for so long as such AHG Affiliate remains an Affiliate of AHG.|
|2.4||The parties hereby agree that:|
|(a)||prior to the 4th anniversary of the Effective Date, AHG shall have the right to sell or dispose of all its rights under the Software Licence provided that as a condition of the completion of the sale or disposal, EEG is notified in writing in advance and the party acquiring the rights to the Software Licence agrees in writing to be bound to the terms of this Agreement; and|
|(b)||after the 4th anniversary of the Effective Date, AHG shall have the right, at its sole discretion, to assign, charge, sublicense or otherwise deal in or dispose of, in whole or in part, any of its rights under the Software Licence without the prior written consent of EEG.|
|2.5||The parties hereby agree that AHG shall not use, reproduce or exploit the AHG Software Copy (including any version thereof) for any purpose that may be reasonably deemed to be in competition with EEG’s business of online real money gambling.|
|2.6||For the avoidance of doubt, nothing in this Clause 2 shall affect EEG’s ownership of, or right to exploit the EEG Software in its original form or the EEG Modifications at any time provided that EEG agrees that from the Effective Date until the 4th anniversary of the Effective Date, EEG shall not use, reproduce or exploit, or grant any Person the right to use, reproduce of exploit, the EEG Software (including any version thereof) within the People’s Republic of China (and any other territory as may be agreed between the parties in writing from time to time).|
|3.||Delivery of the AHG initial version and the AHG Installation|
|3.1||The AHG Initial Version shall be completed by EEG in accordance with the development road map as set out in Schedule 2.|
|3.2||EEG will carry out and complete the AHG Installation at such time as may be requested by AHG on the provision of reasonable notice.|
|3.3||EEG shall provide a combination of workshops and hands-on training during the development of the AHG Initial Version to the extent necessary to complete the Knowledge Transfer to AHG’s satisfaction.|
|3.4||On completion of the AHG Initial Version, EEG shall provide the EEG Support Services each month from the Effective Date subject to termination by either party giving the other a minimum of three month’s written notice, such notice to expire no earlier than [31st December 2020].|
|4.||Fees and payment|
|4.1||In consideration of the development of the AHG Initial Version, the AHG Installation and Knowledge Transfer, AHG shall pay to EEG the sum of thirty thousand pounds (30,000 GBP) per month (or part thereof) from the Effective Date until such development and Knowledge Transfer are completed.|
|4.2||In consideration for EEG providing the EEG Support Services, AHG shall pay to EEG such fee as may be agreed in writing between the parties from time to time based on a developer day rate of £500 per day.|
|4.3||AHG will reimburse EEG for all reasonable and properly incurred travel and accommodation expenses incurred for any work that is required to be conducted provided such expenses are agreed to by AHG in advance of them being incurred.|
|4.4||All sums due under this Agreement shall be payable by the applicable party in full in pounds sterling within thirty (30) of the date of invoice.|
|4.5||If a party fails to make any payment due to the other party under this Agreement by the due date for payment, then, without limiting that party other remedies under this Agreement, that party may charge interest on the overdue amount at the rate of 1% per annum above the Bank of England base rate from time to time. Such interest shall accrue on a daily basis from the due date until actual payment of the overdue amount, whether before or after judgment. A party shall pay the interest immediately on demand by the other party.|
|5.||Intellectual Property Rights|
|5.1||Unless otherwise agreed between the parties and subject to the terms of this Agreement, all Intellectual Property Rights in the EEG Software and the EEG Modifications shall belong to EEG.|
|5.2||Unless otherwise agreed between the parties and subject to the terms of this Agreement, all Intellectual Property Rights in the AHG Modifications shall belong to AHG.|
|5.3||EEG shall not do or authorise any third party to do any act which would or might invalidate or be inconsistent with any of AHG’s rights under this Agreement and shall not omit or authorise any third party to omit to do any act which, by its omission, would have that effect or character.|
|5.4||Other than what is expressly granted under this Agreement, neither party grants any licence of, right in or makes any assignment of any of its Intellectual Property Rights. In particular, AHG shall have no rights in respect of any trade names or trade marks used by or associated with EEG in relation to the EEG Software or their associated goodwill.|
|5.5||EEG shall promptly give notice in writing to AHG in the event that it becomes aware of:|
|(a)||any infringement or suspected infringement of the Intellectual Property Rights in or relating to the EEG Software; and|
|(b)||any claim that the EEG Software infringes the rights of any third party|
|5.6||Notwithstanding the foregoing, EEG agrees that in the event of any default of any of the terms of this Agreement by AHG, the only remedy of EEG towards AHG will be an action at law for damages, if any, actually suffered by EEG (together with costs and interest). In no event shall EEG be entitled to rescind this Agreement, receive injunctive or other equitable relief or enjoin or restrain AHG’s exploitation of the AHG Software Copy or any version thereof, or of any rights granted and assigned under this Agreement.|
|6.1||Each party may have access to Confidential Information of the other party under this Agreement. A party’s Confidential Information shall not include information that:|
|(a)||is or becomes publicly known through no act or omission of the receiving party; or|
|(b)||was in the other party’s lawful possession prior to the disclosure; or|
|(c)||is lawfully disclosed to the receiving party by a third party without restriction on disclosure; or|
|(d)||is independently developed by the receiving party, which independent development can be shown by written evidence; or|
|(e)||is required to be disclosed by law, by any court of competent jurisdiction or by any regulatory or administrative body; provided that in such an occurrence, the party required to disclose the Confidential Information of the other party shall promptly inform the other party of such request and take such steps that would ensure the protection and confidential treatment of the Confidential Information.|
|6.2||Each party shall hold the other’s Confidential Information in confidence and, unless required by law, not make the other’s Confidential Information available to any third party or use the other’s Confidential Information for any purpose other than the implementation of this Agreement.|
|6.3||Each party agrees to take all reasonable steps to ensure that the other’s Confidential Information to which it has access is only shared with those employees or agents of the party that reasonably need access and is not disclosed or distributed by such employees or agents in violation of the terms of this Agreement.|
|6.4||For the avoidance of doubt, this agreement is confidential. Neither AHG (except for within AHG Group), nor EEG (except for within its Group, i.e. parent companies and/or subsidiaries) shall communicate in any manner about it, except if otherwise agreed in written between the two parties.|
|6.5||This Clause 6 shall survive termination or expiry of this Agreement, however arising.|
|7.||Protection and processing of personal data|
|7.1||Each party shall comply with its respective obligations under the provisions of relevant data protection Legislation applicable to that party.|
|8.1||Each party represents, warrants and undertakes that:|
|(a)||it has full capacity and authority and all necessary consents and corporate actions to enter into and to perform this Agreement and to grant the rights and licences referred to in this Agreement and that this Agreement is executed by its duly authorised representative and represents a binding commitment on it; and|
|(b)||it shall comply with all applicable Legislation in the performance of its obligations under this Agreement.|
|8.2||EEG represents, warrants and undertakes that:|
|(a)||EEG is the sole legal and beneficial owner of the EEG Software free from Encumbrances and is entitled to license the EEG Software free from Encumbrances to AHG on the terms of this agreement without the consent of a third party and the contemplated use of the Software Licence under this Agreement does not infringe on any right of a third party, including any third party Intellectual Property Rights.|
|(b)||The AHG Initial Version installed at AHG’s Site during the AHG Installation shall be an exact copy of the AHG Initial Version and shall be in satisfactory working order.|
|(c)||The AHG Initial Version installed at AHG’s Site during the AHG Installation shall not contain any viruses, Trojan horses or worms, including any “back door”, “drop dead device”, “time bomb”, “spyware” or “adware” (as such terms are commonly understood in the industry) that may damage, detrimentally interfere with, surreptitiously intercept or appropriate any system, data or personal information of AHG, its business or its operations.|
|(d)||The AHG Initial Version shall be fit for its purpose so as to offer AHG the highest level of functionality and reliability commensurate with the limitations of the appropriate technology platform and shall be designed, written and developed or created in accordance with best industry practice by staff with appropriate skills and training using all reasonable skill and care.|
|(e)||EEG shall render and perform the AHG Installation, the AHG Modifications, the Knowledge Transfer and all other such obligations under this Agreement to the best of its skill and ability (to a best practice standard customary in the technology services industry) and will promptly give to AHG all such information as it may reasonably require in connection with matters relating to the delivery of its obligations under this Agreement.|
|9.1||Subject to Clause 9.2, EEG shall indemnify, defend and hold harmless AHG and any of its Affiliates and sub-licensees from and against any and all loss, cost, claim, liability, suit, judgment or expense (including, without limitation, reasonable attorneys’ fees) resulting from a third party claim resulting from or arising out of any breach by EEG of its representations and warranties contained in this Agreement or arising out of an allegation or claim that the use of the license granted by EEG to AHG infringes on any Intellectual Property Rights of a third party. AHG shall notify EEG in writing of such claim and shall provide EEG with reasonable information and assistance (all at EEG’s expense) in defending such claims, however AHG is allowed to retain separate legal counsel.|
|9.2||AHG shall not be entitled to make a claim under Clause 9.1 above to the extent that any third party claim relates to any act or omission occurring prior to the Effective Date.|
|10.||Limitation of liability|
|10.1||Subject to Clause 9.1, 10.2 and 10.3, each party’s maximum liability to the other in respect of any claims arising out of or in connection with this Agreement shall be limited to the aggregate of the fees payable by AHG to EEG in the twelve (12) months prior to the event giving rise to the claim or, if no such twelve (12) month period has elapsed, the sums which have been and would be payable during the twelve (12) months from the Effective Date, whether in contract, tort, negligence or otherwise.|
|10.2||Except as expressly and specifically provided in this Agreement, all warranties, conditions and other terms implied by statute or common law are, to the fullest extent permitted by law, excluded from this Agreement.|
|10.3||Nothing in this Agreement excludes or limits the liability of a party:|
|(a)||for death or personal injury caused by such party’s negligence;|
|(b)||for fraud or fraudulent misrepresentation; or|
|(c)||any other matter which cannot be excluded or limited by applicable law.|
|11.1||Without prejudice to any other rights or remedies to which the parties may be entitled, either party may terminate the Agreement without liability to the other if:|
|(a)||the other party commits a material breach of any of the terms of this Agreement and (if such a breach is remediable) fails to remedy that breach within 30 days of that party being notified in writing of the breach; or|
|(b)||an order is made or a resolution is passed for the winding up of the other party, or circumstances arise which entitle a court of competent jurisdiction to make a winding-up order of such other party; or|
|(c)||a receiver is appointed of any of the other party’s assets or undertaking, or if circumstances arise which entitle a court of competent jurisdiction or a creditor to appoint a receiver or manager of such other party, or if any other person takes possession of or sells such other party’s assets; or|
|(d)||the other party makes any arrangement or composition with its creditors, or makes an application to a court of competent jurisdiction for the protection of its creditors in any way, or becomes bankrupt; or|
|(e)||the other party ceases, or threatens to cease, to trade; or|
|(f)||the other party takes or suffers any similar or analogous action to any of the foregoing in any jurisdiction in consequence of debt.|
|12.||Effects of termination|
|12.1||Upon a termination event however arising:|
|(a)||the accrued rights of the parties as at termination or the continuation after termination of any provision expressly stated to survive or implicitly surviving termination shall not be affected or prejudiced; and|
|(b)||the rights granted by EEG in Clause 2 shall continue in force.|
|13.1||Neither party shall be in breach of this Agreement nor liable for delay in performing, or failure to perform, any of its obligations under this Agreement if such delay or failure reasonably results from events, circumstances or causes beyond its reasonable control, including, without limitation, strikes, lock-outs or other industrial disputes (whether involving the workforce of EEG or any other party), failure of a utility service or transport or telecommunications network, act of God, global pandemic, war, riot, civil commotion, malicious damage, compliance with any law or governmental order, rule, regulation or direction, accident, breakdown of plant or machinery, fire, flood, storm or default of suppliers or sub-contractors. In such circumstances the affected party shall be entitled to a reasonable extension of the time for performing such obligations, provided that if the period of delay or non-performance continues for six months, the party not affected may terminate this Agreement by giving 30 days’ written notice to the other party.|
|14.||Third party rights|
|No person other than a party to this Agreement shall have any rights to enforce any term of this agreement.|
|15.1||All notices, requests and other communications required or permitted under, or otherwise made in connection with, this Agreement, shall be in writing and shall be deemed to have been duly given (a) when delivered in person, (b) upon confirmation of receipt when transmitted by email, (c) upon receipt after dispatch by registered or certified mail, postage prepaid or (d) on the next business day if transmitted by national overnight courier (with confirmation of delivery), in each case, addressed as follows:|
if to EEG, to:
Esports Entertainment Group, Inc
112 North Curry Street,
Attention: Grant Johnson
if to AHG, to:
AHG Entertainment Associates, LLC700 West Morse Boulevard
Attention: Gene Harris
|16.1||Without limiting any other provision of this Agreement, each party shall consult with the other and issue a joint press release with respect to the execution of this Agreement. Thereafter, neither party shall issue any press release or other announcement (to the extent not previously publicly disclosed or made in accordance with this Agreement) with respect to this Agreement without the prior consent of the other party hereto (such consent not to be unreasonably withheld, conditioned or delayed), except as such press release or other announcement may be required by applicable law or the applicable rules of a national securities exchange, in which case the party required to issue the release or make the announcement shall use its commercially reasonable efforts to provide the other party with a reasonable opportunity to review and comment on such release or announcement in advance of its issuance|
|17.1||The rights and remedies of the parties hereto shall be cumulative (and not alternative). The parties hereto agree that irreparable damage would occur if any provision of this Agreement were not performed in accordance with the terms hereof and that the parties shall be entitled to an injunction or injunctions to prevent breaches of this Agreement or to enforce specifically the performance of the terms and provisions of this Agreement in addition to any other remedy to which they are entitled to at law or in equity, in each case without the requirement of posting any bond or other type of security.|
|18.1||No failure or delay by any party in exercising any right, power or privilege hereunder shall operate as a waiver thereof nor shall any single or partial exercise thereof preclude any other or further exercise thereof or the exercise of any other right, power or privilege.|
|19.1||Subject to clauses 2.2 and 2.3, no party may assign, delegate or otherwise transfer any of its rights or obligations under this Agreement without the consent of the other party hereto, except that EEG may transfer or assign its rights and obligations under this Agreement, in whole or from time to time in part, to one or more of their Affiliates at any time and provided that such transfer or assignment shall not relieve EEG of its obligations hereunder or enlarge, alter or change any obligation of any other party hereto or due to AHG.|
|20.1||This Agreement (including the Schedules) constitutes the entire agreement between the parties with respect to the subject matter of this Agreement and supersede all prior agreements and understandings, both oral and written, between the parties with respect to the subject matter of this Agreement.|
|21.1||If any term, provision, covenant or restriction of this Agreement is held by a court of competent jurisdiction or other governmental authority to be invalid, void or unenforceable, the remainder of the terms, provisions, covenants and restrictions of this Agreement shall remain in full force and effect and shall in no way be affected, impaired or invalidated so long as the economic or legal substance of the Software Licence is not affected in any manner materially adverse to any party. Upon such a determination, the parties shall negotiate in good faith to modify this Agreement so as to effect the original intent of the parties as closely as possible in an acceptable manner in order that the Software Licence be consummated as originally contemplated to the fullest extent possible|
|22.1||This Agreement may be executed in any number of counterparts, each of which when executed and delivered shall constitute an original of this Agreement, but all the counterparts shall together constitute the same agreement.|
|23.||Time Is Of The Essence|
|23.1||Time is of the essence with respect to the performance of this Agreement.|
|24.||Governing law and jurisdiction|
|24.1||This Agreement shall be governed by and construed in accordance with the laws of the State of Nevada, without giving effect to principles of conflicts of laws that would require the application of the laws of any other jurisdiction.|
|24.2||The parties hereto agree that any proceeding seeking to enforce any provision of, or based on any matter arising out of or in connection with, this Agreement shall be brought in any federal court located in the State of Nevada or any Nevada state court, and each of the parties hereby irrevocably consents to the jurisdiction of such courts (and of the appropriate appellate courts therefrom) in any such proceeding and irrevocably waives, to the fullest extent permitted by law, any objection that it may now or hereafter have to the laying of the venue of any such proceeding in any such court or that any such proceeding brought in any such court has been brought in an inconvenient forum. Process in any such proceeding may be served on any party anywhere in the world, whether within or without the jurisdiction of any such court.|
|24.3||EACH OF THE PARTIES HERETO HEREBY IRREVOCABLY WAIVES ANY AND ALL RIGHT TO TRIAL BY JURY IN ANY LEGAL PROCEEDING ARISING OUT OF OR RELATED TO THIS AGREEMENT.|
This Agreement has been entered into on the date stated at the beginning of it.
|Signed by Grant Johnson|
|for and on behalf of||Director|
|Esports Entertainment Group, Inc|
|Signed by Gene Harris|
|for and on behalf of||Manager|
|ahg Entertainment, Associates llc|
1. Game Matrix
The Game Matrix (abbreviated as GMX) is both a Platform as a Service and Software as a Service, that exposes a set of predefined components and tools that allow 3rd party to develop their own products against a set of well defined and maintained features. This allows the developers to concentrate on the task at hand that will drive their business forward, instead of spending time on building the foundation that their software will stand on and further loosing precious time on maintenance of said infrastructure and features.
Game Matrix was built originally to satisfy needs of a loyalty platform (Rewards Matrix), where partners would be able to easily onboard customers with a single-sign on service, award users for their activity and provide an outlet for accumulated reward points.
OIDC micro-service as the name suggest itself is being used for OpenID Connect authentication flow. This service stores whole profile data, permissions and basically is the core of AAA pattern, where AAA stands for:
This micro-service is responsible for providing many functionalities related to Virtual Currencies, including:
|●||A Partner is able to configure many Virtual Currencies|
|●||A Partner is able to configure visibility this currencies to other partners|
|●||A Partner is able to configure operation commissions|
|●||A Partner is able to configure exchange rate between currencies.|
|●||Currencies exchange rates can be feed from external sources.|
With given flexibility, a Partner can have simple Wallet system or a complex affiliate system with all commission flows between player’s originator, a external retailer and own Virtual Points exchanges.
One of the GMX platform components is VirtualShop(VS) micro-service, responsible for providing various types of virtual products to end-user. The main goal of this service is to serve defined products to Partners, each user can then choose and purchase a suitable product for him. All transactions are based on prescribed Virtual Currencies in WalletService. VS supports products that are defined in our infrastructure and those which require integration with an external supplier. There is big flexibility in creating and managing items their types, bonus types, etc. Based on tags we can define product visibility for each particular end-user. Users have the possibility to check all his previous Orders, their status, etc.
In modern systems, in order to provide the quick answer to the device communicating with the platform, more and more tasks are being processed in the background, promoting the asynchronous processing pattern.
High throughput and system performance is not only reasons why this module was created, because there are processes that must respond to the events, integrate external data sources or periodically perform certain operations (e.g., generating reports).
All of the factors above have created a dual micro-service that is a symbiosis of the asynchronous rest nano-service based on the FastAPI framework with the Apache Nifi pipeline/data flow processing manager.
Our existing Data Processing pipeline built on open-source technologies including Apache Kafka and Apache Flink is currently processing around 300 Million messages each day, with spikes to 1.5 Billion, and is capable of scaling well beyond its current workload.
Kafka Real-Time Backup
In order to allow business continuity and system resilience, it has been decided to facilitate a real-time replication of all topics from production Kafka cluster to a single node in separate region.
User Context Service
A Stateful Micro-service which manages the current state of each User within the system.
Implemented using the Lagom Framework each User is modeled as a Lagom Persistent Entity (backed by an Akka Persistent Actor) allowing for persistence via an Event-Sourcing approach.
Messages arriving from existing Kafka Topics relating to User behaviour (betting behaviour, deposits, withdrawals, time-outs, logins, etc) are used to trigger Commands which change the state of User and, in turn, emit Events onto the inter-service topics for consumption by downstream services.
Responsible Gambling Service
The Responsible Gambling (RG) service ingests Events relating to User activity and uses those Events, along with the historical activity of the User to determine if any of the predefined Trigger criteria have been met.
Each User has a ‘Risk Score’ associated with their account - this is a single number between 0 and 100 which indicates the danger of the User having a gambling problem.
If an Event has occurred often enough within a given time period (for instance, a user has changed their deposit limit 3 times within a week) then an Alert is dispatched.
An Alert triggers interaction with the Customer account (either by tagging the account, freezing the account, sending a message directly to the user or triggering a call to the user from a Customer Services Representative - or some combination of those actions).
An Alert also triggers a recalculation of the Risk Score for a User.
Referral System rewards existing customers for inviting new players to the site. Every customer (unless specifically excluded from RAE) has access to a unique link that then can copy and share or send directly via email or social media using the widgets on the page. When a new user clicks and registers via the existing customers link, the customers are linked.
The link can be multiple layers deep, which encourages higher tiered users to promote invites down their stream. The system allows for rewards being initiated at specified goals, as well as on every individual transaction (commission based).
This system is bound to the Rewards Matrix
This is simple micro-service used to communicate with users. It can store user’s device ID to push notifications for Apple and Android phones. For email notifications it has been integrated with SendGrid email system and templating. Lates fix enabling SendGrid Modern templating system based on HandleBars template language.
Currently replaced by Processing Pipeline to some extent.
The Rewards Matrix (abbreviated as RMX) is a loyalty and affiliation platform designed to bring together a wide array of inline retail and entertainment sites with a view to building a fully-immersive player experience leading to high levels of loyalty and retention.
FLIP Sports - Fantasy Fever
FLIP Sports Fantasy Fever, is a social fantasy football game that offers in-play fantasy football competition during live matches. Fantasy managers can go head-to-head or play in private and public leagues; the challenge in each scenario lasts for the duration of the match and the winner is the manager with the most points by the final whistle. Fantasy managers can compete against each other for virtual currency, with overall leaderboards to see how they compare against friends and other users. There are various other in-game strategy and social features, including the ability to make substitutions, play boosters, chat and send banter icons, which add to the gaming experience. The game also provides in depth statistics and data on players, teams and matches, both in real time and over the course of the season and can therefore be used as a resource outside of game play for users to keep up to date with news and information on their favourite teams and players.
Data is Received from data sources via Apache Camel. Data is processed via Camel routes and passed to other elements of the system as well as any 3rd party consumers which may require this data as well as the Flipsports system itself.
The original provider’s data is transformed to a custom JSON format that Flipsports consumes and this JSON format is processed by an Akka-based application which persists the data to Postgres and posts messages to Kafka topics which trigger the recreation of ‘Stat Centre’ data which is then stored in Redis.
API applications provide a point of access for client applications; we currently provide a Stat Centre application, Leaderboards and the Game API itself.
Finally, there’s a ‘Manager’ application which provides an IDE-style interface for managing the various parts of the system; pushing simulated data, monitoring games in progress etc.
The data processing stage allows us to take data from ANY data source in practically any format on practically any transport system and turn it into a JSON format which our system can work with. In this way we’re completely decoupled from the source of data via this ‘interface’ layer.
We use Apache Camel for this processing as it allows us to manage a huge number of transports and formats ‘out-of-the-box’ and to easily add our own should something more esoteric be employed by a data provider.
All the raw data received from providers is stored in an S3 bucket so that our simulator system can ‘replay’ data at a later date during a testing phase, the transformed data is, likewise, stored in S3 for future simulated playback.
3rd Party Consumption
At any point we can re-surface this data to any 3rd party consumers should we wish to for any reason. We can also add extra preprocessing/transformations here to customise the data for a 3rd party on an ad-hoc basis.
Challenges & Leagues
Games are based on Leagues, which consist of a collection of Challenges made by different Users who create Teams from one or more Players involved in one or more Events.
In the case of Fantasy Sports a Player is a footballer, rugby player, golfer etc and and Event is a football or rugby fixture, golf tournament or some other sporting event.
It’s Not Just Sport...
But we’re not restricted to sports - an Event could be an episode of a Reality TV show, in which case a Team could consist of a single contestant on that show and the League could be made up of all episodes of that show. Now Users are playing a Fantasy version of that show.
In fact anything that meets the following criteria can become a Fantasy game in this system.:
|●||One or more Events which have a predefined beginning and end.|
|●||Involve more than one Player.|
|●||We can map fantasy Points to actions taken by the Players .|
Points are awarded to Players based on some action they take in the Event(s) they’re involved in - in the case of football this could be a goal, conceeding a free kick, etc. etc but in other domains it could be any event that we can get data for; the number of votes garnered by a candidate in an election, successfully eating something disgusting on a Reality TV show, etc.
The system just needs a ‘mapping’ that tells it how many points to give a Player when data is received updating the system about an Event.
There are many possible configurations for a League but they all must follow these rules:
|●||Challenges can’t be added after the Event(s) move in-play|
|●||Challenges are complete when all Event(s) are complete.|
Other than that you can do whatever you like (within reason) - Challenges can be Head-to-Head resulting in a League with only 2 Challenges the winner of which is the User with the Team that has the most number of fantasy Points.
Challenges can be Public Leagues which anyone can join and the winner, again, has the most points.
Challenges can be Private Leagues, with entry restricted by some set of logical rules, or any other type of configuration you see fit. If it can be defined in code, it can be a League.
AHG INITIAL VERSION
This Schedule sets out the technology, resources and schedule required to launch the GMX platform for Waysun on Aliyun. The approach taken provides a strong foundation to facilitate the additional phases and expansion of the offering.
The traditional ‘waterfall’ method for delivering engineering projects which have been used in software engineering for many years now is rarely appropriate or useful. By spending so much time planning and designing the market moves on and by the time our product is delivered, it’s out-of-date.
The Agile methodology, building on the principles developed over the latter half of the 20th century by the Toyota Production System advocates a very different model of delivery which fits our platform much better.
By delivering an initial product which provides the minimum functionality necessary (the so-called Minimum Viable Product) we quickly deliver value to our customers. We can then elicit feedback from our customers, understand what works, what doesn’t and what other features we should be focusing on next and then quickly iterate.
Constructing these fast feedback loops allows us to continuously deliver value to our customers whilst ensuring we don’t stray too far from where our customers are telling us to go.
The multi-stage approach required in this project, then, is a good fit for our natural approach to the delivery of a software product.
There are core features required by Waysun are as follow:
Authentication/Authorisation: Users must be able to log in using a phone number and password flow, as well as multiple social login solutions, such as WeChat Login. Each user permissions are defined by extensive permission matrix, that is fully in control of the partner.
Wallet: Customers must be able to deposit money into and withdraw money from their accounts in order to purchase products or subscriptions. The wallet has to be able to support multiple currencies, that can be shared between projects (single wallet solution).
Virtual Store: To provide a compelling offering to the customer, the partner has to have the capability to offer a wide variety of products and multi-tiered subscriptions.
Payment Gateway: Good customer experience is a key when it comes to payments. There are currently two payments planned for integration AliPay and WeChat Pay. This service is responsible for confirming payments done on the frontend and passing the information to both the wallet and the store for further processing. It has to handle things, such as renewal triggers.
Metrics, Metrics, Metrics: Gathering data from the way customers interact with the site, from Customer Services interactions, surveys and interviews we can generate the insights we need to drive the feature sets customers are craving and deliver those features to them.
During development and delivery of the MVP product we will be generating the backlog of features that will be developed in future versions. That feature backlog can then be prioritised and delivered so as to generate maximum value for customers.
|(b)||Existing Technology Stack|
Our ability to deliver platform features is accelerated by the existing technology we have in production already serving production workloads.
Data Processing Pipeline & Messaging Backbone: Our existing Data Processing pipeline built on open-source technologies including Apache Kafka and Apache Flink is currently processing around 350 Million messages each day and is capable of scaling well beyond its current workload (current highest achieved load of 1.5 Billion messages a day).
Continuous Delivery: The continuous delivery pipeline we have in place that allows us to automate the build, test and deploy cycle of the software we create. Software Engineers can concentrate on delivering value to customers when they can be confident that the code they check in to version control will be rigorously tested before being delivered into an environment where a customer can see the results.
Infrastructure Monitoring: Having a complete picture of the infrastructure is without a doubt one of the most important aspects. The augmented ELK stack (ElastiSearch, Logstash, Kibana), with Kafka in front of it, allows for exactly that. Every log and monitoring metric is retained for a minimum period of 30 days, allowing the developers to go back and investigate any performance issues. Alarm are set to make sure team is informed about any impending or ongoing issues.
Authentication/Authorisation: Our OpenID Connect service is capable of securely authenticating users well beyond its current scale. The specification suite is in use by some of the largest technology companies in the world today (Google, for example) and is extensible, allowing us to accommodate new functionality easily within our existing infrastructure.
Wallet: Our existing Wallet system has been heavily tested in production over the two-and-a-half years and supports multiple payment provider integrations right now and is designed to easily support others in future.
Virtual Store: Similarly to the Wallet system, this service has been extensively tested in production over two years. It currently allows partners to define a wide variety of products, ranging from one time purchases, consumables, to subscriptions. The store also support products with limited stock. Purchase of each product can trigger an external API or send a web-hook to predefined URL.
Compliance Service: Main purpose of GMX was to provide operational advantage for operators in gambling industry, which has very strict regulations when it comes to KYC, AML and Risk Assessment. Compliance Service has been designed to allow constant evaluation of customers based on their activity. This service reads every data point provided and calculate risk scores based on triggers hit. It is fully configurable and can be utilised outside of the compliance spectrum. (under development, with MVP to be ready mid-September).
|(c)||Schedule in numbers|
The schedule has been carefully planned and stories have been defined, completion of which will deliver the MVP of the product in question.
Value of one week is equal to 5 working days and 1 working day is equal to 8 working hours.
34 stories - high-level tasks describing the functionality for the MVP, see Appendix 1 for full details
109 days ~ 21 weeks 3 days and 2 hours - total time to completion according to schedule
|(i)||Estimated Resource Requirements and Timeline|
|●||1 x Frontend|
|●||2 x Backend|
|●||1 x DevOps|
Delivery estimate: Week commencing the 7th September
|(ii)||Additional Resource Requirements and Timeline|
We believe that the timeline will not be significantly affected by additional resource at this stage, as lead time and necessary training will be required. On the other hand, it would be advisable to expand the team by additional two team members:
This would alleviate some strain on existing resource and allow for better ongoing support for this project in the future. It would also allow us to better protect the software from regressions in the future. This team improvement has been discussed in the past and should be addressed.
The main bottleneck on this project will be reconfiguring the infrastructure-as-a-code to support Aliyun. In order to speed the process, the development target will be Alibaba Cloud International Service, as it shares features with its counterpart Aliyun. This will allow us to develop the infrastructure without the overhead of the China Mainland network restrictions. Once project has been confirmed as fully operational, it will be reconfigured further to support the China mainland solution Aliyun.
While this work takes place, our team will focus on tailoring the existing features to better fit the project requirements. Please see Appendix 1 for further details.
Director and CTO
Tom began his career in FinTech, working as a data analyst and DB administrator. 4 years later Tom broke up with IT and started relentless searched for his passion, just to realise it is in IT after all. “Love of Games” and programming fusion resulted in him moving into the gaming industry as a programmer, where he worked on projects for Microsoft, Activision, Nomad, Ideaworks, and many others. He has spent the last 7 years working on backend systems and solution architecture with a keen focus on gambling. Tom has delivered over 50 projects in 18 languages to 11 platforms. Tom is security-conscious almost to the point of obsession, with a focus on the human element (If you see one of his security lectures, you can be rest assured there are going to be references to Kevin Mitnick.)
Head of Engineering
After his bid at rock stardom failed spectacularly Trevor now has almost 20 years of experience working on front-end interfaces for gambling games, embedded systems and web applications. Over the last 10 years Trevor has become more focused on backend systems spending the last few years helping a range of organisations including ING Bank, BP and The German Federal Employment Agency make the move from legacy monolithic, batch-oriented systems to more event-based Reactive Architectures.
Senior Solutions Architect
After 14 years in Python, Java and backend development there are few problems that Wojtek is unable to solve. Wojtek has two passions when it comes to development, application security and reverse engineering. He has a very particular set of skills that allows him to make any 3rd party integration possible.
Senior Java/Scala Developer
Sebastian is a true purist when it comes to clean code and the processes around continuous integration and delivery. After spending 13 years developing his skills as a Java/Scala developer working for the likes of AXA, Atande and Polsat he is now a key member of the core FLIP team. He is not shy to point out misuse of a pattern, keeping everyone in check.
Senior Java/Scala Developer
After 14 years in software development at large telecom and medical corporations when it comes to high-throughput/low-latency streaming data pipelines Piotr is the guy you call. At FLIP he has designed and delivered a data pipeline that processes upwards of 1.3 Billion messages a day without breaking a sweat.
DevOps and Network Engineer
Coming from the Network Engineering field Patryk is the one that truly understands how the Internet works. He has spent 4 years working for ISP’s and large networking solution providers. Over the last 3 years he has shifted focus to DevOps. His in-depth knowledge of networks, combined with a passion for information security allows him to design flows and processes that safeguard our services from any external threat. Patryk is a CCNA and CCNP certified engineer.
Head of Frontend Engineering & User Experience Design
Ex professional Counter Strike player. Paul has turned his childhood passion for web design and development into a profession that he has spent mastering through 18 years of his career. Over the last 5 years his primary focus has been on Angular and related technologies. The advent of the ‘Smart Phone’ created an opportunity for him to expand his expertise in mobile development with hybrid apps and Ionic. Every decision he makes is grounded in user experience and validated by data insight.
|(a)||Appendix 1 - Task List|
|As a Partner I must be able to set up a payment methods available for Wallet transactions||3 days|
|As a Partner I could be able to configure withdrawal/deposit gateways for currencies||1 week|
|As a Developer I must be able to monitor infrastructure||1 week|
|As a Developer I could be able to trigger microservice software version deploy via CD/CI pipeline||2 weeks|
|As a DevOps I must be able to deploy GMX infrastructure on Aliyun||5 weeks|
|As a User I could be able to protect my account with MFA||3 days||Business decisions and whole process flows must be designed. Time estimations made on only simple MFA with secret key generated for each user.|
|As a User I must be able to login using social login||3 days||Time estimation based on only WeChat OAuth 2.0 authorization flow|
|As a authorized User I must be able to change my profile details||4 hours|
|As a User I must be able to buy a product||2 days|
|As a User I must be able to retrieve list of available products||4 hours|
|As an authorized User I must be able to change my password||4 hours|
|As a User I must be able to change forgotten password||3 days|
Time estimation based on decided flow.
Recommended phone number verification via text message
|As a Partner I must be able to verify a receipt for transaction with a Payment Provider||2 weeks|
Time estimations based on integration with:
|● InApp Payment|
|● QR Code Payment|
|●||AliPay REST API|
|Some documentation is available only in Chinese language, which can negatively impact the delivery schedule of this story.|
|As a User I must be able to login using phone number and password||1 day|
|As a Developer I must be able to generate webhook available for Payment Providers||3 days||Used i.e. by WePay to send subscription renewal notification|
|As a User I must be able to see my wallet balance||4 hours|
|As a Partner I could be able to put subscription product on sale||1 day|
|As a User I must be able to update subscription level||2 days|
|As a System Admin I must be able to define default scopes for authorizing context||4 hours||In OpenId Connect spec, System admin, can set up authorizing context and default permissions will be granted when user authorizes|
|As a Partner I must be able to configure social auth details||1 day||As a Partner I must be able to choose with authorization methods are allowed and provide configuration for enabled gateway|
|As a User I must be able to cancel subscription renewal||1 day|
|As a Partner I must be able to set up a new subscription product||2 days|
In addition to regular product configuration:
|●||the length of the subscription|
|●||levels of subscription|
|As a User I must be able to retrieve my active subscriptions||4 hours|
|As a User I must be able to buy a subscription product||1 day|
|As a Partner I should be able to set up exchange rate between currencies||1 day|
|As a Partner I must be able to define currencies available for wallet||1 day|
|As a Partner I must be able to see my user’s wallet details||4 hours||Operations history and balance|
|As a Partner I should be able to add manual corrections to the user’s wallet transactions||4 hours|
|As a Partner I could be able to put an existing product on sale||2 days||Define:|
|●||sale availability cron expression|
|As a Partner I must be able to update my subscriptions||2 days|
|As a Partner I must be able to setup a new product||2 weeks|
Configuration should allow but not be limited to:
|●||base product definitions (title, description, strapline, base price, currency)|
|●||gallery of images including purchased, not available|
|●||quantity limit per user|
|●||current stock quantity|
|●||availability for purchase cron expression|
|●||available to be purchased for time range|
|As a User I could be able to make deposit/withdrawal to/from my wallet||1 week|
|As a Partner I must be able to update my products||3 days|
|As a User I must be able to see my wallet operations history||4 hours|