[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-aptos-smoothsend-gasless":3,"mdc-i5l8an-key":36,"related-repo-aptos-smoothsend-gasless":2138,"related-org-aptos-smoothsend-gasless":2242},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":12,"stars":23,"repoUrl":24,"updatedAt":25,"license":26,"forks":27,"topics":28,"repo":31,"sourceUrl":34,"mdContent":35},"smoothsend-gasless","sponsor gas fees for Aptos dApps","How to sponsor gas fees for Aptos dApp users using SmoothSend. Paid commercial service: free on testnet, credit-based on mainnet. Covers 3-line wallet adapter integration (transactionSubmitter), Script Composer for fee-in-token stablecoin transfers. Triggers on: 'gasless', 'sponsor gas', 'users pay no APT', 'transactionSubmitter', 'SmoothSend', 'fee payer', 'pay gas for users', 'no gas required'.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},"aptos","Aptos Labs","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Faptos.png","aptos-labs",[13,17,20],{"name":14,"slug":15,"type":16},"Web3","web3","tag",{"name":18,"slug":19,"type":16},"Payments","payments",{"name":21,"slug":22,"type":16},"API Development","api-development",18,"https:\u002F\u002Fgithub.com\u002Faptos-labs\u002Faptos-agent-skills","2026-07-12T08:07:31.843242",null,8,[29,30],"agent-skills","blockchain",{"repoUrl":24,"stars":23,"forks":27,"topics":32,"description":33},[29,30],"AI skills for building secure, modern Aptos dApps — Move contracts, TypeScript SDK, and frontend integration for Claude Code, Cursor, and Copilot.","https:\u002F\u002Fgithub.com\u002Faptos-labs\u002Faptos-agent-skills\u002Ftree\u002FHEAD\u002Fcommunity-skills\u002Fsmoothsend-gasless","---\nname: smoothsend-gasless\ndescription:\n  \"How to sponsor gas fees for Aptos dApp users using SmoothSend. Paid commercial service: free on testnet, credit-based\n  on mainnet. Covers 3-line wallet adapter integration (transactionSubmitter), Script Composer for fee-in-token\n  stablecoin transfers. Triggers on: 'gasless', 'sponsor gas', 'users pay no APT', 'transactionSubmitter', 'SmoothSend',\n  'fee payer', 'pay gas for users', 'no gas required'.\"\nmetadata:\n  author: ivedmohan\n  version: \"1.0\"\n  category: sdk\n  tags: [\"typescript\", \"sdk\", \"wallet\", \"gasless\", \"sponsored\", \"smoothsend\", \"transactionSubmitter\"]\n---\n\n# TypeScript SDK: SmoothSend Gasless Transactions\n\n## Purpose\n\nGuide **gasless transaction sponsorship** on Aptos using [SmoothSend](https:\u002F\u002Fsmoothsend.xyz). Users sign transactions\nvia their wallet but never pay gas — you pay per transaction from pre-loaded credits. Works as a drop-in\n`transactionSubmitter` for `AptosWalletAdapterProvider`.\n\n**Paid commercial service:** Free on testnet; mainnet uses credit-based billing. See\n[Pricing](https:\u002F\u002Fdocs.smoothsend.xyz\u002Fpricing) for current rates.\n\n## ALWAYS\n\n1. **Use `@smoothsend\u002Fsdk`** — official npm package for SmoothSend integration.\n2. **Pass `SmoothSendTransactionSubmitter` as `transactionSubmitter`** in `AptosWalletAdapterProvider` — this enables\n   gasless for all `signAndSubmitTransaction` calls.\n3. **Store API key in env** — use `NEXT_PUBLIC_SMOOTHSEND_API_KEY` or `VITE_SMOOTHSEND_API_KEY` (never hardcode).\n4. **Use testnet for development** — testnet is always free; no credits required.\n5. **Handle 402 (Insufficient credits)** — API returns 402 when credits run out; show user-friendly message and link to\n   billing.\n\n## NEVER\n\n1. **Do not expose API key in server-side only apps to client** — for frontend, use `NEXT_PUBLIC_` or `VITE_` prefixed\n   env vars.\n2. **Do not skip `transactionSubmitter`** — without it, users pay gas themselves; the provider falls back to normal\n   submission.\n3. **Do not use Script Composer for arbitrary transactions** — Script Composer is for stablecoin transfers (USDC, USDT,\n   etc.) only; use Wallet Adapter for everything else.\n\n---\n\n## Method 1: Wallet Adapter (Recommended — Any Transaction)\n\nUse for swaps, NFT mints, contract calls — any transaction type.\n\n### Installation\n\n```bash\nnpm install @smoothsend\u002Fsdk @aptos-labs\u002Fwallet-adapter-react\n```\n\n### Provider Setup (3 lines)\n\n```tsx\nimport { SmoothSendTransactionSubmitter } from \"@smoothsend\u002Fsdk\";\nimport { AptosWalletAdapterProvider } from \"@aptos-labs\u002Fwallet-adapter-react\";\nimport { Network } from \"@aptos-labs\u002Fts-sdk\";\n\nconst smoothSend = new SmoothSendTransactionSubmitter({\n  apiKey: process.env.NEXT_PUBLIC_SMOOTHSEND_API_KEY!,\n  network: \"mainnet\" \u002F\u002F or 'testnet' (always free)\n});\n\nexport function Providers({ children }: { children: React.ReactNode }) {\n  return (\n    \u003CAptosWalletAdapterProvider\n      autoConnect={true}\n      dappConfig={{\n        network: Network.MAINNET,\n        transactionSubmitter: smoothSend\n      }}\n      onError={(error) => console.error(\"Wallet error:\", error)}\n    >\n      {children}\n    \u003C\u002FAptosWalletAdapterProvider>\n  );\n}\n```\n\nAfter this, every `signAndSubmitTransaction` call is gasless. No other code changes needed.\n\n---\n\n## Method 2: Script Composer (Fee-in-Token — Stablecoin Only)\n\nUse for USDC, USDT, WBTC, USDe, USD1 transfers. Fee (~$0.01) is deducted from the token being sent — no APT or\nSmoothSend credits required.\n\n```typescript\nimport { ScriptComposerClient } from \"@smoothsend\u002Fsdk\";\n\nconst client = new ScriptComposerClient({\n  apiKey: process.env.NEXT_PUBLIC_SMOOTHSEND_API_KEY!,\n  network: \"mainnet\"\n});\n\n\u002F\u002F USDC Mainnet asset address\nconst USDC_ASSET = \"0xbae207659db88bea0cbead6da0ed00aac12edcdda169e591cd41c94180b46f3b\";\n\nconst build = await client.buildTransfer({\n  sender: walletAddress,\n  recipient: \"0xRecipient...\",\n  amount: \"1000000\", \u002F\u002F 1 USDC (6 decimals)\n  assetType: USDC_ASSET,\n  decimals: 6,\n  symbol: \"USDC\"\n});\n\n\u002F\u002F Sign with wallet, then submit build.signedTransaction\n```\n\n---\n\n## Error Handling\n\n```tsx\ntry {\n  const response = await signAndSubmitTransaction(payload);\n  await aptos.waitForTransaction({ transactionHash: response.hash });\n} catch (error: any) {\n  if (error?.status === 402 || error?.message?.includes(\"Insufficient credits\")) {\n    \u002F\u002F Credits exhausted — show upgrade CTA\n    toast.error(\"Service temporarily unavailable. Please try again later.\");\n    window.open(\"https:\u002F\u002Fdashboard.smoothsend.xyz\u002Fbilling\", \"_blank\");\n  } else {\n    throw error;\n  }\n}\n```\n\n---\n\n## Pricing\n\nSee [SmoothSend Pricing](https:\u002F\u002Fdocs.smoothsend.xyz\u002Fpricing) for current rates. Testnet is free; mainnet uses credit\npacks.\n\n---\n\n## Common Mistakes\n\n| Mistake                                   | Correct approach                                             |\n| ----------------------------------------- | ------------------------------------------------------------ |\n| Forgetting `transactionSubmitter`         | Pass `smoothSend` in `dappConfig`                            |\n| Hardcoding API key                        | Use env var with `NEXT_PUBLIC_` or `VITE_` prefix            |\n| Using Script Composer for non-transfer tx | Use Wallet Adapter for swaps, mints, contract calls          |\n| Not handling 402                          | Catch and show user-friendly message + billing link          |\n| Wrong network                             | Match `network` in SmoothSend config to `dappConfig.network` |\n\n---\n\n## References\n\n- SmoothSend Docs: https:\u002F\u002Fdocs.smoothsend.xyz\n- Pricing: https:\u002F\u002Fdocs.smoothsend.xyz\u002Fpricing\n- Dashboard: https:\u002F\u002Fdashboard.smoothsend.xyz\n- npm: https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@smoothsend\u002Fsdk\n- MCP (AI context): `npx @smoothsend\u002Fmcp` — tools for get_docs, estimate_credits, get_code_snippet\n- Related: [ts-sdk-wallet-adapter](..\u002F..\u002Fskills\u002Fsdk\u002Ftypescript\u002Fts-sdk-wallet-adapter\u002FSKILL.md),\n  [ts-sdk-transactions](..\u002F..\u002Fskills\u002Fsdk\u002Ftypescript\u002Fts-sdk-transactions\u002FSKILL.md)\n",{"data":37,"body":49},{"name":4,"description":6,"metadata":38},{"author":39,"version":40,"category":41,"tags":42},"ivedmohan","1.0","sdk",[43,41,44,45,46,47,48],"typescript","wallet","gasless","sponsored","smoothsend","transactionSubmitter",{"type":50,"children":51},"root",[52,61,68,109,128,134,239,245,298,302,308,313,320,359,365,990,1002,1005,1011,1016,1457,1460,1466,1878,1881,1886,1899,1902,1908,2045,2048,2054,2132],{"type":53,"tag":54,"props":55,"children":57},"element","h1",{"id":56},"typescript-sdk-smoothsend-gasless-transactions",[58],{"type":59,"value":60},"text","TypeScript SDK: SmoothSend Gasless Transactions",{"type":53,"tag":62,"props":63,"children":65},"h2",{"id":64},"purpose",[66],{"type":59,"value":67},"Purpose",{"type":53,"tag":69,"props":70,"children":71},"p",{},[72,74,80,82,91,93,99,101,107],{"type":59,"value":73},"Guide ",{"type":53,"tag":75,"props":76,"children":77},"strong",{},[78],{"type":59,"value":79},"gasless transaction sponsorship",{"type":59,"value":81}," on Aptos using ",{"type":53,"tag":83,"props":84,"children":88},"a",{"href":85,"rel":86},"https:\u002F\u002Fsmoothsend.xyz",[87],"nofollow",[89],{"type":59,"value":90},"SmoothSend",{"type":59,"value":92},". Users sign transactions\nvia their wallet but never pay gas — you pay per transaction from pre-loaded credits. Works as a drop-in\n",{"type":53,"tag":94,"props":95,"children":97},"code",{"className":96},[],[98],{"type":59,"value":48},{"type":59,"value":100}," for ",{"type":53,"tag":94,"props":102,"children":104},{"className":103},[],[105],{"type":59,"value":106},"AptosWalletAdapterProvider",{"type":59,"value":108},".",{"type":53,"tag":69,"props":110,"children":111},{},[112,117,119,126],{"type":53,"tag":75,"props":113,"children":114},{},[115],{"type":59,"value":116},"Paid commercial service:",{"type":59,"value":118}," Free on testnet; mainnet uses credit-based billing. See\n",{"type":53,"tag":83,"props":120,"children":123},{"href":121,"rel":122},"https:\u002F\u002Fdocs.smoothsend.xyz\u002Fpricing",[87],[124],{"type":59,"value":125},"Pricing",{"type":59,"value":127}," for current rates.",{"type":53,"tag":62,"props":129,"children":131},{"id":130},"always",[132],{"type":59,"value":133},"ALWAYS",{"type":53,"tag":135,"props":136,"children":137},"ol",{},[138,155,193,219,229],{"type":53,"tag":139,"props":140,"children":141},"li",{},[142,153],{"type":53,"tag":75,"props":143,"children":144},{},[145,147],{"type":59,"value":146},"Use ",{"type":53,"tag":94,"props":148,"children":150},{"className":149},[],[151],{"type":59,"value":152},"@smoothsend\u002Fsdk",{"type":59,"value":154}," — official npm package for SmoothSend integration.",{"type":53,"tag":139,"props":156,"children":157},{},[158,176,178,183,185,191],{"type":53,"tag":75,"props":159,"children":160},{},[161,163,169,171],{"type":59,"value":162},"Pass ",{"type":53,"tag":94,"props":164,"children":166},{"className":165},[],[167],{"type":59,"value":168},"SmoothSendTransactionSubmitter",{"type":59,"value":170}," as ",{"type":53,"tag":94,"props":172,"children":174},{"className":173},[],[175],{"type":59,"value":48},{"type":59,"value":177}," in ",{"type":53,"tag":94,"props":179,"children":181},{"className":180},[],[182],{"type":59,"value":106},{"type":59,"value":184}," — this enables\ngasless for all ",{"type":53,"tag":94,"props":186,"children":188},{"className":187},[],[189],{"type":59,"value":190},"signAndSubmitTransaction",{"type":59,"value":192}," calls.",{"type":53,"tag":139,"props":194,"children":195},{},[196,201,203,209,211,217],{"type":53,"tag":75,"props":197,"children":198},{},[199],{"type":59,"value":200},"Store API key in env",{"type":59,"value":202}," — use ",{"type":53,"tag":94,"props":204,"children":206},{"className":205},[],[207],{"type":59,"value":208},"NEXT_PUBLIC_SMOOTHSEND_API_KEY",{"type":59,"value":210}," or ",{"type":53,"tag":94,"props":212,"children":214},{"className":213},[],[215],{"type":59,"value":216},"VITE_SMOOTHSEND_API_KEY",{"type":59,"value":218}," (never hardcode).",{"type":53,"tag":139,"props":220,"children":221},{},[222,227],{"type":53,"tag":75,"props":223,"children":224},{},[225],{"type":59,"value":226},"Use testnet for development",{"type":59,"value":228}," — testnet is always free; no credits required.",{"type":53,"tag":139,"props":230,"children":231},{},[232,237],{"type":53,"tag":75,"props":233,"children":234},{},[235],{"type":59,"value":236},"Handle 402 (Insufficient credits)",{"type":59,"value":238}," — API returns 402 when credits run out; show user-friendly message and link to\nbilling.",{"type":53,"tag":62,"props":240,"children":242},{"id":241},"never",[243],{"type":59,"value":244},"NEVER",{"type":53,"tag":135,"props":246,"children":247},{},[248,273,288],{"type":53,"tag":139,"props":249,"children":250},{},[251,256,258,264,265,271],{"type":53,"tag":75,"props":252,"children":253},{},[254],{"type":59,"value":255},"Do not expose API key in server-side only apps to client",{"type":59,"value":257}," — for frontend, use ",{"type":53,"tag":94,"props":259,"children":261},{"className":260},[],[262],{"type":59,"value":263},"NEXT_PUBLIC_",{"type":59,"value":210},{"type":53,"tag":94,"props":266,"children":268},{"className":267},[],[269],{"type":59,"value":270},"VITE_",{"type":59,"value":272}," prefixed\nenv vars.",{"type":53,"tag":139,"props":274,"children":275},{},[276,286],{"type":53,"tag":75,"props":277,"children":278},{},[279,281],{"type":59,"value":280},"Do not skip ",{"type":53,"tag":94,"props":282,"children":284},{"className":283},[],[285],{"type":59,"value":48},{"type":59,"value":287}," — without it, users pay gas themselves; the provider falls back to normal\nsubmission.",{"type":53,"tag":139,"props":289,"children":290},{},[291,296],{"type":53,"tag":75,"props":292,"children":293},{},[294],{"type":59,"value":295},"Do not use Script Composer for arbitrary transactions",{"type":59,"value":297}," — Script Composer is for stablecoin transfers (USDC, USDT,\netc.) only; use Wallet Adapter for everything else.",{"type":53,"tag":299,"props":300,"children":301},"hr",{},[],{"type":53,"tag":62,"props":303,"children":305},{"id":304},"method-1-wallet-adapter-recommended-any-transaction",[306],{"type":59,"value":307},"Method 1: Wallet Adapter (Recommended — Any Transaction)",{"type":53,"tag":69,"props":309,"children":310},{},[311],{"type":59,"value":312},"Use for swaps, NFT mints, contract calls — any transaction type.",{"type":53,"tag":314,"props":315,"children":317},"h3",{"id":316},"installation",[318],{"type":59,"value":319},"Installation",{"type":53,"tag":321,"props":322,"children":327},"pre",{"className":323,"code":324,"language":325,"meta":326,"style":326},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","npm install @smoothsend\u002Fsdk @aptos-labs\u002Fwallet-adapter-react\n","bash","",[328],{"type":53,"tag":94,"props":329,"children":330},{"__ignoreMap":326},[331],{"type":53,"tag":332,"props":333,"children":336},"span",{"class":334,"line":335},"line",1,[337,343,349,354],{"type":53,"tag":332,"props":338,"children":340},{"style":339},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[341],{"type":59,"value":342},"npm",{"type":53,"tag":332,"props":344,"children":346},{"style":345},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[347],{"type":59,"value":348}," install",{"type":53,"tag":332,"props":350,"children":351},{"style":345},[352],{"type":59,"value":353}," @smoothsend\u002Fsdk",{"type":53,"tag":332,"props":355,"children":356},{"style":345},[357],{"type":59,"value":358}," @aptos-labs\u002Fwallet-adapter-react\n",{"type":53,"tag":314,"props":360,"children":362},{"id":361},"provider-setup-3-lines",[363],{"type":59,"value":364},"Provider Setup (3 lines)",{"type":53,"tag":321,"props":366,"children":370},{"className":367,"code":368,"language":369,"meta":326,"style":326},"language-tsx shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { SmoothSendTransactionSubmitter } from \"@smoothsend\u002Fsdk\";\nimport { AptosWalletAdapterProvider } from \"@aptos-labs\u002Fwallet-adapter-react\";\nimport { Network } from \"@aptos-labs\u002Fts-sdk\";\n\nconst smoothSend = new SmoothSendTransactionSubmitter({\n  apiKey: process.env.NEXT_PUBLIC_SMOOTHSEND_API_KEY!,\n  network: \"mainnet\" \u002F\u002F or 'testnet' (always free)\n});\n\nexport function Providers({ children }: { children: React.ReactNode }) {\n  return (\n    \u003CAptosWalletAdapterProvider\n      autoConnect={true}\n      dappConfig={{\n        network: Network.MAINNET,\n        transactionSubmitter: smoothSend\n      }}\n      onError={(error) => console.error(\"Wallet error:\", error)}\n    >\n      {children}\n    \u003C\u002FAptosWalletAdapterProvider>\n  );\n}\n","tsx",[371],{"type":53,"tag":94,"props":372,"children":373},{"__ignoreMap":326},[374,424,466,508,518,558,600,632,649,657,728,742,756,781,795,826,844,853,924,933,951,969,982],{"type":53,"tag":332,"props":375,"children":376},{"class":334,"line":335},[377,383,389,395,400,405,410,414,419],{"type":53,"tag":332,"props":378,"children":380},{"style":379},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[381],{"type":59,"value":382},"import",{"type":53,"tag":332,"props":384,"children":386},{"style":385},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[387],{"type":59,"value":388}," {",{"type":53,"tag":332,"props":390,"children":392},{"style":391},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[393],{"type":59,"value":394}," SmoothSendTransactionSubmitter",{"type":53,"tag":332,"props":396,"children":397},{"style":385},[398],{"type":59,"value":399}," }",{"type":53,"tag":332,"props":401,"children":402},{"style":379},[403],{"type":59,"value":404}," from",{"type":53,"tag":332,"props":406,"children":407},{"style":385},[408],{"type":59,"value":409}," \"",{"type":53,"tag":332,"props":411,"children":412},{"style":345},[413],{"type":59,"value":152},{"type":53,"tag":332,"props":415,"children":416},{"style":385},[417],{"type":59,"value":418},"\"",{"type":53,"tag":332,"props":420,"children":421},{"style":385},[422],{"type":59,"value":423},";\n",{"type":53,"tag":332,"props":425,"children":427},{"class":334,"line":426},2,[428,432,436,441,445,449,453,458,462],{"type":53,"tag":332,"props":429,"children":430},{"style":379},[431],{"type":59,"value":382},{"type":53,"tag":332,"props":433,"children":434},{"style":385},[435],{"type":59,"value":388},{"type":53,"tag":332,"props":437,"children":438},{"style":391},[439],{"type":59,"value":440}," AptosWalletAdapterProvider",{"type":53,"tag":332,"props":442,"children":443},{"style":385},[444],{"type":59,"value":399},{"type":53,"tag":332,"props":446,"children":447},{"style":379},[448],{"type":59,"value":404},{"type":53,"tag":332,"props":450,"children":451},{"style":385},[452],{"type":59,"value":409},{"type":53,"tag":332,"props":454,"children":455},{"style":345},[456],{"type":59,"value":457},"@aptos-labs\u002Fwallet-adapter-react",{"type":53,"tag":332,"props":459,"children":460},{"style":385},[461],{"type":59,"value":418},{"type":53,"tag":332,"props":463,"children":464},{"style":385},[465],{"type":59,"value":423},{"type":53,"tag":332,"props":467,"children":469},{"class":334,"line":468},3,[470,474,478,483,487,491,495,500,504],{"type":53,"tag":332,"props":471,"children":472},{"style":379},[473],{"type":59,"value":382},{"type":53,"tag":332,"props":475,"children":476},{"style":385},[477],{"type":59,"value":388},{"type":53,"tag":332,"props":479,"children":480},{"style":391},[481],{"type":59,"value":482}," Network",{"type":53,"tag":332,"props":484,"children":485},{"style":385},[486],{"type":59,"value":399},{"type":53,"tag":332,"props":488,"children":489},{"style":379},[490],{"type":59,"value":404},{"type":53,"tag":332,"props":492,"children":493},{"style":385},[494],{"type":59,"value":409},{"type":53,"tag":332,"props":496,"children":497},{"style":345},[498],{"type":59,"value":499},"@aptos-labs\u002Fts-sdk",{"type":53,"tag":332,"props":501,"children":502},{"style":385},[503],{"type":59,"value":418},{"type":53,"tag":332,"props":505,"children":506},{"style":385},[507],{"type":59,"value":423},{"type":53,"tag":332,"props":509,"children":511},{"class":334,"line":510},4,[512],{"type":53,"tag":332,"props":513,"children":515},{"emptyLinePlaceholder":514},true,[516],{"type":59,"value":517},"\n",{"type":53,"tag":332,"props":519,"children":521},{"class":334,"line":520},5,[522,528,533,538,543,548,553],{"type":53,"tag":332,"props":523,"children":525},{"style":524},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[526],{"type":59,"value":527},"const",{"type":53,"tag":332,"props":529,"children":530},{"style":391},[531],{"type":59,"value":532}," smoothSend ",{"type":53,"tag":332,"props":534,"children":535},{"style":385},[536],{"type":59,"value":537},"=",{"type":53,"tag":332,"props":539,"children":540},{"style":385},[541],{"type":59,"value":542}," new",{"type":53,"tag":332,"props":544,"children":546},{"style":545},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[547],{"type":59,"value":394},{"type":53,"tag":332,"props":549,"children":550},{"style":391},[551],{"type":59,"value":552},"(",{"type":53,"tag":332,"props":554,"children":555},{"style":385},[556],{"type":59,"value":557},"{\n",{"type":53,"tag":332,"props":559,"children":561},{"class":334,"line":560},6,[562,568,573,578,582,587,591,595],{"type":53,"tag":332,"props":563,"children":565},{"style":564},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[566],{"type":59,"value":567},"  apiKey",{"type":53,"tag":332,"props":569,"children":570},{"style":385},[571],{"type":59,"value":572},":",{"type":53,"tag":332,"props":574,"children":575},{"style":391},[576],{"type":59,"value":577}," process",{"type":53,"tag":332,"props":579,"children":580},{"style":385},[581],{"type":59,"value":108},{"type":53,"tag":332,"props":583,"children":584},{"style":391},[585],{"type":59,"value":586},"env",{"type":53,"tag":332,"props":588,"children":589},{"style":385},[590],{"type":59,"value":108},{"type":53,"tag":332,"props":592,"children":593},{"style":391},[594],{"type":59,"value":208},{"type":53,"tag":332,"props":596,"children":597},{"style":385},[598],{"type":59,"value":599},"!,\n",{"type":53,"tag":332,"props":601,"children":603},{"class":334,"line":602},7,[604,609,613,617,622,626],{"type":53,"tag":332,"props":605,"children":606},{"style":564},[607],{"type":59,"value":608},"  network",{"type":53,"tag":332,"props":610,"children":611},{"style":385},[612],{"type":59,"value":572},{"type":53,"tag":332,"props":614,"children":615},{"style":385},[616],{"type":59,"value":409},{"type":53,"tag":332,"props":618,"children":619},{"style":345},[620],{"type":59,"value":621},"mainnet",{"type":53,"tag":332,"props":623,"children":624},{"style":385},[625],{"type":59,"value":418},{"type":53,"tag":332,"props":627,"children":629},{"style":628},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[630],{"type":59,"value":631}," \u002F\u002F or 'testnet' (always free)\n",{"type":53,"tag":332,"props":633,"children":634},{"class":334,"line":27},[635,640,645],{"type":53,"tag":332,"props":636,"children":637},{"style":385},[638],{"type":59,"value":639},"}",{"type":53,"tag":332,"props":641,"children":642},{"style":391},[643],{"type":59,"value":644},")",{"type":53,"tag":332,"props":646,"children":647},{"style":385},[648],{"type":59,"value":423},{"type":53,"tag":332,"props":650,"children":652},{"class":334,"line":651},9,[653],{"type":53,"tag":332,"props":654,"children":655},{"emptyLinePlaceholder":514},[656],{"type":59,"value":517},{"type":53,"tag":332,"props":658,"children":660},{"class":334,"line":659},10,[661,666,671,676,681,687,692,696,700,704,709,713,718,723],{"type":53,"tag":332,"props":662,"children":663},{"style":379},[664],{"type":59,"value":665},"export",{"type":53,"tag":332,"props":667,"children":668},{"style":524},[669],{"type":59,"value":670}," function",{"type":53,"tag":332,"props":672,"children":673},{"style":545},[674],{"type":59,"value":675}," Providers",{"type":53,"tag":332,"props":677,"children":678},{"style":385},[679],{"type":59,"value":680},"({",{"type":53,"tag":332,"props":682,"children":684},{"style":683},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic",[685],{"type":59,"value":686}," children",{"type":53,"tag":332,"props":688,"children":689},{"style":385},[690],{"type":59,"value":691}," }:",{"type":53,"tag":332,"props":693,"children":694},{"style":385},[695],{"type":59,"value":388},{"type":53,"tag":332,"props":697,"children":698},{"style":564},[699],{"type":59,"value":686},{"type":53,"tag":332,"props":701,"children":702},{"style":385},[703],{"type":59,"value":572},{"type":53,"tag":332,"props":705,"children":706},{"style":339},[707],{"type":59,"value":708}," React",{"type":53,"tag":332,"props":710,"children":711},{"style":385},[712],{"type":59,"value":108},{"type":53,"tag":332,"props":714,"children":715},{"style":339},[716],{"type":59,"value":717},"ReactNode",{"type":53,"tag":332,"props":719,"children":720},{"style":385},[721],{"type":59,"value":722}," })",{"type":53,"tag":332,"props":724,"children":725},{"style":385},[726],{"type":59,"value":727}," {\n",{"type":53,"tag":332,"props":729,"children":731},{"class":334,"line":730},11,[732,737],{"type":53,"tag":332,"props":733,"children":734},{"style":379},[735],{"type":59,"value":736},"  return",{"type":53,"tag":332,"props":738,"children":739},{"style":564},[740],{"type":59,"value":741}," (\n",{"type":53,"tag":332,"props":743,"children":745},{"class":334,"line":744},12,[746,751],{"type":53,"tag":332,"props":747,"children":748},{"style":385},[749],{"type":59,"value":750},"    \u003C",{"type":53,"tag":332,"props":752,"children":753},{"style":339},[754],{"type":59,"value":755},"AptosWalletAdapterProvider\n",{"type":53,"tag":332,"props":757,"children":759},{"class":334,"line":758},13,[760,765,770,776],{"type":53,"tag":332,"props":761,"children":762},{"style":524},[763],{"type":59,"value":764},"      autoConnect",{"type":53,"tag":332,"props":766,"children":767},{"style":385},[768],{"type":59,"value":769},"={",{"type":53,"tag":332,"props":771,"children":773},{"style":772},"--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC",[774],{"type":59,"value":775},"true",{"type":53,"tag":332,"props":777,"children":778},{"style":385},[779],{"type":59,"value":780},"}\n",{"type":53,"tag":332,"props":782,"children":784},{"class":334,"line":783},14,[785,790],{"type":53,"tag":332,"props":786,"children":787},{"style":524},[788],{"type":59,"value":789},"      dappConfig",{"type":53,"tag":332,"props":791,"children":792},{"style":385},[793],{"type":59,"value":794},"={{\n",{"type":53,"tag":332,"props":796,"children":798},{"class":334,"line":797},15,[799,804,808,812,816,821],{"type":53,"tag":332,"props":800,"children":801},{"style":564},[802],{"type":59,"value":803},"        network",{"type":53,"tag":332,"props":805,"children":806},{"style":385},[807],{"type":59,"value":572},{"type":53,"tag":332,"props":809,"children":810},{"style":391},[811],{"type":59,"value":482},{"type":53,"tag":332,"props":813,"children":814},{"style":385},[815],{"type":59,"value":108},{"type":53,"tag":332,"props":817,"children":818},{"style":391},[819],{"type":59,"value":820},"MAINNET",{"type":53,"tag":332,"props":822,"children":823},{"style":385},[824],{"type":59,"value":825},",\n",{"type":53,"tag":332,"props":827,"children":829},{"class":334,"line":828},16,[830,835,839],{"type":53,"tag":332,"props":831,"children":832},{"style":564},[833],{"type":59,"value":834},"        transactionSubmitter",{"type":53,"tag":332,"props":836,"children":837},{"style":385},[838],{"type":59,"value":572},{"type":53,"tag":332,"props":840,"children":841},{"style":391},[842],{"type":59,"value":843}," smoothSend\n",{"type":53,"tag":332,"props":845,"children":847},{"class":334,"line":846},17,[848],{"type":53,"tag":332,"props":849,"children":850},{"style":385},[851],{"type":59,"value":852},"      }}\n",{"type":53,"tag":332,"props":854,"children":855},{"class":334,"line":23},[856,861,866,871,875,880,885,889,893,897,901,906,910,915,920],{"type":53,"tag":332,"props":857,"children":858},{"style":524},[859],{"type":59,"value":860},"      onError",{"type":53,"tag":332,"props":862,"children":863},{"style":385},[864],{"type":59,"value":865},"={(",{"type":53,"tag":332,"props":867,"children":868},{"style":683},[869],{"type":59,"value":870},"error",{"type":53,"tag":332,"props":872,"children":873},{"style":385},[874],{"type":59,"value":644},{"type":53,"tag":332,"props":876,"children":877},{"style":524},[878],{"type":59,"value":879}," =>",{"type":53,"tag":332,"props":881,"children":882},{"style":391},[883],{"type":59,"value":884}," console",{"type":53,"tag":332,"props":886,"children":887},{"style":385},[888],{"type":59,"value":108},{"type":53,"tag":332,"props":890,"children":891},{"style":545},[892],{"type":59,"value":870},{"type":53,"tag":332,"props":894,"children":895},{"style":391},[896],{"type":59,"value":552},{"type":53,"tag":332,"props":898,"children":899},{"style":385},[900],{"type":59,"value":418},{"type":53,"tag":332,"props":902,"children":903},{"style":345},[904],{"type":59,"value":905},"Wallet error:",{"type":53,"tag":332,"props":907,"children":908},{"style":385},[909],{"type":59,"value":418},{"type":53,"tag":332,"props":911,"children":912},{"style":385},[913],{"type":59,"value":914},",",{"type":53,"tag":332,"props":916,"children":917},{"style":391},[918],{"type":59,"value":919}," error)",{"type":53,"tag":332,"props":921,"children":922},{"style":385},[923],{"type":59,"value":780},{"type":53,"tag":332,"props":925,"children":927},{"class":334,"line":926},19,[928],{"type":53,"tag":332,"props":929,"children":930},{"style":385},[931],{"type":59,"value":932},"    >\n",{"type":53,"tag":332,"props":934,"children":936},{"class":334,"line":935},20,[937,942,947],{"type":53,"tag":332,"props":938,"children":939},{"style":385},[940],{"type":59,"value":941},"      {",{"type":53,"tag":332,"props":943,"children":944},{"style":391},[945],{"type":59,"value":946},"children",{"type":53,"tag":332,"props":948,"children":949},{"style":385},[950],{"type":59,"value":780},{"type":53,"tag":332,"props":952,"children":954},{"class":334,"line":953},21,[955,960,964],{"type":53,"tag":332,"props":956,"children":957},{"style":385},[958],{"type":59,"value":959},"    \u003C\u002F",{"type":53,"tag":332,"props":961,"children":962},{"style":339},[963],{"type":59,"value":106},{"type":53,"tag":332,"props":965,"children":966},{"style":385},[967],{"type":59,"value":968},">\n",{"type":53,"tag":332,"props":970,"children":972},{"class":334,"line":971},22,[973,978],{"type":53,"tag":332,"props":974,"children":975},{"style":564},[976],{"type":59,"value":977},"  )",{"type":53,"tag":332,"props":979,"children":980},{"style":385},[981],{"type":59,"value":423},{"type":53,"tag":332,"props":983,"children":985},{"class":334,"line":984},23,[986],{"type":53,"tag":332,"props":987,"children":988},{"style":385},[989],{"type":59,"value":780},{"type":53,"tag":69,"props":991,"children":992},{},[993,995,1000],{"type":59,"value":994},"After this, every ",{"type":53,"tag":94,"props":996,"children":998},{"className":997},[],[999],{"type":59,"value":190},{"type":59,"value":1001}," call is gasless. No other code changes needed.",{"type":53,"tag":299,"props":1003,"children":1004},{},[],{"type":53,"tag":62,"props":1006,"children":1008},{"id":1007},"method-2-script-composer-fee-in-token-stablecoin-only",[1009],{"type":59,"value":1010},"Method 2: Script Composer (Fee-in-Token — Stablecoin Only)",{"type":53,"tag":69,"props":1012,"children":1013},{},[1014],{"type":59,"value":1015},"Use for USDC, USDT, WBTC, USDe, USD1 transfers. Fee (~$0.01) is deducted from the token being sent — no APT or\nSmoothSend credits required.",{"type":53,"tag":321,"props":1017,"children":1020},{"className":1018,"code":1019,"language":43,"meta":326,"style":326},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { ScriptComposerClient } from \"@smoothsend\u002Fsdk\";\n\nconst client = new ScriptComposerClient({\n  apiKey: process.env.NEXT_PUBLIC_SMOOTHSEND_API_KEY!,\n  network: \"mainnet\"\n});\n\n\u002F\u002F USDC Mainnet asset address\nconst USDC_ASSET = \"0xbae207659db88bea0cbead6da0ed00aac12edcdda169e591cd41c94180b46f3b\";\n\nconst build = await client.buildTransfer({\n  sender: walletAddress,\n  recipient: \"0xRecipient...\",\n  amount: \"1000000\", \u002F\u002F 1 USDC (6 decimals)\n  assetType: USDC_ASSET,\n  decimals: 6,\n  symbol: \"USDC\"\n});\n\n\u002F\u002F Sign with wallet, then submit build.signedTransaction\n",[1021],{"type":53,"tag":94,"props":1022,"children":1023},{"__ignoreMap":326},[1024,1064,1071,1103,1138,1162,1177,1184,1192,1225,1232,1275,1296,1325,1359,1380,1402,1427,1442,1449],{"type":53,"tag":332,"props":1025,"children":1026},{"class":334,"line":335},[1027,1031,1035,1040,1044,1048,1052,1056,1060],{"type":53,"tag":332,"props":1028,"children":1029},{"style":379},[1030],{"type":59,"value":382},{"type":53,"tag":332,"props":1032,"children":1033},{"style":385},[1034],{"type":59,"value":388},{"type":53,"tag":332,"props":1036,"children":1037},{"style":391},[1038],{"type":59,"value":1039}," ScriptComposerClient",{"type":53,"tag":332,"props":1041,"children":1042},{"style":385},[1043],{"type":59,"value":399},{"type":53,"tag":332,"props":1045,"children":1046},{"style":379},[1047],{"type":59,"value":404},{"type":53,"tag":332,"props":1049,"children":1050},{"style":385},[1051],{"type":59,"value":409},{"type":53,"tag":332,"props":1053,"children":1054},{"style":345},[1055],{"type":59,"value":152},{"type":53,"tag":332,"props":1057,"children":1058},{"style":385},[1059],{"type":59,"value":418},{"type":53,"tag":332,"props":1061,"children":1062},{"style":385},[1063],{"type":59,"value":423},{"type":53,"tag":332,"props":1065,"children":1066},{"class":334,"line":426},[1067],{"type":53,"tag":332,"props":1068,"children":1069},{"emptyLinePlaceholder":514},[1070],{"type":59,"value":517},{"type":53,"tag":332,"props":1072,"children":1073},{"class":334,"line":468},[1074,1078,1083,1087,1091,1095,1099],{"type":53,"tag":332,"props":1075,"children":1076},{"style":524},[1077],{"type":59,"value":527},{"type":53,"tag":332,"props":1079,"children":1080},{"style":391},[1081],{"type":59,"value":1082}," client ",{"type":53,"tag":332,"props":1084,"children":1085},{"style":385},[1086],{"type":59,"value":537},{"type":53,"tag":332,"props":1088,"children":1089},{"style":385},[1090],{"type":59,"value":542},{"type":53,"tag":332,"props":1092,"children":1093},{"style":545},[1094],{"type":59,"value":1039},{"type":53,"tag":332,"props":1096,"children":1097},{"style":391},[1098],{"type":59,"value":552},{"type":53,"tag":332,"props":1100,"children":1101},{"style":385},[1102],{"type":59,"value":557},{"type":53,"tag":332,"props":1104,"children":1105},{"class":334,"line":510},[1106,1110,1114,1118,1122,1126,1130,1134],{"type":53,"tag":332,"props":1107,"children":1108},{"style":564},[1109],{"type":59,"value":567},{"type":53,"tag":332,"props":1111,"children":1112},{"style":385},[1113],{"type":59,"value":572},{"type":53,"tag":332,"props":1115,"children":1116},{"style":391},[1117],{"type":59,"value":577},{"type":53,"tag":332,"props":1119,"children":1120},{"style":385},[1121],{"type":59,"value":108},{"type":53,"tag":332,"props":1123,"children":1124},{"style":391},[1125],{"type":59,"value":586},{"type":53,"tag":332,"props":1127,"children":1128},{"style":385},[1129],{"type":59,"value":108},{"type":53,"tag":332,"props":1131,"children":1132},{"style":391},[1133],{"type":59,"value":208},{"type":53,"tag":332,"props":1135,"children":1136},{"style":385},[1137],{"type":59,"value":599},{"type":53,"tag":332,"props":1139,"children":1140},{"class":334,"line":520},[1141,1145,1149,1153,1157],{"type":53,"tag":332,"props":1142,"children":1143},{"style":564},[1144],{"type":59,"value":608},{"type":53,"tag":332,"props":1146,"children":1147},{"style":385},[1148],{"type":59,"value":572},{"type":53,"tag":332,"props":1150,"children":1151},{"style":385},[1152],{"type":59,"value":409},{"type":53,"tag":332,"props":1154,"children":1155},{"style":345},[1156],{"type":59,"value":621},{"type":53,"tag":332,"props":1158,"children":1159},{"style":385},[1160],{"type":59,"value":1161},"\"\n",{"type":53,"tag":332,"props":1163,"children":1164},{"class":334,"line":560},[1165,1169,1173],{"type":53,"tag":332,"props":1166,"children":1167},{"style":385},[1168],{"type":59,"value":639},{"type":53,"tag":332,"props":1170,"children":1171},{"style":391},[1172],{"type":59,"value":644},{"type":53,"tag":332,"props":1174,"children":1175},{"style":385},[1176],{"type":59,"value":423},{"type":53,"tag":332,"props":1178,"children":1179},{"class":334,"line":602},[1180],{"type":53,"tag":332,"props":1181,"children":1182},{"emptyLinePlaceholder":514},[1183],{"type":59,"value":517},{"type":53,"tag":332,"props":1185,"children":1186},{"class":334,"line":27},[1187],{"type":53,"tag":332,"props":1188,"children":1189},{"style":628},[1190],{"type":59,"value":1191},"\u002F\u002F USDC Mainnet asset address\n",{"type":53,"tag":332,"props":1193,"children":1194},{"class":334,"line":651},[1195,1199,1204,1208,1212,1217,1221],{"type":53,"tag":332,"props":1196,"children":1197},{"style":524},[1198],{"type":59,"value":527},{"type":53,"tag":332,"props":1200,"children":1201},{"style":391},[1202],{"type":59,"value":1203}," USDC_ASSET ",{"type":53,"tag":332,"props":1205,"children":1206},{"style":385},[1207],{"type":59,"value":537},{"type":53,"tag":332,"props":1209,"children":1210},{"style":385},[1211],{"type":59,"value":409},{"type":53,"tag":332,"props":1213,"children":1214},{"style":345},[1215],{"type":59,"value":1216},"0xbae207659db88bea0cbead6da0ed00aac12edcdda169e591cd41c94180b46f3b",{"type":53,"tag":332,"props":1218,"children":1219},{"style":385},[1220],{"type":59,"value":418},{"type":53,"tag":332,"props":1222,"children":1223},{"style":385},[1224],{"type":59,"value":423},{"type":53,"tag":332,"props":1226,"children":1227},{"class":334,"line":659},[1228],{"type":53,"tag":332,"props":1229,"children":1230},{"emptyLinePlaceholder":514},[1231],{"type":59,"value":517},{"type":53,"tag":332,"props":1233,"children":1234},{"class":334,"line":730},[1235,1239,1244,1248,1253,1258,1262,1267,1271],{"type":53,"tag":332,"props":1236,"children":1237},{"style":524},[1238],{"type":59,"value":527},{"type":53,"tag":332,"props":1240,"children":1241},{"style":391},[1242],{"type":59,"value":1243}," build ",{"type":53,"tag":332,"props":1245,"children":1246},{"style":385},[1247],{"type":59,"value":537},{"type":53,"tag":332,"props":1249,"children":1250},{"style":379},[1251],{"type":59,"value":1252}," await",{"type":53,"tag":332,"props":1254,"children":1255},{"style":391},[1256],{"type":59,"value":1257}," client",{"type":53,"tag":332,"props":1259,"children":1260},{"style":385},[1261],{"type":59,"value":108},{"type":53,"tag":332,"props":1263,"children":1264},{"style":545},[1265],{"type":59,"value":1266},"buildTransfer",{"type":53,"tag":332,"props":1268,"children":1269},{"style":391},[1270],{"type":59,"value":552},{"type":53,"tag":332,"props":1272,"children":1273},{"style":385},[1274],{"type":59,"value":557},{"type":53,"tag":332,"props":1276,"children":1277},{"class":334,"line":744},[1278,1283,1287,1292],{"type":53,"tag":332,"props":1279,"children":1280},{"style":564},[1281],{"type":59,"value":1282},"  sender",{"type":53,"tag":332,"props":1284,"children":1285},{"style":385},[1286],{"type":59,"value":572},{"type":53,"tag":332,"props":1288,"children":1289},{"style":391},[1290],{"type":59,"value":1291}," walletAddress",{"type":53,"tag":332,"props":1293,"children":1294},{"style":385},[1295],{"type":59,"value":825},{"type":53,"tag":332,"props":1297,"children":1298},{"class":334,"line":758},[1299,1304,1308,1312,1317,1321],{"type":53,"tag":332,"props":1300,"children":1301},{"style":564},[1302],{"type":59,"value":1303},"  recipient",{"type":53,"tag":332,"props":1305,"children":1306},{"style":385},[1307],{"type":59,"value":572},{"type":53,"tag":332,"props":1309,"children":1310},{"style":385},[1311],{"type":59,"value":409},{"type":53,"tag":332,"props":1313,"children":1314},{"style":345},[1315],{"type":59,"value":1316},"0xRecipient...",{"type":53,"tag":332,"props":1318,"children":1319},{"style":385},[1320],{"type":59,"value":418},{"type":53,"tag":332,"props":1322,"children":1323},{"style":385},[1324],{"type":59,"value":825},{"type":53,"tag":332,"props":1326,"children":1327},{"class":334,"line":783},[1328,1333,1337,1341,1346,1350,1354],{"type":53,"tag":332,"props":1329,"children":1330},{"style":564},[1331],{"type":59,"value":1332},"  amount",{"type":53,"tag":332,"props":1334,"children":1335},{"style":385},[1336],{"type":59,"value":572},{"type":53,"tag":332,"props":1338,"children":1339},{"style":385},[1340],{"type":59,"value":409},{"type":53,"tag":332,"props":1342,"children":1343},{"style":345},[1344],{"type":59,"value":1345},"1000000",{"type":53,"tag":332,"props":1347,"children":1348},{"style":385},[1349],{"type":59,"value":418},{"type":53,"tag":332,"props":1351,"children":1352},{"style":385},[1353],{"type":59,"value":914},{"type":53,"tag":332,"props":1355,"children":1356},{"style":628},[1357],{"type":59,"value":1358}," \u002F\u002F 1 USDC (6 decimals)\n",{"type":53,"tag":332,"props":1360,"children":1361},{"class":334,"line":797},[1362,1367,1371,1376],{"type":53,"tag":332,"props":1363,"children":1364},{"style":564},[1365],{"type":59,"value":1366},"  assetType",{"type":53,"tag":332,"props":1368,"children":1369},{"style":385},[1370],{"type":59,"value":572},{"type":53,"tag":332,"props":1372,"children":1373},{"style":391},[1374],{"type":59,"value":1375}," USDC_ASSET",{"type":53,"tag":332,"props":1377,"children":1378},{"style":385},[1379],{"type":59,"value":825},{"type":53,"tag":332,"props":1381,"children":1382},{"class":334,"line":828},[1383,1388,1392,1398],{"type":53,"tag":332,"props":1384,"children":1385},{"style":564},[1386],{"type":59,"value":1387},"  decimals",{"type":53,"tag":332,"props":1389,"children":1390},{"style":385},[1391],{"type":59,"value":572},{"type":53,"tag":332,"props":1393,"children":1395},{"style":1394},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[1396],{"type":59,"value":1397}," 6",{"type":53,"tag":332,"props":1399,"children":1400},{"style":385},[1401],{"type":59,"value":825},{"type":53,"tag":332,"props":1403,"children":1404},{"class":334,"line":846},[1405,1410,1414,1418,1423],{"type":53,"tag":332,"props":1406,"children":1407},{"style":564},[1408],{"type":59,"value":1409},"  symbol",{"type":53,"tag":332,"props":1411,"children":1412},{"style":385},[1413],{"type":59,"value":572},{"type":53,"tag":332,"props":1415,"children":1416},{"style":385},[1417],{"type":59,"value":409},{"type":53,"tag":332,"props":1419,"children":1420},{"style":345},[1421],{"type":59,"value":1422},"USDC",{"type":53,"tag":332,"props":1424,"children":1425},{"style":385},[1426],{"type":59,"value":1161},{"type":53,"tag":332,"props":1428,"children":1429},{"class":334,"line":23},[1430,1434,1438],{"type":53,"tag":332,"props":1431,"children":1432},{"style":385},[1433],{"type":59,"value":639},{"type":53,"tag":332,"props":1435,"children":1436},{"style":391},[1437],{"type":59,"value":644},{"type":53,"tag":332,"props":1439,"children":1440},{"style":385},[1441],{"type":59,"value":423},{"type":53,"tag":332,"props":1443,"children":1444},{"class":334,"line":926},[1445],{"type":53,"tag":332,"props":1446,"children":1447},{"emptyLinePlaceholder":514},[1448],{"type":59,"value":517},{"type":53,"tag":332,"props":1450,"children":1451},{"class":334,"line":935},[1452],{"type":53,"tag":332,"props":1453,"children":1454},{"style":628},[1455],{"type":59,"value":1456},"\u002F\u002F Sign with wallet, then submit build.signedTransaction\n",{"type":53,"tag":299,"props":1458,"children":1459},{},[],{"type":53,"tag":62,"props":1461,"children":1463},{"id":1462},"error-handling",[1464],{"type":59,"value":1465},"Error Handling",{"type":53,"tag":321,"props":1467,"children":1469},{"className":367,"code":1468,"language":369,"meta":326,"style":326},"try {\n  const response = await signAndSubmitTransaction(payload);\n  await aptos.waitForTransaction({ transactionHash: response.hash });\n} catch (error: any) {\n  if (error?.status === 402 || error?.message?.includes(\"Insufficient credits\")) {\n    \u002F\u002F Credits exhausted — show upgrade CTA\n    toast.error(\"Service temporarily unavailable. Please try again later.\");\n    window.open(\"https:\u002F\u002Fdashboard.smoothsend.xyz\u002Fbilling\", \"_blank\");\n  } else {\n    throw error;\n  }\n}\n",[1470],{"type":53,"tag":94,"props":1471,"children":1472},{"__ignoreMap":326},[1473,1485,1529,1594,1632,1722,1730,1771,1830,1847,1863,1871],{"type":53,"tag":332,"props":1474,"children":1475},{"class":334,"line":335},[1476,1481],{"type":53,"tag":332,"props":1477,"children":1478},{"style":379},[1479],{"type":59,"value":1480},"try",{"type":53,"tag":332,"props":1482,"children":1483},{"style":385},[1484],{"type":59,"value":727},{"type":53,"tag":332,"props":1486,"children":1487},{"class":334,"line":426},[1488,1493,1498,1503,1507,1512,1516,1521,1525],{"type":53,"tag":332,"props":1489,"children":1490},{"style":524},[1491],{"type":59,"value":1492},"  const",{"type":53,"tag":332,"props":1494,"children":1495},{"style":391},[1496],{"type":59,"value":1497}," response",{"type":53,"tag":332,"props":1499,"children":1500},{"style":385},[1501],{"type":59,"value":1502}," =",{"type":53,"tag":332,"props":1504,"children":1505},{"style":379},[1506],{"type":59,"value":1252},{"type":53,"tag":332,"props":1508,"children":1509},{"style":545},[1510],{"type":59,"value":1511}," signAndSubmitTransaction",{"type":53,"tag":332,"props":1513,"children":1514},{"style":564},[1515],{"type":59,"value":552},{"type":53,"tag":332,"props":1517,"children":1518},{"style":391},[1519],{"type":59,"value":1520},"payload",{"type":53,"tag":332,"props":1522,"children":1523},{"style":564},[1524],{"type":59,"value":644},{"type":53,"tag":332,"props":1526,"children":1527},{"style":385},[1528],{"type":59,"value":423},{"type":53,"tag":332,"props":1530,"children":1531},{"class":334,"line":468},[1532,1537,1542,1546,1551,1555,1560,1565,1569,1573,1577,1582,1586,1590],{"type":53,"tag":332,"props":1533,"children":1534},{"style":379},[1535],{"type":59,"value":1536},"  await",{"type":53,"tag":332,"props":1538,"children":1539},{"style":391},[1540],{"type":59,"value":1541}," aptos",{"type":53,"tag":332,"props":1543,"children":1544},{"style":385},[1545],{"type":59,"value":108},{"type":53,"tag":332,"props":1547,"children":1548},{"style":545},[1549],{"type":59,"value":1550},"waitForTransaction",{"type":53,"tag":332,"props":1552,"children":1553},{"style":564},[1554],{"type":59,"value":552},{"type":53,"tag":332,"props":1556,"children":1557},{"style":385},[1558],{"type":59,"value":1559},"{",{"type":53,"tag":332,"props":1561,"children":1562},{"style":564},[1563],{"type":59,"value":1564}," transactionHash",{"type":53,"tag":332,"props":1566,"children":1567},{"style":385},[1568],{"type":59,"value":572},{"type":53,"tag":332,"props":1570,"children":1571},{"style":391},[1572],{"type":59,"value":1497},{"type":53,"tag":332,"props":1574,"children":1575},{"style":385},[1576],{"type":59,"value":108},{"type":53,"tag":332,"props":1578,"children":1579},{"style":391},[1580],{"type":59,"value":1581},"hash",{"type":53,"tag":332,"props":1583,"children":1584},{"style":385},[1585],{"type":59,"value":399},{"type":53,"tag":332,"props":1587,"children":1588},{"style":564},[1589],{"type":59,"value":644},{"type":53,"tag":332,"props":1591,"children":1592},{"style":385},[1593],{"type":59,"value":423},{"type":53,"tag":332,"props":1595,"children":1596},{"class":334,"line":510},[1597,1601,1606,1611,1615,1619,1624,1628],{"type":53,"tag":332,"props":1598,"children":1599},{"style":385},[1600],{"type":59,"value":639},{"type":53,"tag":332,"props":1602,"children":1603},{"style":379},[1604],{"type":59,"value":1605}," catch",{"type":53,"tag":332,"props":1607,"children":1608},{"style":385},[1609],{"type":59,"value":1610}," (",{"type":53,"tag":332,"props":1612,"children":1613},{"style":683},[1614],{"type":59,"value":870},{"type":53,"tag":332,"props":1616,"children":1617},{"style":385},[1618],{"type":59,"value":572},{"type":53,"tag":332,"props":1620,"children":1621},{"style":339},[1622],{"type":59,"value":1623}," any",{"type":53,"tag":332,"props":1625,"children":1626},{"style":385},[1627],{"type":59,"value":644},{"type":53,"tag":332,"props":1629,"children":1630},{"style":385},[1631],{"type":59,"value":727},{"type":53,"tag":332,"props":1633,"children":1634},{"class":334,"line":520},[1635,1640,1644,1648,1653,1658,1663,1668,1673,1678,1682,1687,1691,1696,1700,1704,1709,1713,1718],{"type":53,"tag":332,"props":1636,"children":1637},{"style":379},[1638],{"type":59,"value":1639},"  if",{"type":53,"tag":332,"props":1641,"children":1642},{"style":564},[1643],{"type":59,"value":1610},{"type":53,"tag":332,"props":1645,"children":1646},{"style":391},[1647],{"type":59,"value":870},{"type":53,"tag":332,"props":1649,"children":1650},{"style":385},[1651],{"type":59,"value":1652},"?.",{"type":53,"tag":332,"props":1654,"children":1655},{"style":391},[1656],{"type":59,"value":1657},"status",{"type":53,"tag":332,"props":1659,"children":1660},{"style":385},[1661],{"type":59,"value":1662}," ===",{"type":53,"tag":332,"props":1664,"children":1665},{"style":1394},[1666],{"type":59,"value":1667}," 402",{"type":53,"tag":332,"props":1669,"children":1670},{"style":385},[1671],{"type":59,"value":1672}," ||",{"type":53,"tag":332,"props":1674,"children":1675},{"style":391},[1676],{"type":59,"value":1677}," error",{"type":53,"tag":332,"props":1679,"children":1680},{"style":385},[1681],{"type":59,"value":1652},{"type":53,"tag":332,"props":1683,"children":1684},{"style":391},[1685],{"type":59,"value":1686},"message",{"type":53,"tag":332,"props":1688,"children":1689},{"style":385},[1690],{"type":59,"value":1652},{"type":53,"tag":332,"props":1692,"children":1693},{"style":545},[1694],{"type":59,"value":1695},"includes",{"type":53,"tag":332,"props":1697,"children":1698},{"style":564},[1699],{"type":59,"value":552},{"type":53,"tag":332,"props":1701,"children":1702},{"style":385},[1703],{"type":59,"value":418},{"type":53,"tag":332,"props":1705,"children":1706},{"style":345},[1707],{"type":59,"value":1708},"Insufficient credits",{"type":53,"tag":332,"props":1710,"children":1711},{"style":385},[1712],{"type":59,"value":418},{"type":53,"tag":332,"props":1714,"children":1715},{"style":564},[1716],{"type":59,"value":1717},")) ",{"type":53,"tag":332,"props":1719,"children":1720},{"style":385},[1721],{"type":59,"value":557},{"type":53,"tag":332,"props":1723,"children":1724},{"class":334,"line":560},[1725],{"type":53,"tag":332,"props":1726,"children":1727},{"style":628},[1728],{"type":59,"value":1729},"    \u002F\u002F Credits exhausted — show upgrade CTA\n",{"type":53,"tag":332,"props":1731,"children":1732},{"class":334,"line":602},[1733,1738,1742,1746,1750,1754,1759,1763,1767],{"type":53,"tag":332,"props":1734,"children":1735},{"style":391},[1736],{"type":59,"value":1737},"    toast",{"type":53,"tag":332,"props":1739,"children":1740},{"style":385},[1741],{"type":59,"value":108},{"type":53,"tag":332,"props":1743,"children":1744},{"style":545},[1745],{"type":59,"value":870},{"type":53,"tag":332,"props":1747,"children":1748},{"style":564},[1749],{"type":59,"value":552},{"type":53,"tag":332,"props":1751,"children":1752},{"style":385},[1753],{"type":59,"value":418},{"type":53,"tag":332,"props":1755,"children":1756},{"style":345},[1757],{"type":59,"value":1758},"Service temporarily unavailable. Please try again later.",{"type":53,"tag":332,"props":1760,"children":1761},{"style":385},[1762],{"type":59,"value":418},{"type":53,"tag":332,"props":1764,"children":1765},{"style":564},[1766],{"type":59,"value":644},{"type":53,"tag":332,"props":1768,"children":1769},{"style":385},[1770],{"type":59,"value":423},{"type":53,"tag":332,"props":1772,"children":1773},{"class":334,"line":27},[1774,1779,1783,1788,1792,1796,1801,1805,1809,1813,1818,1822,1826],{"type":53,"tag":332,"props":1775,"children":1776},{"style":391},[1777],{"type":59,"value":1778},"    window",{"type":53,"tag":332,"props":1780,"children":1781},{"style":385},[1782],{"type":59,"value":108},{"type":53,"tag":332,"props":1784,"children":1785},{"style":545},[1786],{"type":59,"value":1787},"open",{"type":53,"tag":332,"props":1789,"children":1790},{"style":564},[1791],{"type":59,"value":552},{"type":53,"tag":332,"props":1793,"children":1794},{"style":385},[1795],{"type":59,"value":418},{"type":53,"tag":332,"props":1797,"children":1798},{"style":345},[1799],{"type":59,"value":1800},"https:\u002F\u002Fdashboard.smoothsend.xyz\u002Fbilling",{"type":53,"tag":332,"props":1802,"children":1803},{"style":385},[1804],{"type":59,"value":418},{"type":53,"tag":332,"props":1806,"children":1807},{"style":385},[1808],{"type":59,"value":914},{"type":53,"tag":332,"props":1810,"children":1811},{"style":385},[1812],{"type":59,"value":409},{"type":53,"tag":332,"props":1814,"children":1815},{"style":345},[1816],{"type":59,"value":1817},"_blank",{"type":53,"tag":332,"props":1819,"children":1820},{"style":385},[1821],{"type":59,"value":418},{"type":53,"tag":332,"props":1823,"children":1824},{"style":564},[1825],{"type":59,"value":644},{"type":53,"tag":332,"props":1827,"children":1828},{"style":385},[1829],{"type":59,"value":423},{"type":53,"tag":332,"props":1831,"children":1832},{"class":334,"line":651},[1833,1838,1843],{"type":53,"tag":332,"props":1834,"children":1835},{"style":385},[1836],{"type":59,"value":1837},"  }",{"type":53,"tag":332,"props":1839,"children":1840},{"style":379},[1841],{"type":59,"value":1842}," else",{"type":53,"tag":332,"props":1844,"children":1845},{"style":385},[1846],{"type":59,"value":727},{"type":53,"tag":332,"props":1848,"children":1849},{"class":334,"line":659},[1850,1855,1859],{"type":53,"tag":332,"props":1851,"children":1852},{"style":379},[1853],{"type":59,"value":1854},"    throw",{"type":53,"tag":332,"props":1856,"children":1857},{"style":391},[1858],{"type":59,"value":1677},{"type":53,"tag":332,"props":1860,"children":1861},{"style":385},[1862],{"type":59,"value":423},{"type":53,"tag":332,"props":1864,"children":1865},{"class":334,"line":730},[1866],{"type":53,"tag":332,"props":1867,"children":1868},{"style":385},[1869],{"type":59,"value":1870},"  }\n",{"type":53,"tag":332,"props":1872,"children":1873},{"class":334,"line":744},[1874],{"type":53,"tag":332,"props":1875,"children":1876},{"style":385},[1877],{"type":59,"value":780},{"type":53,"tag":299,"props":1879,"children":1880},{},[],{"type":53,"tag":62,"props":1882,"children":1884},{"id":1883},"pricing",[1885],{"type":59,"value":125},{"type":53,"tag":69,"props":1887,"children":1888},{},[1889,1891,1897],{"type":59,"value":1890},"See ",{"type":53,"tag":83,"props":1892,"children":1894},{"href":121,"rel":1893},[87],[1895],{"type":59,"value":1896},"SmoothSend Pricing",{"type":59,"value":1898}," for current rates. Testnet is free; mainnet uses credit\npacks.",{"type":53,"tag":299,"props":1900,"children":1901},{},[],{"type":53,"tag":62,"props":1903,"children":1905},{"id":1904},"common-mistakes",[1906],{"type":59,"value":1907},"Common Mistakes",{"type":53,"tag":1909,"props":1910,"children":1911},"table",{},[1912,1931],{"type":53,"tag":1913,"props":1914,"children":1915},"thead",{},[1916],{"type":53,"tag":1917,"props":1918,"children":1919},"tr",{},[1920,1926],{"type":53,"tag":1921,"props":1922,"children":1923},"th",{},[1924],{"type":59,"value":1925},"Mistake",{"type":53,"tag":1921,"props":1927,"children":1928},{},[1929],{"type":59,"value":1930},"Correct approach",{"type":53,"tag":1932,"props":1933,"children":1934},"tbody",{},[1935,1966,1992,2005,2018],{"type":53,"tag":1917,"props":1936,"children":1937},{},[1938,1949],{"type":53,"tag":1939,"props":1940,"children":1941},"td",{},[1942,1944],{"type":59,"value":1943},"Forgetting ",{"type":53,"tag":94,"props":1945,"children":1947},{"className":1946},[],[1948],{"type":59,"value":48},{"type":53,"tag":1939,"props":1950,"children":1951},{},[1952,1953,1959,1960],{"type":59,"value":162},{"type":53,"tag":94,"props":1954,"children":1956},{"className":1955},[],[1957],{"type":59,"value":1958},"smoothSend",{"type":59,"value":177},{"type":53,"tag":94,"props":1961,"children":1963},{"className":1962},[],[1964],{"type":59,"value":1965},"dappConfig",{"type":53,"tag":1917,"props":1967,"children":1968},{},[1969,1974],{"type":53,"tag":1939,"props":1970,"children":1971},{},[1972],{"type":59,"value":1973},"Hardcoding API key",{"type":53,"tag":1939,"props":1975,"children":1976},{},[1977,1979,1984,1985,1990],{"type":59,"value":1978},"Use env var with ",{"type":53,"tag":94,"props":1980,"children":1982},{"className":1981},[],[1983],{"type":59,"value":263},{"type":59,"value":210},{"type":53,"tag":94,"props":1986,"children":1988},{"className":1987},[],[1989],{"type":59,"value":270},{"type":59,"value":1991}," prefix",{"type":53,"tag":1917,"props":1993,"children":1994},{},[1995,2000],{"type":53,"tag":1939,"props":1996,"children":1997},{},[1998],{"type":59,"value":1999},"Using Script Composer for non-transfer tx",{"type":53,"tag":1939,"props":2001,"children":2002},{},[2003],{"type":59,"value":2004},"Use Wallet Adapter for swaps, mints, contract calls",{"type":53,"tag":1917,"props":2006,"children":2007},{},[2008,2013],{"type":53,"tag":1939,"props":2009,"children":2010},{},[2011],{"type":59,"value":2012},"Not handling 402",{"type":53,"tag":1939,"props":2014,"children":2015},{},[2016],{"type":59,"value":2017},"Catch and show user-friendly message + billing link",{"type":53,"tag":1917,"props":2019,"children":2020},{},[2021,2026],{"type":53,"tag":1939,"props":2022,"children":2023},{},[2024],{"type":59,"value":2025},"Wrong network",{"type":53,"tag":1939,"props":2027,"children":2028},{},[2029,2031,2037,2039],{"type":59,"value":2030},"Match ",{"type":53,"tag":94,"props":2032,"children":2034},{"className":2033},[],[2035],{"type":59,"value":2036},"network",{"type":59,"value":2038}," in SmoothSend config to ",{"type":53,"tag":94,"props":2040,"children":2042},{"className":2041},[],[2043],{"type":59,"value":2044},"dappConfig.network",{"type":53,"tag":299,"props":2046,"children":2047},{},[],{"type":53,"tag":62,"props":2049,"children":2051},{"id":2050},"references",[2052],{"type":59,"value":2053},"References",{"type":53,"tag":2055,"props":2056,"children":2057},"ul",{},[2058,2069,2079,2090,2101,2114],{"type":53,"tag":139,"props":2059,"children":2060},{},[2061,2063],{"type":59,"value":2062},"SmoothSend Docs: ",{"type":53,"tag":83,"props":2064,"children":2067},{"href":2065,"rel":2066},"https:\u002F\u002Fdocs.smoothsend.xyz",[87],[2068],{"type":59,"value":2065},{"type":53,"tag":139,"props":2070,"children":2071},{},[2072,2074],{"type":59,"value":2073},"Pricing: ",{"type":53,"tag":83,"props":2075,"children":2077},{"href":121,"rel":2076},[87],[2078],{"type":59,"value":121},{"type":53,"tag":139,"props":2080,"children":2081},{},[2082,2084],{"type":59,"value":2083},"Dashboard: ",{"type":53,"tag":83,"props":2085,"children":2088},{"href":2086,"rel":2087},"https:\u002F\u002Fdashboard.smoothsend.xyz",[87],[2089],{"type":59,"value":2086},{"type":53,"tag":139,"props":2091,"children":2092},{},[2093,2095],{"type":59,"value":2094},"npm: ",{"type":53,"tag":83,"props":2096,"children":2099},{"href":2097,"rel":2098},"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@smoothsend\u002Fsdk",[87],[2100],{"type":59,"value":2097},{"type":53,"tag":139,"props":2102,"children":2103},{},[2104,2106,2112],{"type":59,"value":2105},"MCP (AI context): ",{"type":53,"tag":94,"props":2107,"children":2109},{"className":2108},[],[2110],{"type":59,"value":2111},"npx @smoothsend\u002Fmcp",{"type":59,"value":2113}," — tools for get_docs, estimate_credits, get_code_snippet",{"type":53,"tag":139,"props":2115,"children":2116},{},[2117,2119,2125,2126],{"type":59,"value":2118},"Related: ",{"type":53,"tag":83,"props":2120,"children":2122},{"href":2121},"..\u002F..\u002Fskills\u002Fsdk\u002Ftypescript\u002Fts-sdk-wallet-adapter\u002FSKILL.md",[2123],{"type":59,"value":2124},"ts-sdk-wallet-adapter",{"type":59,"value":825},{"type":53,"tag":83,"props":2127,"children":2129},{"href":2128},"..\u002F..\u002Fskills\u002Fsdk\u002Ftypescript\u002Fts-sdk-transactions\u002FSKILL.md",[2130],{"type":59,"value":2131},"ts-sdk-transactions",{"type":53,"tag":2133,"props":2134,"children":2135},"style",{},[2136],{"type":59,"value":2137},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":2139,"total":846},[2140,2155,2171,2185,2199,2213,2227],{"slug":2141,"name":2141,"fn":2142,"description":2143,"org":2144,"tags":2145,"stars":23,"repoUrl":24,"updatedAt":2154},"analyze-gas-optimization","optimize Aptos Move contracts for gas","Analyze and optimize Aptos Move contracts for gas efficiency, identifying expensive operations and suggesting optimizations. Triggers on: 'optimize gas', 'reduce gas costs', 'gas analysis', 'make contract cheaper', 'gas efficiency', 'analyze gas usage', 'reduce transaction costs'.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2146,2148,2151],{"name":2147,"slug":30,"type":16},"Blockchain",{"name":2149,"slug":2150,"type":16},"Performance","performance",{"name":2152,"slug":2153,"type":16},"Smart Contracts","smart-contracts","2026-07-12T08:07:14.117466",{"slug":2156,"name":2156,"fn":2157,"description":2158,"org":2159,"tags":2160,"stars":23,"repoUrl":24,"updatedAt":2170},"create-aptos-project","scaffold new Aptos dApp projects","Scaffolds new Aptos projects using npx create-aptos-dapp. Supports fullstack (Vite or Next.js) and contract-only templates with network selection and optional API key. Triggers on: 'build app', 'create app', 'make app', 'new app', 'build dApp', 'create dApp', 'new dApp', 'build project', 'new project', 'create project', 'scaffold', 'start project', 'set up project', 'build me a', 'I want to build', 'make me a', 'help me build'.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2161,2164,2166,2169],{"name":2162,"slug":2163,"type":16},"Next.js","next-js",{"name":2165,"slug":43,"type":16},"TypeScript",{"name":2167,"slug":2168,"type":16},"Vite","vite",{"name":14,"slug":15,"type":16},"2026-07-12T08:07:30.595111",{"slug":2172,"name":2172,"fn":2173,"description":2174,"org":2175,"tags":2176,"stars":23,"repoUrl":24,"updatedAt":2184},"deploy-contracts","deploy Move contracts to Aptos networks","Safely deploys Move contracts to Aptos networks (devnet, testnet, mainnet) with pre-deployment verification. Triggers on: 'deploy contract', 'publish to testnet', 'deploy to mainnet', 'how to deploy', 'publish module', 'deployment checklist', 'deploy to devnet'.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2177,2180,2183],{"name":2178,"slug":2179,"type":16},"Deployment","deployment",{"name":2181,"slug":2182,"type":16},"Engineering","engineering",{"name":2152,"slug":2153,"type":16},"2026-07-12T08:07:16.798352",{"slug":2186,"name":2186,"fn":2187,"description":2188,"org":2189,"tags":2190,"stars":23,"repoUrl":24,"updatedAt":2198},"generate-tests","generate test suites for Move contracts","Creates comprehensive test suites for Move contracts with 100% coverage requirement. Triggers on: 'generate tests', 'create tests', 'write test suite', 'test this contract', 'how to test', 'add test coverage', 'write unit tests'.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2191,2192,2195],{"name":2181,"slug":2182,"type":16},{"name":2193,"slug":2194,"type":16},"QA","qa",{"name":2196,"slug":2197,"type":16},"Testing","testing","2026-07-12T08:07:18.0205",{"slug":2200,"name":2200,"fn":2201,"description":2202,"org":2203,"tags":2204,"stars":23,"repoUrl":24,"updatedAt":2212},"modernize-move","modernize Move V1 contracts to V2","Detects and modernizes outdated Move V1 syntax, patterns, and APIs to Move V2+. Use when upgrading legacy contracts, migrating to modern syntax, or converting old patterns to current best practices. NOT for writing new contracts (use write-contracts) or fixing bugs.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2205,2208,2209],{"name":2206,"slug":2207,"type":16},"Code Analysis","code-analysis",{"name":2181,"slug":2182,"type":16},{"name":2210,"slug":2211,"type":16},"Migration","migration","2026-07-12T08:07:10.226223",{"slug":2214,"name":2214,"fn":2215,"description":2216,"org":2217,"tags":2218,"stars":23,"repoUrl":24,"updatedAt":2226},"search-aptos-examples","search Aptos reference implementations","Searches aptos-core and daily-move for reference implementations before writing contracts. Triggers on: 'search examples', 'find example', 'check aptos-core', 'is there an example', 'reference implementation', 'how does aptos implement', 'similar contract', 'daily-move'.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2219,2220,2223],{"name":2147,"slug":30,"type":16},{"name":2221,"slug":2222,"type":16},"Documentation","documentation",{"name":2224,"slug":2225,"type":16},"Search","search","2026-07-12T08:07:15.382039",{"slug":2228,"name":2228,"fn":2229,"description":2230,"org":2231,"tags":2232,"stars":23,"repoUrl":24,"updatedAt":2241},"security-audit","audit Move smart contracts for security","Audits Move contracts for security vulnerabilities before deployment using 7-category checklist. Triggers on: 'audit contract', 'security check', 'review security', 'check for vulnerabilities', 'security audit', 'is this secure', 'find security issues'.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2233,2236,2237,2240],{"name":2234,"slug":2235,"type":16},"Audit","audit",{"name":2206,"slug":2207,"type":16},{"name":2238,"slug":2239,"type":16},"Security","security",{"name":2152,"slug":2153,"type":16},"2026-07-12T08:07:11.680215",{"items":2243,"total":2337},[2244,2250,2257,2263,2269,2275,2281,2288,2294,2308,2318,2328],{"slug":2141,"name":2141,"fn":2142,"description":2143,"org":2245,"tags":2246,"stars":23,"repoUrl":24,"updatedAt":2154},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2247,2248,2249],{"name":2147,"slug":30,"type":16},{"name":2149,"slug":2150,"type":16},{"name":2152,"slug":2153,"type":16},{"slug":2156,"name":2156,"fn":2157,"description":2158,"org":2251,"tags":2252,"stars":23,"repoUrl":24,"updatedAt":2170},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2253,2254,2255,2256],{"name":2162,"slug":2163,"type":16},{"name":2165,"slug":43,"type":16},{"name":2167,"slug":2168,"type":16},{"name":14,"slug":15,"type":16},{"slug":2172,"name":2172,"fn":2173,"description":2174,"org":2258,"tags":2259,"stars":23,"repoUrl":24,"updatedAt":2184},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2260,2261,2262],{"name":2178,"slug":2179,"type":16},{"name":2181,"slug":2182,"type":16},{"name":2152,"slug":2153,"type":16},{"slug":2186,"name":2186,"fn":2187,"description":2188,"org":2264,"tags":2265,"stars":23,"repoUrl":24,"updatedAt":2198},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2266,2267,2268],{"name":2181,"slug":2182,"type":16},{"name":2193,"slug":2194,"type":16},{"name":2196,"slug":2197,"type":16},{"slug":2200,"name":2200,"fn":2201,"description":2202,"org":2270,"tags":2271,"stars":23,"repoUrl":24,"updatedAt":2212},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2272,2273,2274],{"name":2206,"slug":2207,"type":16},{"name":2181,"slug":2182,"type":16},{"name":2210,"slug":2211,"type":16},{"slug":2214,"name":2214,"fn":2215,"description":2216,"org":2276,"tags":2277,"stars":23,"repoUrl":24,"updatedAt":2226},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2278,2279,2280],{"name":2147,"slug":30,"type":16},{"name":2221,"slug":2222,"type":16},{"name":2224,"slug":2225,"type":16},{"slug":2228,"name":2228,"fn":2229,"description":2230,"org":2282,"tags":2283,"stars":23,"repoUrl":24,"updatedAt":2241},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2284,2285,2286,2287],{"name":2234,"slug":2235,"type":16},{"name":2206,"slug":2207,"type":16},{"name":2238,"slug":2239,"type":16},{"name":2152,"slug":2153,"type":16},{"slug":4,"name":4,"fn":5,"description":6,"org":2289,"tags":2290,"stars":23,"repoUrl":24,"updatedAt":25},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2291,2292,2293],{"name":21,"slug":22,"type":16},{"name":18,"slug":19,"type":16},{"name":14,"slug":15,"type":16},{"slug":2295,"name":2295,"fn":2296,"description":2297,"org":2298,"tags":2299,"stars":23,"repoUrl":24,"updatedAt":2307},"ts-sdk-account","manage Aptos accounts with TS SDK","How to create and use Account (signer) in @aptos-labs\u002Fts-sdk. Covers Account.generate(), fromPrivateKey(), fromDerivationPath(), Ed25519 vs SingleKey vs MultiKey vs Keyless, serialization (fromHex\u002FtoHex). Triggers on: 'Account.generate', 'Account.fromPrivateKey', 'Ed25519PrivateKey', 'SDK account', 'mnemonic', 'SingleKeyAccount', 'KeylessAccount'.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2300,2303,2304,2306],{"name":2301,"slug":2302,"type":16},"Auth","auth",{"name":2147,"slug":30,"type":16},{"name":2305,"slug":41,"type":16},"SDK",{"name":2165,"slug":43,"type":16},"2026-07-12T08:07:29.297415",{"slug":2309,"name":2309,"fn":2310,"description":2311,"org":2312,"tags":2313,"stars":23,"repoUrl":24,"updatedAt":2317},"ts-sdk-address","manage AccountAddress in Aptos TypeScript SDK","How to create and use AccountAddress in @aptos-labs\u002Fts-sdk. Covers address format (AIP-40), from\u002FfromString\u002FfromStrict, special addresses, LONG vs SHORT form, and derived addresses (object, resource, token, user-derived). Triggers on: 'AccountAddress', 'AccountAddress.from', 'AIP-40', 'derived address', 'createObjectAddress', 'createResourceAddress', 'createTokenAddress'.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2314,2315,2316],{"name":2147,"slug":30,"type":16},{"name":2305,"slug":41,"type":16},{"name":2165,"slug":43,"type":16},"2026-07-12T08:07:26.430378",{"slug":2319,"name":2319,"fn":2320,"description":2321,"org":2322,"tags":2323,"stars":23,"repoUrl":24,"updatedAt":2327},"ts-sdk-client","configure Aptos SDK clients","How to create and configure the Aptos client (Aptos, AptosConfig) in @aptos-labs\u002Fts-sdk. Covers Network, fullnode\u002Findexer\u002Ffaucet URLs, singleton pattern, and Bun compatibility. Triggers on: 'Aptos client', 'AptosConfig', 'SDK client', 'client setup', 'new Aptos(', 'Network.TESTNET', 'Network.MAINNET'.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2324,2325,2326],{"name":21,"slug":22,"type":16},{"name":2305,"slug":41,"type":16},{"name":2165,"slug":43,"type":16},"2026-07-12T08:07:21.933342",{"slug":2131,"name":2131,"fn":2329,"description":2330,"org":2331,"tags":2332,"stars":23,"repoUrl":24,"updatedAt":2336},"manage Aptos blockchain transactions","How to build, sign, submit, and simulate transactions in @aptos-labs\u002Fts-sdk. Covers build.simple(), signAndSubmitTransaction(), waitForTransaction(), simulate, sponsored (fee payer), and multi-agent. Triggers on: 'build.simple', 'signAndSubmitTransaction', 'transaction.build', 'waitForTransaction', 'signAsFeePayer', 'SDK transaction', 'sponsored transaction', 'multi-agent transaction'.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2333,2334,2335],{"name":21,"slug":22,"type":16},{"name":2165,"slug":43,"type":16},{"name":14,"slug":15,"type":16},"2026-07-12T08:07:23.774257",24]