What exactly is SOUNDAC?

What is a DAC?

The D stands for Distributed and/or Decentralized
The A is for Autonomous
And the C stands for Company and/or Community

Similar to how the invention of the corporation changed the world in the 17th century. The Distributed Autonomous Companies are changing the world now and will be a big part of global commerce going forward

What is a Blockchain?

A Blockchain is a Peer-to-Peer network. It is a ledger that is distributed across the globe – there are multiple copies of it, held by multiple parties. When changes to the ledger occur (like transfers of value/ownership or writing of a new Smart Contract) the changes are included into a “block” of transactions/changes/updates. The new block is added to the previous block in a linear, chronological order creating a chain of blocks: a Blockchain. This means the entire history of events is recorded on the Blockchain and can be consulted – acting as a public record

Why a Blockchain for music?

Unlike many other attempts at creating a global music rights database, with SOUNDAC the maintenance of content does not depend on trusting a central authority. SOUNDAC’s open, transparent and permanent nature makes it possible for anybody (artists, labels, publishers, royalty collecting organizations, etc.) to plug in for free and start building on top of a stable and solid infrastructure. Not being proprietary, there is no need to ask permission to anyone in order to use SOUNDAC. Artists and entrepreneurs can plug into SOUNDAC and benefit immediately from its use while offloading the costs of maintaining their own databases. Similar to the Internet, there is no need to “build your own Internet” or to plug into “someone else’s internet” in order to benefit from being connected to the world. Both SOUNDAC and the Internet are free and permanent networks that are open to all

Previous attempts at a global database left it depending entirely on the whims and political/business decisions of the centralized entity that controlled it. It is much too risky for an entrepreneur to base his business model on access to a database that can disappear or fundamentally change overnight

Is this Bitcoin?

No. Bitcoin is the first Blockchain ever invented. It is an amazing innovation and it proved the concept that a P2P network can eliminate both:

1. The need for strangers transacting with each other to trust one another
2. The need to rely on a trusted third party to act as intermediary

SOUNDAC simply makes use of the innovation – Blockchain technology – that made Bitcoin possible

Why not use Bitcoin?

There are a few issues with the current version of Bitcoin making it sub-optimal for the music industry’s needs. To list but a few:

• The value of bitcoins is still highly volatile
• The network is entirely controlled by miners and mining pools
• The network is currently limited to a mere 7 transactions per second
• Bitcoin’s ledger tracks one thing only: the ownership of bitcoins
• No complex Smart Contract capability
• High transaction fees
• SOUNDAC is a new generation Blockchain
• SOUNDAC has a low-volatility crypto-currency – the RYLT token
• The network is controlled by people that have stake in the network itself – the XSD token
• The network can currently handle over 100,000 transactions per second – The speed of the VISA and MasterCard networks combined
• SOUNDAC can track multiple types of crypto-tokens (Core Units called XSD, a currency called RYLT and User Created Tokens) and has an internal market (a Decentralized exchange or DEX) allowing you to trade all crypto-tokens without ever leaving the Blockchain and requiring trust in centralized exchanges

SOUNDAC has Smart Contract capabilities – allowing it to:
• Be a database for copyrights
• Automatically and instantly split and pay royalties
• Enable simplified (and machine-readable) licensing
• SOUNDAC has no transaction fees

What is a Smart Contract?

It is a self-executing digital contract that uses Blockchain technology to document and verify the contract’s execution. In the case of SOUNDAC, a simpler way to put it is: programmable money and payments.

What are the advantages of being a SOUNDAC member?

If you are a publisher, a composer, a performer, a lyricist, a label, you now have one central place to input all your music related data. It is yours and only you control your section of it. It is a way for every participant in a song/album to coordinate openly and deal amongst themselves when it comes to copyright, licensing and royalty management data

If you are a streaming platform, you get to offload enormous costs by letting SOUNDAC take care of them.

As a music consumer, you get to listen to subscription-free, ad-free music while contributing to this fair and transparent music infrastructure.

Members even get a say in SOUNDAC's internal affairs by voting for Witnesses (the nodes that maintain and keep SOUNDAC alive, constantly updating it to keep up with the ever-changing realities of the music world). You may also cast your vote towards which streaming platform(s) you think should get perks from connecting up to SOUNDAC

How do I become a member?

Simply create an account here.

Keep in mind the more XSD tokens you have upgraded to VIP, the more influence you have and the more benefits you get from the system.

