{
  "$schema": "../rpc-schema-draft.json",
  "type": "object",
  "rpc": "fundchannel_cancel",
  "title": "Command for completing channel establishment",
  "description": [
    "`fundchannel_cancel` is a lower level RPC command. It allows channel opener to cancel a channel before funding broadcast with a connected peer.",
    "",
    "Note that the funding transaction MUST NOT be broadcast before `fundchannel_cancel`. Broadcasting transaction before `fundchannel_cancel` WILL lead to unrecoverable loss of funds.",
    "",
    "If `fundchannel_cancel` is called after `fundchannel_complete`, the remote peer may disconnect when command succeeds. In this case, user need to connect to remote peer again before opening channel."
  ],
  "request": {
    "required": [
      "id"
    ],
    "additionalProperties": false,
    "properties": {
      "id": {
        "type": "pubkey",
        "description": [
          "Node id of the remote peer with which to cancel."
        ]
      }
    }
  },
  "response": {
    "required": [
      "cancelled"
    ],
    "additionalProperties": false,
    "properties": {
      "cancelled": {
        "type": "string",
        "description": [
          "A message indicating it was cancelled by RPC."
        ]
      }
    }
  },
  "errors": [
    "On error the returned object will contain `code` and `message` properties, with `code` being one of the following:",
    "",
    "- -32602: If the given parameters are wrong.",
    "- 306: Unknown peer id.",
    "- 307: No channel currently being funded that can be cancelled.",
    "- 308: It is unsafe to cancel the channel: the funding transaction has been broadcast, or there are HTLCs already in the channel, or the peer was the initiator and not us."
  ],
  "author": [
    "Lisa Neigut [niftynei@gmail.com](mailto:niftynei@gmail.com) is mainly responsible."
  ],
  "see_also": [
    "lightning-connect(7)",
    "lightning-fundchannel(7)",
    "lightning-multifundchannel(7)",
    "lightning-fundchannel_start(7)",
    "lightning-fundchannel_complete(7)",
    "lightning-openchannel_init(7)",
    "lightning-openchannel_update(7)",
    "lightning-openchannel_signed(7)",
    "lightning-openchannel_abort(7)"
  ],
  "resources": [
    "Main web site: [https://github.com/ElementsProject/lightning](https://github.com/ElementsProject/lightning)"
  ],
  "examples": [
    {
      "request": {
        "id": "example:fundchannel_cancel#1",
        "method": "fundchannel_cancel",
        "params": [
          "nodeid101010101010101010101010101010101010101010101010101010101010"
        ]
      },
      "response": {
        "cancelled": "Channel open canceled by RPC"
      }
    },
    {
      "request": {
        "id": "example:fundchannel_cancel#2",
        "method": "fundchannel_cancel",
        "params": {
          "id": "nodeid101010101010101010101010101010101010101010101010101010101010"
        }
      },
      "response": {
        "cancelled": "Channel open canceled by RPC"
      }
    }
  ]
}
