# BondIntent

#### Overview

The `BondIntent` allows users to express the desire to borrow liquidity for the purpose of inventory free solving. The `BondIntent` is an ERC721 token that the filler of the BondIntent mints when the bond intent is filled.

#### Message Format

Messages largely match what is in the intentpool specification. The `BondInfo` has the following fields:

```solidity
struct BondInfo {
    address solver;
    uint256 nonce;
    bytes32 orderHash; // hash of the bond order
    uint256 srcFee; // fee taken on the src chain
    Item input; // input of the order
    Item output; // output of the order
    address lpToken; // the token the filler of the BondIntent needs to provide
    uint256 lpAmount; // the amount the filler of the BondIntent needs to provide
    uint256 deadline;  // deadline for the intent issuer to successfully use the borrowed liqudity
}
```

* `solver` , the address of the original bond issuer
* `nonce` , a nonce provided for preventing replay
* `orderHash` is the hash of the bond order.
* `srcFee` fee taken by the bond purchaser on the origin chain
* `lpToken` the token the filler will repay to the bond purchaser needs to provide
* `lpAmount` the amount of token the bond purchaser to provide.
* `deadline` is the deadline for the intent issuer to successfully use the borrowed liquidity.

```solidity
struct Item {
    address token; // ERC20 token
    uint256 amountStart;
    uint256 amountEnd;
    uint32 chainId;
}
```

#### Fees

There are two fees, those paid on the origin chain and fees paid on the destination chain. The fees from the origin chain are implemented as a revenue-sharing measure between filler and liquidity provider, and are taken from the funds from the initiating swapper. The fees on the destination chain are provided in a separate token to the bond purchaser.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.fabriq.network/the-protocol/intents-types/bondintent.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
