You can choose to either:
​Close a specific channel​
Closing a specific channel is done with a PATCH request to the channels
endpoint that includes:
The token address as a path parameter.
The address of the partner node as a path parameter.
The state set to "closed" in the body parameter.
curl -i -X PATCH \http://localhost:5001/api/v1/channels/0x9aBa529db3FF2D8409A1da4C9eB148879b046700/0x61C808D82A3Ac53231750daDc13c777b59310bD9 \-H 'Content-Type: application/json' \--data-raw '{"state": "closed"}'
A successful response will return a normal channel object with the state set to "closed"
.
HTTP/1.1 200 OKContent-Type: application/json​{"token_network_address": "0x3C158a20b47d9613DDb9409099Be186fC272421a","channel_identifier": "99","partner_address": "0x61C808D82A3Ac53231750daDc13c777b59310bD9","token_address": "0x9aBa529db3FF2D8409A1da4C9eB148879b046700","balance": "350","total_deposit": "7331","total_withdraw": "0","state": "closed","settle_timeout": "500","reveal_timeout": "50"}
The settle timeout period will start as soon as a channel is closed and the channel is settled once the settle timeout period is over. The state of the channel will then be changed tosettled
.
If you wish to leave a token network altogether you can do so by making a DELETE request to the connections endpoint with the token address as a path parameter.
curl -i -X DELETE \http://localhost:5001/api/v1/connections/0x9aBa529db3FF2D8409A1da4C9eB148879b046700 \-H 'Content-Type: application/json'
Once done, the response will return a list containing the addresses of all closed channels.
HTTP/1.1 200 OKContent-Type: application/json​["0x41BCBC2fD72a731bcc136Cf6F7442e9C19e9f313","0x5A5f458F6c1a034930E45dC9a64B99d7def06D7E","0x8942c06FaA74cEBFf7d55B79F9989AdfC85C6b85"]
Please note that leaving a token network will take some time since you need to wait for the settle timeout to expire for each channel before a settle can happen.