# Initialize Near Stream

Stream can be initialize in the following way:

```typescript
const now = nowInSec();
const streamRate = NearAmount.parse("0.0001").toString();

const startTime = (now + 15).toString();
const endTime = (now + 400).toString(); // 5 min
const receiver = "receiverAccountId.testnet";
const canCancel = true;
const canUpdate = true;

const streamParams: InitStreamParams = {
   streamRate,
   startTime,
   endTime,
   receiver,
   canCancel,
   canUpdate,
};

const streamPayload = await client.initStream(streamParams);

// for node application
const results = await streamPayload.execute(); // throws error if keystore is not provided.

// or
// for browser application
const results = await wallet.signAndSendTransactions(streamPayload);
```

If you require to obtain streamId, then you can get it in the following way.

<pre class="language-typescript"><code class="lang-typescript"><strong> const streamId = JSON.parse(
</strong>   Buffer.from((results[results.length - 1].status as any).SuccessValue || "", "base64").toString(),
);
</code></pre>

However, this is not applicable for the case of token stream. See [Next](https://docs.zebec.io/zebec-near/zebec-near-sdk/normal-stream/initialize-token-stream) page for code.
