# Initialize Token Stream

```typescript
const params: InitTokenStreamParams = {
   canCancel: true,
   canUpdate: true,
   startTime: (nowInSec() + 1000).toString(),
   endTime: (nowInSec() + 1300).toString(), // after 2 min
   receiver: account2.accountId,
   streamRate: FungibleTokenAmount.parse("0.1", 18).toString(),
   tokenId: "dai.fakes.testnet",
};

const payload = await multiSigService1.initTokenStream(params);

const result = await wallet.signAndTransactions(payload);
```

Then to confirm the request by another member you need to retrieve the requestId from the result which can be done in the following way.

<pre class="language-typescript"><code class="lang-typescript"><strong>const successValue = (result[result.length - 1].status as FinalExecutionStatus).SuccessValue;
</strong>if (!successValue) throw new Error("successValue is missing");
const requestId = Number(Buffer.from(successValue, "base64").toString());
</code></pre>

Then request can be confirmed by another member in the following way.

```typescript
const confirmPayload = await multiSigService2.confirm({ requestId: Number(requestId) });
const result = await wallet.signAndTransactions(payload);
```
