<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [NS](./bitburner.ns.md) &gt; [hack](./bitburner.ns.hack.md)

## NS.hack() method

Steal a server's money.

**Signature:**

```typescript
hack(host?: string, opts?: BasicHGWOptions): Promise<number>;
```

## Parameters

<table><thead><tr><th>

Parameter


</th><th>

Type


</th><th>

Description


</th></tr></thead>
<tbody><tr><td>

host


</td><td>

string


</td><td>

_(Optional)_ Hostname/IP of the target server to hack. Optional. Defaults to current server if not provided.


</td></tr>
<tr><td>

opts


</td><td>

[BasicHGWOptions](./bitburner.basichgwoptions.md)


</td><td>

_(Optional)_ Optional parameters for configuring function behavior.


</td></tr>
</tbody></table>

**Returns:**

Promise&lt;number&gt;

A promise that resolves to the amount of money stolen (which is zero if the hack is unsuccessful).

## Remarks

RAM cost: 0.1 GB

Function that is used to try and hack servers to steal money and gain hacking experience. The runtime for this command depends on your hacking level and the target server’s security level when this function is called. In order to hack a server you must first gain root access to that server and also have the required hacking level.

A script can hack a server from anywhere. It does not need to be running on the same server to hack that server. For example, you can create a script that hacks the `foodnstuff` server and run that script on any server in the game.

A successful `hack()` on a server will raise that server’s security level by 0.002 per thread. You can use [hackAnalyzeSecurity](./bitburner.ns.hackanalyzesecurity.md) to calculate the security increase for a number of threads.

## Example


```js
let earnedMoney = await ns.hack("foodnstuff");
```