• Your influence over the network
• Your “trustworthiness” score
• Your permitted usage frequency
• Perks granted to you

Distributed networks need to protect themselves from abuse and spam. Usually this is achieved by charging a transaction fee every time a user wants to make a change to the database - such as sending funds from one user to another, or for updating the information regarding the licensing of a song. SOUNDAC has no transaction fees

Instead, only members are allowed to write onto the database: only users that have XSD in the VIP section of their wallet can modify the data and have it propagated throughout the global network. The more XSD a member has, the more often he can modify the global ledger. An attacker trying to flood the SOUNDAC blockchain with spam to take down the system would need to purchase XSD from the global community in order to do so. In other words, you would need to buy your own ship, before being able to sink it

In regard to voting on internal issues, such as which Witnesses get elected to run the network and which streaming platforms get to publish their usage info to the blockchain, 1 VIP = 1 vote. The more of the system you own, the more say you get in internal matters. This is your network!

Finally, to assist in identifying and preventing abuse from bots and fake accounts, your SOUNDAC name scoring counts (among other things) your VIP holdings, reducing the chances that botnets take over the network. A botnet operator would essentially have to buy up a large quantity of XSD (and upgrade them to VIP!) in order to attack the system and pretend he is a reputable and trustworthy user

How do I buy some XSD?

You can purchase some right here.

You can also buy XSD from https://cryptowolf.eu/exchange/

If you wish to trade XSD – buy and sell – you can do so on OpenLedger but it is listed with the asset name OPEN.MUSEOL Direct link to the market: https://openledger.io/market/MUSEOL_BTS

XSD is also being added to next.exchange in the coming weeks. Stay tuned!

For an up to date listing of all markets click here.

What does upgrading to VIP mean?

There are two forms of XSD or two places where your Core Units can reside:

Regular XSD, which is liquid and tradable – residing in a sort of checking account. XSD can be upgraded to VIP or traded.

The XSD that was upgraded to VIP is locked up into a sort of savings account

Only VIP counts for most operations on the Blockchain. For example, your reputation score counts VIP (and ignores your balance of liquid XSD), so does voting and the amount of times per hour you can write to the database

Upgrade to VIP - If you wish to gain more influence in the SOUNDAC network, you must increase the amount of XSD you have locked up in VIP. “Upgrade to VIP” is the process of instantaneously transferring your XSD to VIP.

Exiting VIP – Transferring your VIP back into XSD - If you have any VIP, you can send them back to regular/liquid XSD. The system will transfer 1/13 of your VIP to XSD each week for three months (13 weeks)

What is RYLT?

SOUNDAC allows everyone to know exactly who to pay for the use of specific content. But SOUNDAC members can also use SOUNDAC itself as the means of payment. The internal currency of SOUNDAC is the RYLT, which has a price floor of approx. 1 USD. The RYLT has all the benefits of cryptocurrencies: it's secure, global, instant, censorship resistant, fungible, etc., but without the volatility often associated with first generation cryptocurrencies. It is also transferred at no cost

One RYLT can be redeemed for approximately 1 USD worth of XSD

What is the difference between XSD, VIP and RYLT?

XSD is the core unit of the SOUNDAC blockchain. It’s a volatile, tradeable crypto-asset.

VIP is XSD that grants you power and influence over the network. When you “Upgrade to VIP” the token is locked up, so can’t be traded. You can “Exit VIP” (and go back into XSD) which takes 3 months.

RYLT is a token that can be redeemed for 1 USD worth of XSD. The RYLT token is redeem by SOUNDAC directly It takes your RYLT and gives you back the equivalent value in XSD. The RYLT, being a much more stable token acts like a native currency

Why do people trust SOUNDAC?

Much of the trust in Blockchains comes from the fact that it requires no trust at all. SOUNDAC is open-sourced and decentralized. This means that anyone has access to the entire source code at any time. Any developer in the world can therefore verify exactly how SOUNDAC functions under the hood. All payments can be made without reliance on a third party and heavily peer-reviewed cryptographic algorithms like those used for online banking protect the whole system. No organization or individual can control SOUNDAC, and the network would remain secure even if some of its users could not be trusted

Is SOUNDAC secure?

Extremely! Blockchain technology - the protocol and the cryptography - has a strong security track record. The most common vulnerability for all Blockchains is in user error. Passwords can be forgotten and there is no one to reach out to in order to reset your account. This is similar to physical cash stored in a digital form – if you lost your 20$ bill in the streets, there is no one to call.

