Each CellFrame node can have network services that can be used by any other members of CellFrame Network and be payed with its tokens.
Services can be low-level, like VPN that's realized with binary libraries, or custom scripts.
Most common services are:
Every service type has its unique ID and can be announced by any node in the network.
When the service is used, node that provides it issue an receipe that should be signed by service's users. Every user should have key for receipe sign, key could be its wallet or provided from another wallet's owner. Wallet's owner issue special conditioned transaction with conditioned outputs, closed with the key that should be same with the key that signes the receipe. Also services can issue orders, that containes specific service request to the concrete participiant of the service or to indeterminate group of that participiants. Orders are propagated through GDB to another node in network.