Repository navigation
Conversation
…I identity Documents the `icp cycles buy` flow proposed in dfinity/icp-cli#812 and the equivalent `icp canister call` sequence against the CyclePay gateway (saz2a-riaaa-aaaay-aadha-cai) for CLIs that predate the subcommand. The CLI identity is the buyer, so the cycles land on the account that runs `icp deploy`; no Internet Identity sign-in or identity linking is involved. Pitfalls come from an end-to-end run on 2026-10-07 against a local gateway and a real Stripe sandbox: own-account destination, Candid underscore stripping corrupting the checkout URL, one open order per principal, quoteChanged as a refusal, paid/needsReview handling, same identity for buy and deploy, the 35-minute session, and the 100 M ledger deposit fee. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Twxau844tMTwyHpQJEbmBo
Skill Validation ReportValidating skill: /home/runner/work/icskills/icskills/skills/buy-cyclesStructure
Frontmatter
Markdown
Tokens
Content Analysis
Contamination Analysis
Result: passed Project Checks |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
A new
buy-cyclesskill: an agent drives a card purchase of cycles for the CLI's own identity through an on-chain cycles gateway, hands the Stripe Checkout URL to the human, waits for delivery, and continues the deploy as the same identity. No Internet Identity sign-in, noicp identity link web.It documents the
icp cycles buycommand proposed in dfinity/icp-cli#812 as the primary path, and the equivalenticp canister callsequence against the CyclePay gateway (saz2a-riaaa-aaaay-aadha-cai) for CLIs that predate it. That fallback was run end to end on 2026-10-07 against a local gateway with a real Stripe sandbox: PEM identity →create_order→ hosted Checkout → webhook →icrc1_transfer→ cycles on the PEM principal's cycles-ledger account.Why
Today a developer with a card and no ICP buys in a browser as an Internet Identity principal and then has to link the CLI to it (id.ai CLI access toggle,
icp identity link web --app, set default, verify). With the CLI identity as the buyer all of that disappears, and an agent can do the whole thing except the payment itself.Status
Draft. Open until:
icp cycles buylands (or the maintainers decide the fallback section alone is worth publishing; thecompatibilityfield is written for either outcome)npm run validatepasses for the new skill.Evaluation results
🤖 Generated with Claude Code
https://claude.ai/code/session_01Twxau844tMTwyHpQJEbmBo