createonion

createonion -- Low-level command to create a custom onion

SYNOPSIS

createonion hops assocdata [session_key] [onion_size]

DESCRIPTION

The createonion RPC command allows the caller to create a custom onion with custom payloads at each hop in the route. A custom onion can be used to implement protocol extensions that are not supported by Core Lightning directly.

  • hops (array of objects): A JSON list of dicts, each specifying a node and the payload destined for that node.:
    • pubkey (pubkey): Node pubkey.
    • payload (hex): Payload to be sent to the node.
  • assocdata (hex): The associated data that the onion should commit to. If the onion is to be used to send a payment later it MUST match the payment_hash of the payment in order to be valid.
  • session_key (secret, optional): Can be used to specify a secret that is used to generate the shared secrets used to encrypt the onion for each hop. It should only be used for testing or if a specific shared secret is important. If not specified it will be securely generated internally, and the shared secrets will be returned.
  • onion_size (u16, optional): A size different from the default payment onion (1300 bytes). May be used for custom protocols like trampoline routing.

RETURN VALUE

On success, an object is returned, containing:

  • onion (hex): The onion packet (onion_size bytes).
  • shared_secrets (array of secrets): One shared secret for each node in the hops parameter.:
    • (secret, optional): The shared secret with this hop.

AUTHOR

Christian Decker [email protected] is mainly responsible.

SEE ALSO

lightning-sendonion(7), lightning-getroute(7)

RESOURCES

Main web site: https://github.com/ElementsProject/lightning

BOLT 04

EXAMPLES

Example 1:

Request:

lightning-cli createonion -k "hops"='[{"pubkey": "033845802d25b4e074ccfd7cd8b339a41dc75bf9978a034800444b51d42b07799a", "payload": "11020203e804019706080000760000010000"}, {"pubkey": "03cecbfdc68544cc596223b68ce0710c9e5d2c9cb317ee07822d95079acc703d31", "payload": "11020203e804019706080000780000010000"}, {"pubkey": "02287bfac8b99b35477ebe9334eede1e32b189e24644eb701c079614712331cec0", "payload": "2b020203e80401910822d7768066e4322f8e4603fac079d72d39757655eae27e46057913bd038bd670cd03e8"}]' "assocdata"="c604fdfab4dc32f8efe4d02afb2a8e1284df9bb3853ad9a91324c1c40dfc94da"
{
  "id": "example:createonion#1",
  "method": "createonion",
  "params": {
    "hops": [
      {
        "pubkey": "033845802d25b4e074ccfd7cd8b339a41dc75bf9978a034800444b51d42b07799a",
        "payload": "11020203e804019706080000760000010000"
      },
      {
        "pubkey": "03cecbfdc68544cc596223b68ce0710c9e5d2c9cb317ee07822d95079acc703d31",
        "payload": "11020203e804019706080000780000010000"
      },
      {
        "pubkey": "02287bfac8b99b35477ebe9334eede1e32b189e24644eb701c079614712331cec0",
        "payload": "2b020203e80401910822d7768066e4322f8e4603fac079d72d39757655eae27e46057913bd038bd670cd03e8"
      }
    ],
    "assocdata": "c604fdfab4dc32f8efe4d02afb2a8e1284df9bb3853ad9a91324c1c40dfc94da"
  }
}

Response:

