Skip to main content
Stopping a stream immediately halts all further USDC accrual. The on-chain contract calculates how much USDC the receiver has earned up to that exact second, sends that amount to the receiver, and returns the remaining unstreamed balance to the sender. The stream record is updated to STOPPED. Only the sender’s SCA address may stop a stream.
The callerSCA must match the senderSCA recorded at stream creation. Attempting to stop a stream from a different address will cause the on-chain transaction to revert.

Endpoint

Authentication

Pass your API key in the x-api-key header.

Request Body

string
required
The stream reference ID from POST /api/payments/stream — e.g. "stream_n2p4q8_f3g7h1".
string
required
The sender’s SCA wallet address. Must match the senderSCA recorded when the stream was created.

Response

boolean
true when the stream was stopped and the on-chain transaction confirmed.
object
The updated stream record.
string
On-chain transaction hash for the stream stop transaction.
string
ArcScan link — https://testnet.arcscan.app/tx/{txHash}.
number
USDC delivered to the receiver up to the stop point — e.g. 87.234512.
number
Unstreamed USDC returned to the sender’s wallet — totalDeposited - totalStreamed, e.g. 412.765488.
string
A human-readable summary showing how much was streamed and how much was refunded.

Examples

Success Response

Error — Stream Already Stopped

Error — Stream Not Found

Webhook Payload (stream.stopped)

When a webhookUrl was registered at stream creation, FlareHQ delivers the following event:
The receiver’s accrued balance is automatically sent to them when the stream is stopped on-chain — they do not need to call /withdraw separately after a stream is stopped.