# Smart Contract

- [Overview](/smart-contract/overview.md): A router system which consolidates protocol interactions within a secure Router/Agent architecture in a single transaction.
- [Router](/smart-contract/overview/router.md): The single entry point for users to interact with. The Router forwards the data to an Agent when executing a transaction.
- [Agent](/smart-contract/overview/agent.md): The execution unit of user transactions. The Agent securely holds token approvals for its exclusive user, and it is non-upgradable.
- [Callback](/smart-contract/overview/callback.md): The entry point for protocol callbacks to reenter an Agent in a transaction.
- [Fees](/smart-contract/overview/fees.md): Protocolink charges fees based on the token amount and transaction type
- [Utility](/smart-contract/overview/utility.md): The extensions for the Agent to perform extra actions
- [Data Type](/smart-contract/overview/data-type.md): The structures and enumerations used in Protocolink contracts.
- [ERC721/ERC1155 Support](/smart-contract/overview/erc721-erc1155-support.md)
- [Deployment Addresses](/smart-contract/deployment-addresses.md)
- [Security Review Details](/smart-contract/security-review-details.md)
