I cant really find much information about how it works at a deeper level.
As in how is counter-party build on top of the blockchain? Where are the assets contracts stored etc. How does it work not how to use it.
The documentation that exists is pretty sparse and mostly how to use counterparty, either as developer or user.
Counterparty encodes its transaction data into Bitcoin transactions. Then when the Counterparty software parses those transactions it can generate a consistent state for all assets, balances, broadcasts, etc. In this way, any assets you have are separate from any bitcoin they are sent with. Compare this to colored coins where the unspent outputs themselves must be managed along with their btc value. If you have more questions, feel free to ask. You can also check out my introduction What is Counterparty? at http://davidsterry.com/blog/2014/10/what-is-counterparty/