What are SOUNDAC witnesses?

The community also elected 'witnesses' to act as SOUNDAC’s governance body, making decisions on improving the platform

The SOUNDAC blockchain requires a set of people to create blocks and uses a consensus mechanism called Delegated Proof of Stake, or DPOS. The people delegated to create these blocks are called witnesses

How can I vote for witnesses?

Users with VIP can vote for the witnesses of their choice here

Why is this database different?

What is meant by “own and control your data”?

At the moment, when you upload your data, you are actually typing it into a company’s private database. They now own that data and have full control over who can view it and who can edit it. With SOUNDAC, you are entering your data on a public database. Everyone can see it, but only you can edit and modify it.

Why would I register my music on SOUNDAC?

The short answer:

Direct and FAST royalty payments
• Transparency of both streams and payments
• No third party controls your data or funds
• A song's information needs only be entered on SOUNDAC once and all future updates can be done on the Blockchain directly. Once on SOUNDAC, the information, which is updated in real time, is viewable by everyone

All music services can ensure their data is always up to date by using SOUNDAC. These services can also use SOUNDAC as the means of paying the correct rights holders – instantly paid-out royalties

Information regarding licensing can also automate the monetization of the associated song

SOUNDAC can be used as a more secure version of the poor man's copyright - mathematically proving that you wrote/composed/produced a song at a specific, time-stamped date

How do I register music on SOUNDAC?

Via the Rights Management Portal (RMP)

What is a Smart Contract?

It is a self-executing digital contract that uses Blockchain technology to document and verify the contract’s execution. In the case of SOUNDAC, a simpler way to put it is: programmable money and payments. A user can create a smart contract that contains instructions on how any funds sent to the contract should be distributed. SOUNDAC being a membership organization specifically tailored for the music industry, the first type of smart contract was called the Automatic Royalty Payment Splitter. The name should say it all, but as a simple walkthrough, take an artist uploading his new song to a music service that uses SOUNDAC

He begins by entering the basic information about the song (title, album, artist, songwriter, musical composition copyright owner, sound recording copyright owner, ISRC code, ISWC code, Year of release, etc.), which all gets written up on the Blockchain into a smart contract. This part is what acts as a global database for music

Next is where the Automatic Royalty Payment Splitter comes into play. The artists involved then tell the smart contract what is to be done with incoming funds generated by that song (funds sent to that specific smart contract) depending on certain conditions. Each and every party involved for each musical work can be taken into account: publishers, composers, lyricists, producers, performers, etc. Funds are programmed to be automatically split up and sent to each party accordingly

The smart contract can even include basic licensing conditions. For example: Anyone wishing to use this song for X must send 100$ (on Blockchain!), anyone wishing to use this song for Y must send 1000$, and so on. A buyer could read the licensing conditions of a song and purchase the rights to use it through SOUNDAC directly. He would then be able to prove to everyone that he had the right to use the copyrighted material. Companies like Facebook or YouTube could then automatically identify and enforce authorized linking/posting. Without the smart contract there is no way for services to automate the enforcement of contracts

What do you mean by pay direct?

SOUNDAC itself can be the entity that pays out streaming royalties?

Any streaming platform that decides to move its system to this new transparent way of doing business can (if voted-in by SOUNDAC’s members) publish its streaming history to the SOUNDAC Blockchain

SOUNDAC then aggregates the streaming history of each platform and takes care of paying the appropriate royalties to the songs in question and their associated recipients (performers, composers, etc.). This in itself can provide valuable data to the musicians

This system pays out both sides of the music business – The Master Recording copyright holders AND the Composition copyright holders (Publishers)

How does SOUNDAC calculate royalty payments?

Please note that the following only applies for the royalties paid BY SOUNDAC itself. Streaming platforms can still pay their owed royalties the way they wish and at the rates they have settled on outside of this system

SOUNDAC monetizes attention, the last bastion of scarcity. There was a time when consumers had to decide what magazine or album to buy. Nowadays each of us must decide which tab to close down in our web browser. Content is no longer scarce, time is

SOUNDAC has a daily budget for royalties, which it divides equally by the number of daily active listeners

SOUNDAC sends royalties to the songs (the recipients indicated within the smart contract of each song) each user listened to during the last 24 hours

SOUNDAC calculates user attention per (mili)second. For example: If user Bob spent 200 seconds listening to Song X out of Bob’s 1000 seconds of total listening time today, then 1/5 of Bob’s “assigned” royalties will be paid out to the recipients contained in the Song X smart contract