{
  "onion": "0002ee1c385d946cd41f160b154589a4db54b3bebb652695846e78983d40f473332a77c569db41c78e8de5b1183c0fd7094f637cf6be7ed89be4b5e1d846294c54b1c9c3ac7ea571378893e6ce901a2519363aefb76a556552b4a687c49f790fe34689fa14d6a673aca399b5217e3f2a7cc20b6233067dbbffc2784938f9338f90ec8f5c3561e7f59f679e1ccc78e1972c7679757de87d779ba048c457d27d13766f2b12dbd4022031623794605013f7504037c05227209aa0d0685cddb503aac714105abc587291ae80c69f45425256db697727397424a96ca2f97c2695c72f97245d6a5f62b19480f9094a5d90f13d1ea393ae5c12c9fcbcfffe79d62ed304a2c56200a6890d03c32e7d58afe3c64ed7598457ac12299ac9009303d1366d1bf11c4b7062f40ef1bf6b89d055d2328b74357bfa069a8e0c1081488b4742a8db5bd89260900ed452d9a50e123dd130b52d5683286c0ab55776f0e576f4f1c5ec4d592c26d1dfa3cf3845d90330c57bd05130bb39841e076377c28eb0443cbcf2976da37f220ca7ceef1a21e96d45b1a9ac73577242cb6229f39a941a279dae7e79d1c702810573eacf07eace5f3bb251958dd5758884184f487343e35fc66279a2dc49b4a922bbd9f3ac95733420ae5fb4a12c4a1ca37b95ac98afc502c505edb9d9c8d69e04c9ba912c233b473476ef426240fb191f26add96d03004e33807108584dc82b18a4d73dee18476e5a769ec72f054aa5b18b1ff61c46e860fcd69fd16b123c8d3bf228edd3f3bfa6bd7d5f71845af49379b33b0992d0e05b395d95e936b4d883af79aa9e7b35220bcf440aaa4564cf8ad90c3a1e04c1b4410d6cdbd8d970ec9cc5fb1431f6769ae5c964415602067ea306059315273fcf4cf7a4187ecfb7fe3a965eeb7f851864f493c1ce85451c990112ce1e86df2cb95d00abf8c6998cb884c60ca04513a9e30845e8a7b97f3471cbbbf70628793bd1e2367f6d8e98a7de0c34d5a9b37921b380d634f0a5c8bad7e219dcf14c6d5cf67b01712f7357fc0d342f1cda656b49462144218e90861910afb0ba206f45be0f498a094bbc404f03fe32d68062c5cfde99807e7a6c27ebfcd6fe6c85eeed9a358776775507f6ae39d136b0fb37f989b967259da19eead3697636e344910657a6492eb4c2f9d995d4e333b11062cd09f21b65185999b2b9f0bb7e552049f62d1d24b8e9759d949e8a11a108a88e79b1296135d35488f2e0663a8474f9751e6fa7327a0314b4a4f95ecb88c20f18b75c5e2f0a9357b37b6036be226ff25e8b32e31ad45f78b36ef3aa248b52b6e51fb683c5c7e28feb61e6e20af79f9e99e2a0eec7004d44bd19245286ba4ff6186c0451d3ee00b130e1038a5107bbe66e4c10bc7eb3a48a30bd2058698f2aa8d0280f0904aee0f557f24ca6488df3b95a8a651aa98ffb2455e0b379f14f205303fc84622465bed10973416bb7ec024a21d92a87c2c5109e4caa08ca8acf3d04ee8a775569f07acc159c23eced54d2a25a75f08b4a159bc5a2c53a738076cab6a1de26a7df5d89cad571caddadda651179e6ce9d1ba6fe03b83584a9a087e3dafa1020bbbc4300d0f1b7c71fe8e908e255a5a9b48decb8d29b0ce80a0ed0a668412694b04d5a9ffd6bc9c8b2b470aa35bad1f03f55415fcacbae31129c4d539be7e4746638bb2fdd08d48c15dad2be3cf43e230fcfbfde2acb844699731aea91d2641cf476a70198eb4e48bac4899b93ae77965190a62dcd661a8acd5b0d261f10e8471332cd2b026d62fe396e3d9bc4506578a57bbe160c57c25c91fa44c062f20085f867fe4149b023eca42e2a91b20252687b4ea1eb835f8011ed06e466c6fcdb44d70a596f2dac457a09ad7111f66efcd73428b4a8dc2a7d15f90421c7eac3ffb3a46f03050debf983723a43",
  "shared_secrets": [
    "70b1d48484a1640b979bbf3f5b29792dcda347cfa994b9efa1a6d6ca20945fec",
    "587326519609b5997d238ccdfe9cc359d3439e991738a66eea4d178ec1fe9e9c",
    "4ee7c3dfe58f7c3e316b433ab20394ab4330a6dcb3dda76d1d184335afc6c4ad"
  ]
}

