========
Demo
========
This section highlights real-world demonstrations of how Saline SDK enables powerful asset protection through programmable mandates.
Each demo includes:
β’ A clear use case
β’ A YouTube walkthrough
β’ GitHub code for replication
.. note::
These examples go beyond basic scripts. They showcase how Saline protects assets from AI hallucinated or rogue agents, matchers, or bots, ensuring safe automation on and across chains.
.. _demo_block_asset:
Block Assets from Agent
=========================
Block Assets from Being Used by Agent
Purpose:
Prevent an unauthorized matcher/agent from touching user assetsβeven if it submits a valid-looking transaction.
.. raw:: html
π» Code: `GitHub Source `_
Scenario:
β’ User A installs a mandates that restrcit its BTC balance to only stay above 3
β’ Matcher A attempts to transfer 1 BTC β β REJECTED
β’ Matcher A transfers 2 ETH β β ACCEPTED
Insight:
Even if the matcher is allowed to interact generally, fine-grained mandates on assets can override it.
.. _demo_whitelist_agents:
Only Allow Interaction with Whitelisted Agents
=========================
Only Allow Interaction with Whitelisted Agents
Purpose:
Only trusted agents/LLMs should be allowed to interact with your wallet.
.. raw:: html
π» Code: `GitHub Source `_
Scenario:
β’ User B creates a mandate that whitelists only Matcher/Agent XYZ.
β’ Agent XYZ transfers ETH/BTC from User B address β β ACCEPTED
β’ Any other agent attempt to transfer asset from User B β β REJECTED
Insight:
Whitelisting agents gives users powerful filters for automation and delegation.
.. _demo_swap_conditions:
Conditional Swap, Whitelist and Time-frame
=========================
Conditional Swap: 1 BTC for >= 20 ETH + Only With ABC Agent + Allow once
Purpose:
Showcase conditional, chained logic for automated swaps.
.. raw:: html
π» Code: `GitHub Source `_
Scenario:
β’ User C creates an intent: "Only swap 1 BTC for ETH >= 20, agent must be ABC and allow once"
β’ Matcher ABC proposes 2 BTC β β REJECTED
β’ Matcher XYZ proposes 1 BTC for 20 ETH β β REJECTED
β’ Matcher ABC proposes 1 BTC for 20 ETH β β ACCEPTED
Insight:
Saline lets you specify not just what to trade, but under what logic, with whom and how many time .
.. _demo_mcp_guard:
LLM Agent With Mandate Awareness (MCP)
=========================
Purpose:
Demonstrate how a language model connected via MCP can understand and respect user mandates.
.. raw:: html
π» Code: `GitHub Source `_
Scenario:
β’ User D sets a mandate: "BTC balance must stay >= 2 BTC"
β’ LLM Agent attempts 1 BTC transfer β β REJECTED
β’ LLM Agent attempts 2 ETH transfer β β ACCEPTED
Insight:
Saline makes mandates legible to agentsβenabling verifiable AI compliance.
.. _demo_mcp_swap_matcher:
LLM Matcher market-making with MCP
=========================
LLM Matcher: Discover + Submit Matching Swaps (MCP)
Purpose:
Show how an LLM can act as a decentralized market maker by reading intents, finding matches, and submitting a transaction.
.. raw:: html
π» Code: `GitHub Source `_
Scenario:
β’ LLM queries all swap intents on-chain
β’ Finds compatible pairs
β’ Submits atomic transaction to execute both sides
Insight:
This is decentralized, intelligent market-making. No smart contract needed. Just logic and trustless coordination.
.. seealso::
See the `Examples folder on GitHub `_ for source code.