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, 5 April 2021

FinanZero, Brazil’s free online credit marketplace, raises $7M

FinanZero, a Brazilian online credit marketplace, announced today that it has closed a $7 million round of funding – its fourth since it launched in 2016 was founded in 2016. It has raised a total of $22.85 million to date.

The real-time online loan broker allows people to apply for a personal loan, a car equity loan, or a home equity loan for free and receive an answer in minutes. A key to FinanZero’s success is that it doesn’t offer the loans itself, but has instead partnered with about 51 banks and fintechs who back the loans.

FinanZero is based in Brazil’s financial capital, Sao Paulo, and has 52 employees.

“From day one we said, ‘We only work with a success fee,’ so we only get paid when the customer signs the loan contract,” said Olle Widen, the company’s co-founder, and CEO. 

Instead of charging the customer, FinanZero gets a commission from one of its partners, and with a growing volume of credit applications – an average of 750,000 applications per month – the company has seen 61% revenue growth from 2019-2020.

Olle Widen, cofounder and CEO of Finanzero

The Brazilian finance and banking market has been ripe for disruption, as it has traditionally favored the rich. 

Those with low incomes – the vast majority of Brazilian citizens – are then left with few options when it comes to financing, and which in turn forces them into compounding debt they’ll likely never escape from. Traditionally, young Brazilians have lived with their families until they got married, and while there is a cultural aspect to it, the bottom line is that mortgages were infinitely hard to get approved for. 

With products like FinanZero and Nubank – Latin America’s largest digital bank – Brazilians are starting to see more economic mobility and independence from the legacy institutions that dictated their lives for so long.

Widen, who is Swedish, moved to Brazil about 10 years ago for personal reasons, and while there, was pitched the idea of FinanZero by Webrok Ventures, an investment company focused on bringing Nordic innovation to Brazil. 

At the time, Swedish startup Lendo – a precursor to FinanZero – was making waves in Sweden, and the team felt that a similar model would succeed in Brazil, a country known for its bureaucracy and red tape, and thus primed for a streamlined and hassle-free approach to loans.

The original idea was to just copy Lendo, Widen said, but as others have discovered, along the way the team needed to “tropicalize” the product and the experience, meaning they had to build a custom solution for the Brazilian market and its people.

“The founder of Lendo was a childhood friend of mine,” said Widen, of his close ties to the Swedish fintech.

To apply for a loan on FinanZero you don’t need to provide your credit score. Instead, all you need is a utility bill (proof of address), proof of income, and your government ID. The process is so simple, Widen said, that 92% of loan applications are initiated from a smartphone.

“Our business model is very based on the bank’s risk appetite and we saw 60% growth from 2019-2020. We are close to 3 million visits per month, about 1.5 are unique and in March of 2021, we had 800K people fill out the entire loan form. We have about a 10% approval rating across all products,” Widen said.

The round was led by the Swedish investors VEF, Dunross & Co, and Atlant Fonder, which are all previous investors in the company. The funding will go toward marketing – most of which will be on T.V. – product development, and talent acquisition.



from TechCrunch https://ift.tt/3umKpgr
Share:
//]]>

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support