What problem does it solve? Canisters on the Internet Computer run on replicated subnets, so calling external web APIs directly fails consensus when responses differ between nodes. This Skill shows how to make HTTPS outcalls with transform functions, correct cycle attachment, and response size limits so canisters can reliably fetch or send data to external services. ## Core Features & Use Cases - Consensus-safe HTTP requests: Transform functions strip non-deterministic headers and fields so all replicas agree on the response. - Cycle cost management: Automatic cycle calculation via Call.httpRequest (Motoko) or ic_cdk::management_canister::http_request (Rust), with guidance on max_response_bytes to avoid overpaying. - GET and POST patterns in Motoko and Rust: Complete working examples including JSON parsing, idempotency keys, and error handling. - Use Case: Build a canister that fetches the ICP/USD price from CoinGecko, or posts JSON data to an external webhook with an idempotency key to handle duplicate replica requests. ## Quick Start Ask the AI to write a Rust or Motoko canister function that fetches JSON data from an external HTTPS API using a transform function for consensus.