Example 2:

Request:

lightning-cli createonion -k "hops"='[{"pubkey": "033845802d25b4e074ccfd7cd8b339a41dc75bf9978a034800444b51d42b07799a", "payload": "11020203e804019706080000760000010000"}, {"pubkey": "03cecbfdc68544cc596223b68ce0710c9e5d2c9cb317ee07822d95079acc703d31", "payload": "11020203e804019706080000780000010000"}, {"pubkey": "02287bfac8b99b35477ebe9334eede1e32b189e24644eb701c079614712331cec0", "payload": "2b020203e80401910822d7768066e4322f8e4603fac079d72d39757655eae27e46057913bd038bd670cd03e8"}]' "assocdata"="c604fdfab4dc32f8efe4d02afb2a8e1284df9bb3853ad9a91324c1c40dfc94da" "session_key"="4141414141414141414141414141414141414141414141414141414141414141"
{
  "id": "example:createonion#2",
  "method": "createonion",
  "params": {
    "hops": [
      {
        "pubkey": "033845802d25b4e074ccfd7cd8b339a41dc75bf9978a034800444b51d42b07799a",
        "payload": "11020203e804019706080000760000010000"
      },
      {
        "pubkey": "03cecbfdc68544cc596223b68ce0710c9e5d2c9cb317ee07822d95079acc703d31",
        "payload": "11020203e804019706080000780000010000"
      },
      {
        "pubkey": "02287bfac8b99b35477ebe9334eede1e32b189e24644eb701c079614712331cec0",
        "payload": "2b020203e80401910822d7768066e4322f8e4603fac079d72d39757655eae27e46057913bd038bd670cd03e8"
      }
    ],
    "assocdata": "c604fdfab4dc32f8efe4d02afb2a8e1284df9bb3853ad9a91324c1c40dfc94da",
    "session_key": "4141414141414141414141414141414141414141414141414141414141414141"
  }
}

Response:

