Instrument programs: cancel, convert, exercise
The Instrument Verbs cancel, convert, exercise as MCP do programs, with inputs, result, refusals and an example.
Reference for Instrument, one group of Instrument programs.
Instrument.cancel
Cancel ends an unvested, expired or forfeited Instrument and returns any option Shares to the pool. Verb page.
do: return await $.Instrument.cancel(input)Emits Instrument.canceled.
Inputs
| Input | Type | Required | Description |
|---|---|---|---|
instrument | Instrument | required | The Instrument to end. |
reason | string | required | Why it ends: unvested, expired or forfeited. |
Returns
| Output | Type | Required | Description |
|---|---|---|---|
instrument | Instrument | required | The canceled Instrument, kept with its history. |
Refuses when
| Check | Error | Fix | Then call |
|---|---|---|---|
| The key is valid, but its scopes do not allow this operation. | forbidden | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |
Example
{
"name": "do",
"arguments": {
"code": "return await $.Instrument.cancel({ instrument: 'instrument_yZz4i2meOW', reason: 'unvested' })"
}
}Instrument.convert
Convert turns a SAFE or note into Shares at a priced round, at its cap or discount, whichever gives more Shares. Verb page.
do: return await $.Instrument.convert(input)Emits Instrument.converted.
Inputs
| Input | Type | Required | Description |
|---|---|---|---|
instrument | Instrument | required | The SAFE or note. |
roundPrice | money | required | The price per Share of the priced round. |
Returns
| Output | Type | Required | Description |
|---|---|---|---|
shares | list of Share | required | The Shares issued on conversion. |
instrument | Instrument | required | The Instrument, now converted. |
Refuses when
| Check | Error | Fix | Then call |
|---|---|---|---|
| The key is valid, but its scopes do not allow this operation. | forbidden | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |
Example
{
"name": "do",
"arguments": {
"code": "return await $.Instrument.convert({ instrument: 'instrument_yZz4i2meOW', roundPrice: { amount: 29, currency: 'USD' } })"
}
}Instrument.exercise
Exercise buys the Shares an option or warrant covers at its strike price, up to what has vested. Verb page.
do: return await $.Instrument.exercise(input)Emits Instrument.exercised.
Inputs
| Input | Type | Required | Description |
|---|---|---|---|
instrument | Instrument | required | The option or warrant. |
quantity | integer | required | How many Shares to buy. |
Returns
| Output | Type | Required | Description |
|---|---|---|---|
share | Share | required | The Shares bought. |
instrument | Instrument | required | The Instrument, now exercised. |
Refuses when
| Check | Error | Fix | Then call |
|---|---|---|---|
| The key is valid, but its scopes do not allow this operation. | forbidden | Use a key whose scopes cover the operation, or ask an owner of the namespace to grant them. | None. |
Example
{
"name": "do",
"arguments": {
"code": "return await $.Instrument.exercise({ instrument: 'instrument_yZz4i2meOW', quantity: 1 })"
}
}