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

# Invoke Host Function Object

> Invokes a Soroban smart contract function.

[Invokes](https://developers.stellar.org/docs/learn/fundamentals/transactions/list-of-operations.md#invoke-host-function) a Soroban smart contract function.

**function** `string`

The type of `InvokeHostFunctionOp` which can be one of `HostFunctionTypeHostFunctionTypeInvokeContract`, `HostFunctionTypeHostFunctionTypeCreateContract`, or `HostFunctionTypeHostFunctionTypeUploadContractWasm`.

**parameters** `array`

An array of parameters passed into the Soroban smart contract function (only present when the type of `InvokeHostFunctionOp` is `HostFunctionTypeHostFunctionTypeInvokeContract`).

**parameters properties**

**type** `string`

The [type](https://developers.stellar.org/docs/learn/fundamentals/contract-development/types/built-in-types.md) of the function parameter.

**value** `string`

The base64 encoding of the XDR value of the parameter.

**address** `string`

The address of the newly created contract (only present when the type of `InvokeHostFunctionOp` is `HostFunctionTypeHostFunctionTypeCreateContract`).

**salt** `string`

The salt used to create the contract (only present when the type of `InvokeHostFunctionOp` is `HostFunctionTypeHostFunctionTypeCreateContract`).

**asset\_balance\_changes** `array`

An array of [Stellar Asset Contract](https://developers.stellar.org/docs/tokens/stellar-asset-contract.md) balance update events that occurred as a side effect of the `InvokeHostFunctionOp` (only present when the type of `InvokeHostFunctionOp` is `HostFunctionTypeHostFunctionTypeInvokeContract` *and* the invocation is on a Stellar Asset Contract).

**asset\_balance\_changes properties**

**asset\_type** `string`

The type of asset being sent. Either `native`, `credit_alphanum4`, or `credit_alphanum12`.

**code** `string`

The code for the asset being sent. Appears if the `asset_type` is not `native`.

**issuer** `string`

The Stellar address of the issuer of the asset being sent. Appears if the `asset_type` is not `native`.

**type** `string`

The type of the [Stellar Asset Contract event](https://developers.stellar.org/docs/tokens/stellar-asset-contract.md). It can be one of `transfer`, `mint`, `clawback`, or `burn`.

**from** `string`

The Stellar address of the sender (can be a contract or a Stellar account). This field is not present when `type` is `mint`.

**to** `string`

The Stellar address of the recipient (can be a contract or a Stellar account). This field is only present when `type` is `transfer` or `mint`.

**amount** `string`

The amount sent.

```json Example theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "id": "1109896858714113",
  "paging_token": "1109896858714113",
  "transaction_successful": true,
  "source_account": "GBVAL7WM2G3NUTDIT5EYE4BMDRNLRQWI4RDGSVFCPXHPQRSSPEUQ2PNK",
  "type": "invoke_host_function",
  "type_i": 24,
  "created_at": "2024-02-22T10:50:50Z",
  "transaction_hash": "1768d762bedf3129a00ec095d1aaed4c378dc3f55250758ed5008992b303303b",
  "function": "HostFunctionTypeHostFunctionTypeInvokeContract",
  "parameters": [
    {
      "value": "AAAAEgAAAAHJOCa1uNUk//1ibktaJMY8Q0o5+CSWzWTw16NBiWFiGA==",
      "type": "Address"
    },
    {
      "value": "AAAADwAAAAtzZXRfcmVjb3JkcwA=",
      "type": "Sym"
    },
    {
      "value": "AAAAEAAAAAEAAAACAAAAEAAAAAEAAAACAAAADwAAAAVPdGhlcgAAAAAAAA8AAAADVVNEAAAAABAAAAABAAAAAgAAAA8AAAAFT3RoZXIAAAAAAAAPAAAAA0VVUgA=",
      "type": "Vec"
    },
    {
      "value": "AAAAEAAAAAEAAAACAAAAEQAAAAEAAAACAAAADwAAAAVwcmljZQAAAAAAAAoAAAAAAAAAAAAAAAAAEcMIAAAADwAAAAl0aW1lc3RhbXAAAAAAAAAFAAAAAGXXJpwAAAARAAAAAQAAAAIAAAAPAAAABXByaWNlAAAAAAAACgAAAAAAAAAAAAAAAAAQXTQAAAAPAAAACXRpbWVzdGFtcAAAAAAAAAUAAAAAZdcmnA==",
      "type": "Vec"
    }
  ],
  "address": "",
  "salt": "",
  "asset_balance_changes": []
}
```
