> ## Documentation Index
> Fetch the complete documentation index at: https://docs.modo.link/llms.txt
> Use this file to discover all available pages before exploring further.

# GetSettlementContracts

> Discover on-chain DvpProposal and Dvp contracts for active settlements

Look up on-chain `DvpProposal` and `Dvp` contracts for a given list of settlement IDs. Use it to discover the state of active settlements before proposing, accepting, or allocating.

## Request

<ParamField path="settlement_ids" type="string[]" required>
  Settlement identifiers to look up.
</ParamField>

```proto theme={null}
message GetSettlementContractsRequest {
  repeated string settlement_ids = 1;
}
```

## Response

<ParamField path="contracts" type="DiscoveredContract[]">
  Matching DvP-related contracts, each with contract ID, template ID, and payload.
</ParamField>

## Example

```bash theme={null}
grpcurl -d '{"settlement_ids": ["sett-123"]}' \
  rpc-devnet.modo-api.app:443 \
  silvana.ledger.v1.DAppProviderService/GetSettlementContracts
```

## DvP flow

`GetSettlementContracts` is typically called by the counterparty before [`AcceptDvp`](/agentic-api/dvp/accept-dvp), and by the proposer before [`Allocate`](/agentic-api/dvp/allocate), to discover the relevant contract IDs.

**Full sequence**: [PayDvpFee](/agentic-api/dvp/pay-dvp-fee) → [ProposeDvp](/agentic-api/dvp/propose-dvp) → [AcceptDvp](/agentic-api/dvp/accept-dvp) → [PayAllocFee](/agentic-api/dvp/pay-alloc-fee) → [Allocate](/agentic-api/dvp/allocate).
