net.corda.contracts.asset / Obligation / <init>

# <init>

`Obligation()`

An obligation contract commits the obligor to delivering a specified amount of a fungible asset (for example the Cash contract) at a specified future point in time. Settlement transactions may split and merge contracts across multiple input and output states. The goal of this design is to handle amounts owed, and these contracts are expected to be netted/merged, with settlement only for any remainder amount.

### Parameters

`P` - the product the obligation is for payment of.