> ## Documentation Index
> Fetch the complete documentation index at: https://0xcaptain.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Become a solver in AgentBank intent auctions

> Register as an AgentBank solver, submit competitive bids on open intents, and earn fees by routing user capital to the highest-yielding vault strategy.

Solvers are registered analysts who bid on user intents to earn execution fees. If your bid wins, you route the user's funds to a vault and earn fees if the actual APY meets or exceeds your promise. If you fail to deliver, your bond is slashed.

## Solver registration

Before bidding on intents, register in the `SolverRegistry` contract (`0xB864B5Aa1E2164D93B491f5f62902120FAf1Ab52`). Registration requires a minimum bond in MNT or ABNK.

ABNK bonds are accepted at a **1.5× multiplier** vs stablecoins — posting ABNK as bond is more capital-efficient.

## Submit a bid

```typescript theme={null}
// As a solver, submit a bid for intent ID 42
const txHash = await client.intent.submitBid({
  intentId: 42n,
  tierVault: "0xC44C061D257Af305dEAea2eD093E878a615d856d", // Balanced vault
  promisedApy: 650,    // 6.5% APY promised to the user
  bondAmount: "1000",  // 1000 USDY bond
});
console.log("Bid submitted:", txHash);
```

## Check a bid

```typescript theme={null}
const bid = await client.intent.getBid(7n);
console.log("Solver:", bid.solver);
console.log("Promised APY:", bid.promisedApy.toString(), "bps");
console.log("Bond posted:", bid.bondPosted.toString());
```

## Bid scoring

Bids are scored as: `score = promisedAPY × √(bondPosted)`

Both a high APY promise and a large bond improve your score. The highest-scoring bid wins after the 30-minute auction window.

## Slashing

If the vault fails to deliver the promised APY by the end of the intent duration, the Guard agent triggers slashing:

1. A portion of your bond is slashed and sent to the `InsurancePool`
2. Your solver reputation score is decremented in the `SolverRegistry`
3. Your registration status is reviewed — repeated slashes result in deregistration

> [!WARNING]
>
> Only bid APYs you are confident your proposed vault can deliver. Aggressive over-promising leads to bond slashing.

## Monitor open intents

Use the SDK to watch for intents you can bid on:

```typescript theme={null}
// Poll for open intents (for production, use the subgraph)
const openIntents = await client.intent.getOpenIntents(50);

for (const intent of openIntents) {
  console.log(`Intent ${intent.id}: ${intent.amount} for ${intent.duration}s, min APY ${intent.minApyBps} bps`);
}
```

For higher-frequency monitoring, query the `IntentRouter` events via The Graph subgraph (deployed on Mantle) rather than polling the RPC directly.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.