> For the complete documentation index, see [llms.txt](https://docs.ipor.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ipor.io/build-on-fusion/fusion-for-agents.md).

# Fusion for agents

Router page for AI agents: which Fusion interface (MCP, SDK, API) to use for which task, plus the minimal vault-creation example.

### Fusion for agents

#### Fusion for Agents — Start Here

Use this page to choose the correct machine interface for working with IPOR Fusion.

Start here if you are using Codex, Claude or another AI agent to inspect Fusion vaults, prepare transactions or build integrations.

This page is a router to the canonical Fusion interfaces. It does not replace the detailed technical documentation.

**Choose the right interface**

**Fusion MCP**

Use Fusion MCP to inspect deployed Fusion state and research existing vaults, including available vault configuration, Fuses, Balance Fuses, substrates, roles, oracle configuration, registered contracts and other information exposed by the server.

**Hosted MCP connection**

Transport:

`Streamable HTTP`

Server URL:

`https://mcp.ipor.io/mcp`

The server URL is an MCP transport endpoint. Add it through the MCP settings of the relevant AI client. Do not open it as a normal webpage.

Full tool list, resources, prompts, client setup commands and a worked example: MCP

For a locally installed alternative, use the MCP server included in the Python SDK:

[Install the SDK-bundled Fusion MCP server](https://github.com/IPOR-Labs/ipor-fusion.py#mcp-server)

**Python SDK**

Use the official Python SDK to create Fusion vaults, construct contract calls, encode calldata and submit transactions through a configured signer.

* [Python SDK repository](https://github.com/IPOR-Labs/ipor-fusion.py)
* [FusionFactory implementation](https://github.com/IPOR-Labs/ipor-fusion.py/blob/main/src/ipor_fusion/core/fusion_factory.py)
* [SDK installation and quickstart](https://github.com/IPOR-Labs/ipor-fusion.py#quickstart)

The executed, transaction-by-transaction SDK walk is on Deploy your first Fusion vault. Factory addresses per chain are on Addresses; revert selectors and the role table are on Common Errors.

**Fusion Vault Launchpad**

Use the Fusion Vault Launchpad when the task is a complete vault deployment: create, configure, verify and rehearse a Plasma Vault from one JSON strategy file, with a human in the loop. The pipeline runs 17 idempotent steps on top of the Python SDK and verifies the result from the vault's own contracts. A dry-run needs no key; a fork rehearsal on a local anvil fork deposits, executes every declared fuse, checks accounting and withdraws; a live broadcast needs the human's own funded key and an explicit sign-off.

* [Fusion Vault Launchpad repository](https://github.com/IPOR-Labs/fusion-vault-launchpad)
* [AGENTS.md — operating guide for agents, read first](https://github.com/IPOR-Labs/fusion-vault-launchpad/blob/main/AGENTS.md)
* [Using the repository with your agent](https://github.com/IPOR-Labs/fusion-vault-launchpad/blob/main/docs/09-using-with-your-agent.md)

Supported chains: Ethereum and Base. Two worked examples ship: a USDC vault on Aave V3 and a leveraged wstETH/USDC loop on Morpho Blue, both on Base.

**Fusion API**

Use the Fusion API for public vault, product and historical data exposed through HTTP endpoints.

[Fusion API documentation](https://docs.ipor.io/build-on-fusion/developer-guide/api)

**Machine-readable documentation**

Use the machine-readable documentation indexes to discover and retrieve Fusion documentation:

* [llms.txt](https://docs.ipor.io/llms.txt)
* [llms-full.txt](https://docs.ipor.io/llms-full.txt)
* [Fusion documentation homepage](https://docs.ipor.io/)
* [ipor.io/llms.txt](https://ipor.io/llms.txt): protocol-wide index across the app, the docs, the SDK and the Fusion Vault Launchpad

Pages in this guide written for agents carry the `agents` tag: MCP, Deploy your first Fusion vault, Addresses, Common Errors and SDK.

GitBook also exposes individual documentation pages as Markdown.

If a raw Markdown URL cannot be retrieved, do not assume the page is unavailable. Retry through the normal HTML page, `llms.txt`, `llms-full.txt` or the linked GitHub source.

**Deployments and ABIs**

Use the canonical IPOR ABI and deployment repository to resolve supported contract names, chain-specific deployment addresses and ABIs.

[IPOR deployments and ABIs](https://github.com/IPOR-Labs/ipor-abi)

An address or ABI does not, by itself, prove that a Fuse or other component is compatible with a particular vault, market or strategy.

**Creating a Fusion vault**

Vault creation is available through `FusionFactory.clone()` in the Python SDK.

```python
from web3 import Web3

from ipor_fusion import Web3Context
from ipor_fusion.core import FusionFactory

ctx = Web3Context.from_url(
    url=RPC_URL,
    private_key=PRIVATE_KEY,
)

factory = FusionFactory(
    ctx,
    Web3.to_checksum_address(FUSION_FACTORY_ADDRESS),
)

clone_call = factory.clone(
    asset_name="Example Fusion Vault",
    asset_symbol="exampleFV",
    underlying_token=Web3.to_checksum_address(ASSET_ADDRESS),
    redemption_delay_seconds=0,
    owner=Web3.to_checksum_address(OWNER_ADDRESS),
    dao_fee_package_index=0,
)

preview = clone_call.call()
calldata = clone_call.calldata
receipt = clone_call.send()
```

The returned call supports three workflows:

* `clone_call.call()` performs a read-only `eth_call` preview and returns the predicted Fusion deployment.
* `clone_call.calldata` returns unsigned calldata for an external signer or multisig workflow.
* `clone_call.send()` submits the transaction using the signer configured in `Web3Context`.

Resolve the chain-specific `IporFusionFactoryProxy` address through the canonical deployment registry:

[IPOR deployments and ABIs](https://github.com/IPOR-Labs/ipor-abi)

Preview creation again immediately before submission because the predicted deployment depends on the factory's current state.

**Creation is not configuration**

Creating a vault deploys the Fusion vault infrastructure. It does not make the vault strategy-ready.

Depending on the intended strategy, post-deployment configuration can include:

* access roles and execution permissions;
* Functional Fuses and Balance Fuses;
* substrates and dependencies;
* price feeds and oracle configuration;
* limits and withdrawal configuration.

Use the existing configuration documentation for the detailed process:

* [Vault configuration step-by-step](https://docs.ipor.io/build-on-fusion/atomists/vault-configuration-step-by-step)
* [Access Management](https://docs.ipor.io/build-on-fusion/atomists/vault-configuration-step-by-step/access-management)
* [Substrates](https://docs.ipor.io/build-on-fusion/atomists/vault-configuration-step-by-step/substrates)
* [Price Oracle Middleware](https://docs.ipor.io/build-on-fusion/developer-guide/price-oracle-middleware)
* [What is a Fuse?](https://docs.ipor.io/build-on-fusion/architecture-overview/what-is-a-fuse)

**Rules for agents**

* Use Fusion MCP for deployed-state inspection and research.
* Use the Python SDK for vault creation and call construction.
* For a complete vault deployment, use the Fusion Vault Launchpad instead of assembling the steps by hand. Never broadcast to a live chain without a clean fork rehearsal and the human's explicit "yes" for that exact strategy file.
* Resolve production addresses through the canonical deployment registry.
* Do not infer production configuration from tests or an arbitrary existing vault.
* If an authoritative integration or configuration requirement cannot be found, return `UNKNOWN` rather than guessing.
* Preview and prepare transactions by default. Signing or broadcasting requires explicit authorization.