{
  "onion": "0002eec7245d6b7d2ccb30380bfbe2a3648cd7a942653f5aa340edcea1f283686619770b0fbc0a1cf999ec960bfbbbba542e05864d0d24ddf4b26b87e2e7eab0e16ada7007461339d5e9df65df74ab5c6cabda0cd4f1186bd07fc5648b2d3cd34deb26384d37838de93e3a4dbb0b6b19f40c8c63ffc17174abe4e2bcb15a9c11a1fa93d526957b3f58bfda08ca9325332f6492dee0566910ff6165317d67c0952c35eabab8dc96390641ced251dc71fcadf1f1993b3e578c398c1d1bfab07627518a62f38e8d9115d2b8cb6450aae58c778d254b1f91adecd830c768b708018f082c66cdc2a4ab3485fc45e9d0fc01d4e344512fdd26dc457eadbd8f7e1c2330d4fc92f0c81a50aedeb0c6b7adea2b7ad10ab189ec8df845b6dfb801f23d17cd6cfa007943ac08722c39a812854b2c5f997d42d558510d4a889eb70836faaea13f874dc8723e2d5122eb6d97c0757141fee876ad3e485ea22a0da26c4e4e295d7bf303a8d8ca5ab54643aa9bcd6cedaa0214aad916c0cd1f87ed2b73137b029717d09686aa113b896a372b25711514dd5e62c0c914a9f41b8abd4023c2c299794a3ac5b8afd3e3423913cdd779a8f8858f0001c61308345bfc7b98be37156b5b7b41a6ef4bbc11f3834d0d075d1c14afa05aa3467458c1bfdc8d9822e2d422f072aa0731e31fbed3781e14bf63991d7daeefba38fe479029ce5ac7005a4afb1a406835fd4ffb8c230388d347b40a7f7bafc482e2034ca50c16e2020f60433e25a2b260b71b97a67298185faa4081889372cd98cba0ea9cab6e399fa089de51168b0d6aafa9a00606473eca2431eab3e19a5eb004afeb81c34300a4c7ce5b06e37da919014da97772268eb14a25d61d4aac68944b75c7767dfb1c47e91c32c04ee5d7c271fa3f6da3afcc993649f5b5c77f6f1d775e95af23c144c266fa6e0a19961b359a80a206cfd16279335f2e863f547b785a34eaa929c31d99a66f27f15c9ebc1c093d708d9af1fff4af770d2da751b5dee9fc97038e7807d904959d2493a0f8f06f17ba0d7b77bb792076fc9901e7e881fac595807f4e8be584159137893d49eee9e4d4f04fa6b41a971255f564e29d255d3fb3c2f1a775202426394bc9fa063f811731ed1458489aa05bfdb406cd57cf18af992eb54aa63a2458b35ec610f4991ff0e14e55f00c80cced613dda01d571bf87e8d05645dacfad674b02c960463cee65825af89f306ecc2994d909c3008c434ce846605ac5635d74d898f88a3a6c03bba732ee52d53d9a0c7102bb94c61808c8acff3f2232e20550fb0a3cd8d00f71c6a1097af52aee2def4f3d122e67fa354b1d621eabd9f6309613721f60962625a980270f3fd597223941a0e8943d94f55ffe58118383bf4b64ee03fea8f939dcbc5c001b369b377407fdcf1a2a05325fc0cae89a3df618b27c7001d3ebdda06e6ad7e94d9548a7003654013d1bc679a3e4b68fb5245295f928359ddecfab18ee97c93c942dfa0e4d302040751bca7206336c8831df5954fa78e88a12a439348d94353451d23ebed8e8915e796e56a32a10bff8671ab63b8bf5c404de7d653ffaf9f376e85183b98584ace4ec4af607fdc50549035cecaaff9c6a000f7316e58cabfde77c9ec39c1bdfb3ebd4f57387938f96a7a889e25d42b1e49a90f6d476a5e5f7e8e8ebcc979c5cfe2895ef56d23822de6f387f0c94752b4a40494fa9410ad70d46aa6bde5e3bd7b55519fe9b7906a48854bbdb6746d9c9894aae17cba628aa1779ffc6510a1842425d38855647332f1b929af9657956f5d025b7ab8f0fa757270570ac906eda0abbf9cafba170205ac33cba324793f4f7766c1c7689b245921b656c2490df53a56f2c9a988218e968bef234439ac7a938f2cb824c7a74b3e2bfe99a9e10da7ee13237c1d11e1299a2ac",
  "shared_secrets": [
    "3f6e143374661ea8ff116378b4839ee9f7ea9cb103999c9a31ae9223589437f4",
    "9db9ab3fdded1db70653c216b50b10cf97a7775ed5c607bf4924822d55a17841",
    "05d91b08b4e3b8d8f105637a7743c0c9a986111e83cf7acd08b059b7c130950b"
  ]
}

Core Lightning is Blockstream's open-source implementation of the Lightning Network optimised for performance. It is highly customizable through modular expandability.

© 2026 Core Lightning, a Blockstream project.
All rights reserved.

X Twitter Logo Streamline Icon: https://streamlinehq.com

X

The official Core Lightning X(Twitter) handle to follow project updates and announcements.

Github Logo 2 Streamline Icon: https://streamlinehq.com

Github

Github repository for source code, issues, and contributions. Visit our project here to explore or contibute.

Telegram

Community-driven telegram group where most of the node operators hang out. Go to https://t.me/lightningd to join.

Discord

Community-driven discord server where the devs flock together. Go to https://discord.gg/V6ay9yNhBQ to join.