In other words, Song X captured 1/5 of Bob’s attention today, hence Song X’s copyright holders will receive 1/5 of the royalties SOUNDAC distributes. Had Bob spent 100% of his time listening to Song X, then 100% of Bob’s “assigned” value would have been paid out to Song X’s recipients

How much does SOUNDAC pay per stream?

There is no fixed price per stream. It is all dependent on the following variables:

1. What the Marketcap of SOUNDAC is at that moment – Which determines the size of the royalty pool
2. How many full-time listeners there are – The royalty pool is split up amongst all listeners *note that the listeners don’t receive the funds. They merely distribute it via their listening habits
3. How much content each listener has been streaming – someone that spends 15 hours a day listening to content vs someone that listens to just 1 hour will be distributing the same total amount of royalties in their day but not the same amount per song.

How am I paid my royalties? In what form?

RYLT tokens will be generated inside your SOUNDAC wallet 24 hours after your content got streamed by a user.=

Isn’t crypto volatile?

Usually it is but the RYLT token (with which royalties are paid in) is not. The RYLT has a price floor of 1 USD. If you have 74 RYLT tokens in your wallet, those can always be redeemed for 74 USD worth of XSD token. Essentially, the RYLT token shields the holder from volatility. If you want to be exposed to wild price swings, you can convert it to XSD if you like and ride the roller coaster that is the crypto market!

How do I cash out my RYLTs?

First Phase – the early adopting pioneers! :)
Click the redeem button inside the wallet. This sends your RYLT tokens to the SOUNDAC blockchain and sends you the same value worth of XSD tokens. Note that this process takes 3.5 days to prevent market manipulation and abuse.

For example: If you have 10 RYLT tokens and the market price of XSD is $2.50 then you will receive 4 XSD tokens for your 10 RYLT.

If on the other hand the market price of XSD is $0.50 then you will receive 20 XSD tokens for your 10 RYLT.

In both situations you get 10 USD worth of value.

You then sell those XSD on one of the global exchanges for BTC and then into your local currency.


Second phase
You can click the redeem button and your RYLT will be instantly converted into BTC (bitcoin). There are countless options open to you at this point. Convert it into your local currency (direct deposit into your bank account), use the BTC to purchase products online, pay off your credit cards using BTC, etc.

Third phase – RYLT debit card
Simply transfer your RYLT earnings into your SOUNDAC debit card and use it anywhere Visa and Mastercard are accepted!

