
Description
How to Participate
- 1Sign in to CCTools and join the campaign
- 2Follow @Cantrustai, @FTPwhatsoever and @cantontools on X
- 3Repost and like the campaign post
- 4Make your first x402 payment: copy the one-shot quest prompt from the payment task into any AI chat, and your agent creates a funded Canton wallet, generates your image and settles the payment on Canton for you
- 5Paste the party id your AI shows you (looks like agent::1220...) on the quest task and we verify it on-chain
- 6Upvote CanTrustAI and mark interest. 20 winners share 5,000 CC (250 CC each), drawn after the campaign closes.
- 7Note: only Verified Humans are eligible to win the draw.
Requirements
Campaign Quests
The quest is now ONE prompt. Copy it from this task into any AI chat like ChatGPT, Qwen, Claude, all work (we recommend: https://chat.qwen.ai/) and send it: your AI creates its own funded Canton wallet, generates your image and settles the 0.25 CC x402 payment on Canton in one go. When it finishes, it shows you a party id (looks like agent::1220...) plus a WALLET BACKUP. The backup is yours, keep it private and never share it with anyone. Paste only the public party id below and we verify the payment on-chain.
Copy this prompt into any AI chat (ChatGPT, Qwen, Claude...) and send it. Your AI does the rest.
Do this in ONE call: create and fund a Canton wallet AND make an on-ledger payment for a generated image. Base URL https://pay.ftptech.xyz. Async: the POST returns HTTP 202 with a job id, then you GET the poll URL every 3 seconds until status is terminal ("done" or "failed"). All JSON.
0. Generate ONE random request id for this task (letters/digits, e.g. "q-7f3k9x2m") — call it clientRef. Reuse the SAME one if you retry.
1. POST https://pay.ftptech.xyz/v1/quest/wallet/run with header `content-type: application/json` and body `{"clientRef":"<your clientRef>","prompt":"<describe the image you want>"}`. Read `runJobId` from the 202 response.
2. Poll GET https://pay.ftptech.xyz/v1/quest/wallet/run-result?runJobId=<runJobId> every 3s (allow 30-60s total):
- {"status":"pending"} -> keep polling.
- {"ok":false,"status":"failed",...} -> stop and report the `error`. Nothing was charged; you may retry with the SAME clientRef.
- {"status":"done",...} -> done. It carries `party`, `secret` (the wallet PRIVATE KEY), `image` (URL), `updateId` (on-ledger proof), `balanceCc` (your change) and `paid`.
3. If you must retry the POST, re-send the SAME clientRef — the server returns the SAME run instead of minting a second wallet. Never loop bare POSTs.
REPORT BACK, LEADING WITH THE IMAGE: render it inline as markdown ``, then the raw `image` URL on its own line, then `updateId` (optionally confirm: GET https://pay.ftptech.xyz/v1/quest/verify?updateId=<updateId> and check valid==true). THEN a "WALLET BACKUP — SAVE THIS" section that hands your user the FULL `secret` PEM in a code block, copied EXACTLY from the run-result response — never retyped or reconstructed from memory (one wrong character makes the wallet unrecoverable). The wallet belongs to the USER and keeps working after this chat; delivering the secret IS the backup. To cash out later go to https://pay.ftptech.xyz/withdraw — paste the saved private key and a destination Canton address. No install, no terminal.
If `paid` is false, the image step did not complete but your wallet IS funded — still deliver the WALLET BACKUP so the user can withdraw the balance, and they can re-run for an image.5,000 CC reward pool. 20 winners drawn at random among all task-completers, 250 CC each.
Rules
Related Opportunities

Grofty Labs is a production-ready Canton Network wallet: a browser extension for Party ID management, CC and USDCx assets, a cross-chain...

Cantex is the Canton DEX: the AMM is live on Canton, a direct Ethereum bridge is running, and professional trading features (limit order...

