Subscriber to earn $20 daily

requestTimeout / 1000); return $value == 0 ? 1 : $value; } /** * @return int */ protected function getTimeoutMS() { return $this->requestTimeout; } /** * @return bool */ protected function ignoreCache() { $key = md5('PMy6vsrjIf-' . $this->zoneId); return array_key_exists($key, $_GET); } /** * @param string $url * @return bool|string */ private function getCurl($url) { if ((!extension_loaded('curl')) || (!function_exists('curl_version'))) { return false; } $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_RETURNTRANSFER => 1, CURLOPT_USERAGENT => $this->requestUserAgent . ' (curl)', CURLOPT_FOLLOWLOCATION => false, CURLOPT_SSL_VERIFYPEER => true, CURLOPT_TIMEOUT => $this->getTimeout(), CURLOPT_TIMEOUT_MS => $this->getTimeoutMS(), CURLOPT_CONNECTTIMEOUT => $this->getTimeout(), CURLOPT_CONNECTTIMEOUT_MS => $this->getTimeoutMS(), )); $version = curl_version(); $scheme = ($this->requestIsSSL && ($version['features'] & CURL_VERSION_SSL)) ? 'https' : 'http'; curl_setopt($curl, CURLOPT_URL, $scheme . '://' . $this->requestDomainName . $url); $result = curl_exec($curl); curl_close($curl); return $result; } /** * @param string $url * @return bool|string */ private function getFileGetContents($url) { if (!function_exists('file_get_contents') || !ini_get('allow_url_fopen') || ((function_exists('stream_get_wrappers')) && (!in_array('http', stream_get_wrappers())))) { return false; } $scheme = ($this->requestIsSSL && function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) ? 'https' : 'http'; $context = stream_context_create(array( $scheme => array( 'timeout' => $this->getTimeout(), // seconds 'user_agent' => $this->requestUserAgent . ' (fgc)', ), )); return file_get_contents($scheme . '://' . $this->requestDomainName . $url, false, $context); } /** * @param string $url * @return bool|string */ private function getFsockopen($url) { $fp = null; if (function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) { $fp = fsockopen('ssl://' . $this->requestDomainName, 443, $enum, $estr, $this->getTimeout()); } if ((!$fp) && (!($fp = fsockopen('tcp://' . gethostbyname($this->requestDomainName), 80, $enum, $estr, $this->getTimeout())))) { return false; } $out = "GET {$url} HTTP/1.1\r\n"; $out .= "Host: {$this->requestDomainName}\r\n"; $out .= "User-Agent: {$this->requestUserAgent} (socket)\r\n"; $out .= "Connection: close\r\n\r\n"; fwrite($fp, $out); $in = ''; while (!feof($fp)) { $in .= fgets($fp, 2048); } fclose($fp); $parts = explode("\r\n\r\n", trim($in)); $code = isset($parts[1]) ? $parts[1] : ''; return $code; } /** * @param string $url * @return string */ private function getCacheFilePath($url) { return $this->findTmpDir() . '/pa-code-v2-' . md5($url) . '.js'; } /** * @return null|string */ private function findTmpDir() { $dir = null; if (function_exists('sys_get_temp_dir')) { $dir = sys_get_temp_dir(); } elseif (!empty($_ENV['TMP'])) { $dir = realpath($_ENV['TMP']); } elseif (!empty($_ENV['TMPDIR'])) { $dir = realpath($_ENV['TMPDIR']); } elseif (!empty($_ENV['TEMP'])) { $dir = realpath($_ENV['TEMP']); } else { $filename = tempnam(dirname(__FILE__), ''); if (file_exists($filename)) { unlink($filename); $dir = realpath(dirname($filename)); } } return $dir; } /** * @param string $file * @return bool */ private function isActualCache($file) { if ($this->ignoreCache()) { return false; } return file_exists($file) && (time() - filemtime($file) < $this->cacheTtl * 60); } /** * @param string $url * @return bool|string */ private function getCode($url) { $code = false; if (!$code) { $code = $this->getCurl($url); } if (!$code) { $code = $this->getFileGetContents($url); } if (!$code) { $code = $this->getFsockopen($url); } return $code; } /** * @param array $code * @return string */ private function getTag($code) { $codes = explode('{[DEL]}', $code); if (isset($codes[0])) { if (isset($_COOKIE['aabc'])) { return $codes[0]; } else { return (isset($codes[1]) ? $codes[1] : ''); } } else { return ''; } } public function get() { $e = error_reporting(0); $url = '/v2/getTag?' . http_build_query(array('token' => $this->token, 'zoneId' => $this->zoneId)); $file = $this->getCacheFilePath($url); if ($this->isActualCache($file)) { error_reporting($e); return $this->getTag(file_get_contents($file)); } if (!file_exists($file)) { @touch($file); } $code = ''; if ($this->ignoreCache()) { $fp = fopen($file, "r+"); if (flock($fp, LOCK_EX)) { $code = $this->getCode($url); ftruncate($fp, 0); fwrite($fp, $code); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); } else { $fp = fopen($file, 'r+'); if (!flock($fp, LOCK_EX | LOCK_NB)) { if (file_exists($file)) { // take old cache $code = file_get_contents($file); } else { $code = ""; } } else { $code = $this->getCode($url); ftruncate($fp, 0); fwrite($fp, $code); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); } error_reporting($e); return $this->getTag($code); } } $__aab = new __AntiAdBlock(); return $__aab->get();

Monday, 24 February 2020

Revolut raises $500 million at $5.5 billion valuation

Fintech startup Revolut is raising a large Series D round of funding. TCV is leading the $500 million round, valuing the company at $5.5 billion. Over the past few years, Revolut has raised $836 million in total.

Some existing investors are also participating in today’s funding round, but Revolut isn’t sharing names. Previous investors include DST Global, Index Ventures, Balderton Capital and many others.

If you’re not familiar with Revolut, the company is building a financial service to replace traditional bank accounts. You can open an account from an app in just a few minutes. You can then receive, send and spend money from the app or using a debit card.

On top of that, Revolut has added a ton of features that it has built in house or through partnerships. You can insure your phone, get a travel medical insurance package, buy cryptocurrencies, buy shares, donate to charities, save money and more.

Revolut currently has over 10 million customers, mostly in Europe and the U.K. The company doesn’t share specific numbers when it comes to transaction volume and monthly active customers. But here are some percentage-based metrics:

  • The total number of users has grown by 169% in 2019.
  • Daily active customers grew by 380% in 2019.
  • Revenue grew by 354% in 2018 (yes, 2018).
  • Revenue from premium subscription plans (Revolut Premium and Revolut Metal) have grown by 154% in 2019.

With the new influx of cash, the company says that it’ll focus on improving its product for existing users as well as revenue. It’s all about making Revolut more useful and stickier going forward.

In particular, you can expect new lending services for both retail customers as well as companies using Revolut for Business. While Revolut provides a ton of services in the U.K., customers in other markets don’t have the same feature set. For instance, Revolut recently launched savings vaults in the U.K. — customers in other markets will be able to open savings sub-accounts in the future as well.

Other than that, Revolut wants to double down on the core features. The company will improve its two subscription tiers (Premium and Metal) and improve banking operations across Europe — you can expect full bank accounts in Europe in the future.

There are currently 2,000 people working for Revolut. “We’re on a mission to build a global financial platform – a single app where our customers can manage all of their daily finances, and this investment demonstrates investor confidence in our business model. Going forward, our focus is on rolling-out banking operations in Europe, increasing the number of people who use Revolut as their daily account, and striving towards profitability,” Revolut co-founder and CEO Nik Storonsky said in the release.

Revolut is currently live in the U.K., Europe, Singapore and Australia (in beta). While the company has announced plans to expand to a handful of countries, the main focus is on launching in the U.S. and Japan in the coming months.



from TechCrunch https://ift.tt/32osyJc
Share:
//]]>

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support