Whoops! There was an error.
ErrorException (E_WARNING)
file_put_contents(/home/soundacxsd/public_html/domain/storage/framework/sessions/INrLuxvJN00XiLoo6EzJJ7LH03g9f69osWt8ik1m): failed to open stream: No space left on device ErrorException thrown with message "file_put_contents(/home/soundacxsd/public_html/domain/storage/framework/sessions/INrLuxvJN00XiLoo6EzJJ7LH03g9f69osWt8ik1m): failed to open stream: No space left on device" Stacktrace: #7 ErrorException in /home/soundacxsd/public_html/domain/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:122 #6 file_put_contents in /home/soundacxsd/public_html/domain/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:122 #5 Illuminate\Filesystem\Filesystem:put in /home/soundacxsd/public_html/domain/vendor/laravel/framework/src/Illuminate/Session/FileSessionHandler.php:83 #4 Illuminate\Session\FileSessionHandler:write in /home/soundacxsd/public_html/domain/vendor/laravel/framework/src/Illuminate/Session/Store.php:128 #3 Illuminate\Session\Store:save in /home/soundacxsd/public_html/domain/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:87 #2 Illuminate\Session\Middleware\StartSession:terminate in /home/soundacxsd/public_html/domain/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:218 #1 Illuminate\Foundation\Http\Kernel:terminateMiddleware in /home/soundacxsd/public_html/domain/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:189 #0 Illuminate\Foundation\Http\Kernel:terminate in /home/soundacxsd/public_html/domain/public/index.php:61
7
ErrorException
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Filesystem
/
Filesystem.php
122
6
file_put_contents
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Filesystem
/
Filesystem.php
122
5
Illuminate
\
Filesystem
\
Filesystem
put
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Session
/
FileSessionHandler.php
83
4
Illuminate
\
Session
\
FileSessionHandler
write
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Session
/
Store.php
128
3
Illuminate
\
Session
\
Store
save
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Session
/
Middleware
/
StartSession.php
87
2
Illuminate
\
Session
\
Middleware
\
StartSession
terminate
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Kernel.php
218
1
Illuminate
\
Foundation
\
Http
\
Kernel
terminateMiddleware
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Kernel.php
189
0
Illuminate
\
Foundation
\
Http
\
Kernel
terminate
/
public
/
index.php
61
/
home
/
soundacxsd
/
public_html
/
domain
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Filesystem
/
Filesystem.php
     *
     * @param  string  $path
     * @return string
     */
    public function hash($path)
    {
        return md5_file($path);
    }
 
    /**
     * Write the contents of a file.
     *
     * @param  string  $path
     * @param  string  $contents
     * @param  bool  $lock
     * @return int
     */
    public function put($path, $contents, $lock = false)
    {
        return file_put_contents($path, $contents, $lock ? LOCK_EX : 0);
    }
 
    /**
     * Prepend to a file.
     *
     * @param  string  $path
     * @param  string  $data
     * @return int
     */
    public function prepend($path, $data)
    {
        if ($this->exists($path)) {
            return $this->put($path, $data.$this->get($path));
        }
 
        return $this->put($path, $data);
    }
 
    /**
     * Append to a file.
Arguments
  1. "file_put_contents(/home/soundacxsd/public_html/domain/storage/framework/sessions/INrLuxvJN00XiLoo6EzJJ7LH03g9f69osWt8ik1m): failed to open stream: No space left on device"
    
/
home
/
soundacxsd
/
public_html
/
domain
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Filesystem
/
Filesystem.php
     *
     * @param  string  $path
     * @return string
     */
    public function hash($path)
    {
        return md5_file($path);
    }
 
    /**
     * Write the contents of a file.
     *
     * @param  string  $path
     * @param  string  $contents
     * @param  bool  $lock
     * @return int
     */
    public function put($path, $contents, $lock = false)
    {
        return file_put_contents($path, $contents, $lock ? LOCK_EX : 0);
    }
 
    /**
     * Prepend to a file.
     *
     * @param  string  $path
     * @param  string  $data
     * @return int
     */
    public function prepend($path, $data)
    {
        if ($this->exists($path)) {
            return $this->put($path, $data.$this->get($path));
        }
 
        return $this->put($path, $data);
    }
 
    /**
     * Append to a file.
Arguments
  1. "/home/soundacxsd/public_html/domain/storage/framework/sessions/INrLuxvJN00XiLoo6EzJJ7LH03g9f69osWt8ik1m"
    
  2. "a:3:{s:6:"_token";s:40:"mgPh41LzQ2ElGOxXvrLMPJsMKO4VfkTS85LmGt2t";s:9:"_previous";a:1:{s:3:"url";s:22:"https://soundac.io/faq";}s:6:"_flash";a:2:{s:3:"old";a:0:{}s:3:"new";a:0:{}}}"
    
  3. 2
    
/
home
/
soundacxsd
/
public_html
/
domain
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Session
/
FileSessionHandler.php
    /**
     * {@inheritdoc}
     */
    public function read($sessionId)
    {
        if ($this->files->exists($path = $this->path.'/'.$sessionId)) {
            if (filemtime($path) >= Carbon::now()->subMinutes($this->minutes)->getTimestamp()) {
                return $this->files->get($path, true);
            }
        }
 
        return '';
    }
 
    /**
     * {@inheritdoc}
     */
    public function write($sessionId, $data)
    {
        $this->files->put($this->path.'/'.$sessionId, $data, true);
 
        return true;
    }
 
    /**
     * {@inheritdoc}
     */
    public function destroy($sessionId)
    {
        $this->files->delete($this->path.'/'.$sessionId);
 
        return true;
    }
 
    /**
     * {@inheritdoc}
     */
    public function gc($lifetime)
    {
        $files = Finder::create()
Arguments
  1. "/home/soundacxsd/public_html/domain/storage/framework/sessions/INrLuxvJN00XiLoo6EzJJ7LH03g9f69osWt8ik1m"
    
  2. "a:3:{s:6:"_token";s:40:"mgPh41LzQ2ElGOxXvrLMPJsMKO4VfkTS85LmGt2t";s:9:"_previous";a:1:{s:3:"url";s:22:"https://soundac.io/faq";}s:6:"_flash";a:2:{s:3:"old";a:0:{}s:3:"new";a:0:{}}}"
    
  3. true
    
/
home
/
soundacxsd
/
public_html
/
domain
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Session
/
Store.php
     *
     * @param  string  $data
     * @return string
     */
    protected function prepareForUnserialize($data)
    {
        return $data;
    }
 
    /**
     * Save the session data to storage.
     *
     * @return bool
     */
    public function save()
    {
        $this->ageFlashData();
 
        $this->handler->write($this->getId(), $this->prepareForStorage(
            serialize($this->attributes)
        ));
 
        $this->started = false;
    }
 
    /**
     * Prepare the serialized session data for storage.
     *
     * @param  string  $data
     * @return string
     */
    protected function prepareForStorage($data)
    {
        return $data;
    }
 
    /**
     * Age the flash data for the session.
     *
     * @return void
Arguments
  1. "INrLuxvJN00XiLoo6EzJJ7LH03g9f69osWt8ik1m"
    
  2. "a:3:{s:6:"_token";s:40:"mgPh41LzQ2ElGOxXvrLMPJsMKO4VfkTS85LmGt2t";s:9:"_previous";a:1:{s:3:"url";s:22:"https://soundac.io/faq";}s:6:"_flash";a:2:{s:3:"old";a:0:{}s:3:"new";a:0:{}}}"
    
/
home
/
soundacxsd
/
public_html
/
domain
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Session
/
Middleware
/
StartSession.php
        if ($this->sessionConfigured()) {
            $this->storeCurrentUrl($request, $session);
 
            $this->addCookieToResponse($response, $session);
        }
 
        return $response;
    }
 
    /**
     * Perform any final actions for the request lifecycle.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Symfony\Component\HttpFoundation\Response  $response
     * @return void
     */
    public function terminate($request, $response)
    {
        if ($this->sessionHandled && $this->sessionConfigured() && ! $this->usingCookieSessions()) {
            $this->manager->driver()->save();
        }
    }
 
    /**
     * Start the session for the given request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Contracts\Session\Session
     */
    protected function startSession(Request $request)
    {
        return tap($this->getSession($request), function ($session) use ($request) {
            $session->setRequestOnHandler($request);
 
            $session->start();
        });
    }
 
    /**
     * Get the session implementation from the manager.
/
home
/
soundacxsd
/
public_html
/
domain
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Kernel.php
     * @return void
     */
    protected function terminateMiddleware($request, $response)
    {
        $middlewares = $this->app->shouldSkipMiddleware() ? [] : array_merge(
            $this->gatherRouteMiddleware($request),
            $this->middleware
        );
 
        foreach ($middlewares as $middleware) {
            if (! is_string($middleware)) {
                continue;
            }
 
            list($name) = $this->parseMiddleware($middleware);
 
            $instance = $this->app->make($name);
 
            if (method_exists($instance, 'terminate')) {
                $instance->terminate($request, $response);
            }
        }
    }
 
    /**
     * Gather the route middleware for the given request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return array
     */
    protected function gatherRouteMiddleware($request)
    {
        if ($route = $request->route()) {
            return $this->router->gatherRouteMiddleware($route);
        }
 
        return [];
    }
 
    /**
Arguments
  1. Request {
      #json: null
      #convertedFiles: null
      #userResolver: Closure {
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider { …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application { …}
        }
      }
      #routeResolver: Closure {
        class: "Illuminate\Routing\Router"
        this: Router { …}
        use: {
          $route: Route { …}
        }
      }
      +attributes: ParameterBag {}
      +request: ParameterBag {#1}
      +query: ParameterBag {#1}
      +server: ServerBag {}
      +files: FileBag {}
      +cookies: ParameterBag {}
      +headers: HeaderBag {}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/faq/"
      #requestUri: "/faq/"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Response {}
    
/
home
/
soundacxsd
/
public_html
/
domain
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Kernel.php
     */
    protected function dispatchToRouter()
    {
        return function ($request) {
            $this->app->instance('request', $request);
 
            return $this->router->dispatch($request);
        };
    }
 
    /**
     * Call the terminate method on any terminable middleware.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Illuminate\Http\Response  $response
     * @return void
     */
    public function terminate($request, $response)
    {
        $this->terminateMiddleware($request, $response);
 
        $this->app->terminate();
    }
 
    /**
     * Call the terminate method on any terminable middleware.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Illuminate\Http\Response  $response
     * @return void
     */
    protected function terminateMiddleware($request, $response)
    {
        $middlewares = $this->app->shouldSkipMiddleware() ? [] : array_merge(
            $this->gatherRouteMiddleware($request),
            $this->middleware
        );
 
        foreach ($middlewares as $middleware) {
            if (! is_string($middleware)) {
Arguments
  1. Request {
      #json: null
      #convertedFiles: null
      #userResolver: Closure {
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider { …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application { …}
        }
      }
      #routeResolver: Closure {
        class: "Illuminate\Routing\Router"
        this: Router { …}
        use: {
          $route: Route { …}
        }
      }
      +attributes: ParameterBag {}
      +request: ParameterBag {#1}
      +query: ParameterBag {#1}
      +server: ServerBag {}
      +files: FileBag {}
      +cookies: ParameterBag {}
      +headers: HeaderBag {}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/faq/"
      #requestUri: "/faq/"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Response {}
    
/
home
/
soundacxsd
/
public_html
/
domain
/
public
/
index.php
|--------------------------------------------------------------------------
| Run The Application
|--------------------------------------------------------------------------
|
| Once we have the application, we can handle the incoming request
| through the kernel, and send the associated response back to
| the client's browser allowing them to enjoy the creative
| and wonderful application we have prepared for them.
|
*/
 
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
 
$response = $kernel->handle(
    $request = Illuminate\Http\Request::capture()
);
 
$response->send();
 
$kernel->terminate($request, $response);
 
Arguments
  1. Request {
      #json: null
      #convertedFiles: null
      #userResolver: Closure {
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider { …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application { …}
        }
      }
      #routeResolver: Closure {
        class: "Illuminate\Routing\Router"
        this: Router { …}
        use: {
          $route: Route { …}
        }
      }
      +attributes: ParameterBag {}
      +request: ParameterBag {#1}
      +query: ParameterBag {#1}
      +server: ServerBag {}
      +files: FileBag {}
      +cookies: ParameterBag {}
      +headers: HeaderBag {}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:4 [
        0 => "text/html"
        1 => "application/xhtml+xml"
        2 => "application/xml"
        3 => "*/*"
      ]
      #pathInfo: "/faq/"
      #requestUri: "/faq/"
      #baseUrl: ""
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: ""
      format: "html"
    }
    
  2. Response {}
    

Environment & details:

empty
empty
empty
empty
empty
Key Value
PATH
"/usr/local/bin:/usr/bin:/bin"
TZ
"UTC"
REDIRECT_HANDLER
"application/x-httpd-ea-php70"
REDIRECT_STATUS
"200"
UNIQUE_ID
"W8ssU4T1KMdj61FYK6ngAAAAAIs"
SCRIPT_URL
"/faq/"
SCRIPT_URI
"https://soundac.io/faq/"
HTTPS
"on"
SSL_TLS_SNI
"soundac.io"
HTTP_USER_AGENT
"CCBot/2.0 (https://commoncrawl.org/faq/)"
HTTP_ACCEPT
"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
HTTP_IF_MODIFIED_SINCE
"Sat, 18 Aug 2018 13:51:31 UTC"
HTTP_HOST
"soundac.io"
HTTP_CONNECTION
"Keep-Alive"
HTTP_ACCEPT_ENCODING
"gzip"
HTTP_X_HTTPS
"1"
SERVER_SIGNATURE
""
SERVER_SOFTWARE
"Apache"
SERVER_NAME
"soundac.io"
SERVER_ADDR
"10.128.0.4"
SERVER_PORT
"443"
REMOTE_ADDR
"54.198.212.30"
DOCUMENT_ROOT
"/home/soundacxsd/public_html/domain/public"
REQUEST_SCHEME
"https"
CONTEXT_PREFIX
"/cgi-sys"
CONTEXT_DOCUMENT_ROOT
"/usr/local/cpanel/cgi-sys/"
SERVER_ADMIN
"webmaster@soundac.io"
SCRIPT_FILENAME
"/home/soundacxsd/public_html/domain/public/index.php"
REMOTE_PORT
"48000"
REDIRECT_URL
"/index.php"
GATEWAY_INTERFACE
"CGI/1.1"
SERVER_PROTOCOL
"HTTP/1.1"
REQUEST_METHOD
"GET"
QUERY_STRING
""
REQUEST_URI
"/faq/"
SCRIPT_NAME
"/index.php"
ORIG_SCRIPT_FILENAME
"/usr/local/cpanel/cgi-sys/ea-php70"
ORIG_PATH_INFO
"/index.php"
ORIG_PATH_TRANSLATED
"/home/soundacxsd/public_html/domain/public/index.php"
ORIG_SCRIPT_NAME
"/cgi-sys/ea-php70"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1540041811.6063
REQUEST_TIME
1540041811
argv
[]
argc
0
APP_NAME
"Laravel"
APP_ENV
"local"
APP_KEY
"base64:f205P8x0x5fd5UQurhomBTNq35LptgkmJRp0j9Ht/xY=base64:Z9PVxlL1eYb8YZPMVoqPbXXYZserzGHuwQGWPV9ReDE="
APP_DEBUG
"true"
APP_LOG_LEVEL
"debug"
APP_URL
"http://localhost"
DB_CONNECTION
"mysql"
DB_HOST
"127.0.0.1"
DB_PORT
"3306"
DB_DATABASE
"muse"
DB_USERNAME
"homestead"
DB_PASSWORD
"secret"
BROADCAST_DRIVER
"log"
CACHE_DRIVER
"file"
SESSION_DRIVER
"file"
SESSION_LIFETIME
"120"
QUEUE_DRIVER
"sync"
REDIS_HOST
"127.0.0.1"
REDIS_PASSWORD
"null"
REDIS_PORT
"6379"
MAIL_DRIVER
"mailgun"
MAIL_HOST
"smtp.mailgun.org"
MAIL_PORT
"587"
MAIL_USERNAME
"postmaster@support.museblockchain.com"
MAIL_PASSWORD
"hd@~70QZ!?aC+NUgo-C+NUgo-"
MAIL_ENCRYPTION
"TLS"
GLOBAL_MAIL_FROM_ADDRESS
"no_reply@support.museblockchain.com"
GLOBAL_MAIL_FROM_NAME
"MUSE Support"
MAIL_FROM_ADDRESS
"postmaster@sandbox5874a7c543aa49e285ef65b99cdfa218.mailgun.org"
MAIL_FROM_NAME
"mailgun-tester"
MAILGUN_DOMAIN
"support.museblockchain.com"
MAILGUN_SECRET
"key-b242720b1823631be03f15518a10541a"
PUSHER_APP_ID
""
PUSHER_APP_KEY
""
PUSHER_APP_SECRET
""
PUSHER_APP_CLUSTER
"mt1"
Key Value
APP_NAME
"Laravel"
APP_ENV
"local"
APP_KEY
"base64:f205P8x0x5fd5UQurhomBTNq35LptgkmJRp0j9Ht/xY=base64:Z9PVxlL1eYb8YZPMVoqPbXXYZserzGHuwQGWPV9ReDE="
APP_DEBUG
"true"
APP_LOG_LEVEL
"debug"
APP_URL
"http://localhost"
DB_CONNECTION
"mysql"
DB_HOST
"127.0.0.1"
DB_PORT
"3306"
DB_DATABASE
"muse"
DB_USERNAME
"homestead"
DB_PASSWORD
"secret"
BROADCAST_DRIVER
"log"
CACHE_DRIVER
"file"
SESSION_DRIVER
"file"
SESSION_LIFETIME
"120"
QUEUE_DRIVER
"sync"
REDIS_HOST
"127.0.0.1"
REDIS_PASSWORD
"null"
REDIS_PORT
"6379"
MAIL_DRIVER
"mailgun"
MAIL_HOST
"smtp.mailgun.org"
MAIL_PORT
"587"
MAIL_USERNAME
"postmaster@support.museblockchain.com"
MAIL_PASSWORD
"hd@~70QZ!?aC+NUgo-C+NUgo-"
MAIL_ENCRYPTION
"TLS"
GLOBAL_MAIL_FROM_ADDRESS
"no_reply@support.museblockchain.com"
GLOBAL_MAIL_FROM_NAME
"MUSE Support"
MAIL_FROM_ADDRESS
"postmaster@sandbox5874a7c543aa49e285ef65b99cdfa218.mailgun.org"
MAIL_FROM_NAME
"mailgun-tester"
MAILGUN_DOMAIN
"support.museblockchain.com"
MAILGUN_SECRET
"key-b242720b1823631be03f15518a10541a"
PUSHER_APP_ID
""
PUSHER_APP_KEY
""
PUSHER_APP_SECRET
""
PUSHER_APP_CLUSTER
"mt1"
0. Whoops\Handler\PrettyPageHandler