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();

Wednesday, 24 March 2021

Nigerian fintech of the unbanked Bankly raises $2M led by Vault and Flutterwave

Nigeria remains a largely cash-dominated country. There are over 100 million adult Nigerians, of which more than half have little or no access to financial services

Today, Bankly, a Nigerian fintech startup digitizing cash for the unbanked, announced that it has closed a $2 million seed round. Founded by Tomilola Adejana and Fredrick Adams in 2018, Bankly is digitizing the informal thrift collections system known with different names such as esusu or ajo in Nigeria.

In the absence of a banking system nearby or a disregard for one, the unbanked resort to these traditional systems because they work completely offline. The system allows them to collate and save cash with a thrift collector responsible for disbursing funds when due.

However, there are issues around this system. First is the security issues that arise when the thrift collector goes missing with the money or is feared dead, leaving no clue where the savings are kept. There’s also limited access where members cannot consistently save if absent from a particular location. The third is the lack of customer data since most don’t have an online banking presence.

What Bankly has done is to digitize their whole process of collating money and allow these unbanked people to save using online and offline methods.

Over the past 18 months, the company has been building out its distribution and agent networks. Here, customers can deposit and withdraw cash with a Bankly agent anytime. This solves the issue of access as there are thousands of agents in these cash-dependent communities.

When the information of this new set of customers is collected and saved on its platform, Bankly starts to build engaging communities where these people can collectively save their income with the agents. Slowly, an online banking presence is built for them.

With most of their money in a bank and little or no cash to buy airtime or make payments, they would frequently opt to access these services online via their mobile phones.

Image Credits: Bankly

Onboarding these new set of customers means they get to save and transact more over time. This opens up access to credit and with more value created, there’s a new set of banked people, which leads to financial inclusion in the long run

“The first phase is building agent networks which is good but that’s not the goal,” CEO Adejana said to TechCrunch. Just in the same way mobile inclusion happened, you need to then focus on acquiring customers who, after transferring cash to their mobile accounts, use it to buy airtime or make payments. We call that the three-phase process. The distribution first, then focusing on the consumer, after that full digitization. This is how we reach financial inclusion.”

With its insights into customer behaviour and transactions, Bankly also provides “data-as-a-service” to other service providers to offer tailored products and services to Nigeria’s informal sector

Bankly operates like a traditional bank but with fewer assets, revenue, customers and operational costs. But because it doesn’t spend a lot in acquiring customers and building physical presences, it can pass on those cost savings to customers as interests and still make decent margins.

Agents on the platform also take commissions for any transaction a customer makes through them. This time last year, the company had a little over 2,000 agents across the country. Now, that number has grown to 15,000.

The company still plans to add more agents with the new investment received. To increase its 35,000 customer base in cash-dependent communities, Bankly will also provide direct-to-consumer products in the coming months.

L-R: Fredrick Adams (CPO) and Tomilola Adejana (CEO)

In Bankly’s three years of operation, Adejana cites finding the right partners, talent, and most importantly, the right investors as challenges that the company has faced. Due to the nature of Bankly’s business, Adejana didn’t accept some of the investments offered to the company and only let in investors who aligned with the company’s plans for the unbanked.

“We’ve had to be patient to make sure that we were talking to people who deeply understand the problem and are passionate about solving it and are not about getting returns as soon as possible,” she said.

These investors include co-leads Vault, the holding company of VANSO, a fintech that was sold to Interswitch in 2016; and African payments company Flutterwave. While both companies have pioneered the technology the banked enjoy by building payment rails, they’ve done little to move the needle for the unbanked. With Bankly, there’s a chance to do so.

“Given our over twenty years experience in Nigeria’s fintech industry and previous exits, we strongly believe that Bankly understands the nuanced needs of this market — not to mention the team, strategy, and technology — to succeed in bringing affordable financial services to the unbanked. We are delighted to participate in this financing round as Bankly moves into its next growth stage,” Idris Alubankudi Saliu, partner at Vault said.

For Flutterwave, this marks its first disclosed investment into another company. When it raised a $170 million Series C last month, CEO Olugbenga Agboola mentioned to TechCrunch that Flutterwave might explore some partnerships with smaller companies and potential acquisitions in the coming years. So while the investment comes as a surprise, it’s not rare to see startups invest in other startups, particularly in the ones they hope to acquire in the future—case in point, Stripe and Paystack.

Other investors who took part in the round include Plug and Play Ventures, Rising Tide Africa and Chrysalis Capital.

Bankly aims to grow its customer base to 2 million unbanked Nigerians over the next three years. The goal is to support the Central Bank of Nigeria’s National Financial Inclusion Strategy of increasing the number of banked Nigerians from 60% to 80% by 2020. A year on, that strategy is yet to be actualized. But Adejana says Bankly is working with these regulators towards a more realistic target of 2025.

“We’re thrilled to have closed this milestone fundraise and to have such seasoned fintech investors who understand the market join us on this journey to bank Nigeria’s unbanked. Now we have built the agent network and are poised to serve customers directly via offline and online channels. Partnerships, collaboration, and a deep understanding of the needs of the unbanked will be vital to our success,” said Adejana.

Before Bankly, the CEO was an investment banker but it was during her masters’ program in Sydney she got into the world of fintech. After returning to Nigeria, Adejana worked on a product that offered loans to small businesses, then later joined Accion Venture Lab, a program focused on products that foster financial inclusivity. It was there Bankly started.

The product has caught on well. And while there are lots of fintech products in the Nigerian market pitching to reach the unbanked, Bankly remains one of the very few that can boldly stake a claim to that.

To truly attain financial inclusion in Nigeria, Adejana believes the onus lies with the fintechs to have long-term views just as the telcos and fast-moving customer goods did in the past. This increases the pie of customers fintechs can serve instead of taking a slice of an existing one. “For financial services to reach the last mile, it has to be distributed the same way fast-moving consumer goods are distributed,” she added



from TechCrunch https://ift.tt/39bYx41
Share:
//]]>

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support