# Definition

### **Arguments**

* **address** `string` *required*\
  Address of the definition
* **definition** `array` *required*\
  Definition of the autonomous agent

### Returns

Returns the unit hash.

### Example

```javascript
const { Client, utils } = require('obyte');

const client = new Client('wss://obyte.org/bb-test', { testnet: true });

const definition = [
  'autonomous agent',
  {
    bounce_fees: {
      base: 10000
    },
    messages: [
      {
        app: 'payment',
        payload: {
          asset: 'base',
          outputs: [
            {
              address: "{trigger.address}",
              amount: "{trigger.output[[asset=base]] - 1000}"
            }
          ]
        }
      }
    ]
  }
];

const params = {
  address: utils.getChash160(definition),
  definition
}

client.post.definition(params, wif, function(err, result) {
  console.log(result);
});
```

The above example of an AA just sends the received money less 1000 bytes back to the sender.&#x20;

### **Learn more**

* "Getting started guide": <https://developer.obyte.org/autonomous-agents/getting-started-guide>
* "Oscript language reference": <https://developer.obyte.org/autonomous-agents/oscript-language-reference>
