# Build Starknet Apps with starknet.js

Starknet integrations require precise provider, account, transaction, and fee handling across several APIs. This skill provides focused starknet.js v9.x patterns for reliable TypeScript applications.

## Install

```bash
npx skillstore add internet-court/starknet-js
```

## Metadata

- Status: approved
- Slug: internet-court-starknet-js
- Version: 1.0.0
- Author version: 1.0.0
- Skillstore revision: r2
- Version status: not\_bumped
- Tree hash: 83f2ec2c73f27b0464b2da3b9390cec6c3f8f4cb25794abebc8c70e5b3059a11
- Author: internet-court
- GitHub username: internet-court
- License: Apache-2.0
- Repository: https://github.com/internet-court/internet-court-skill/tree/main/vendored/starknet/starknet-js
- Ref: 1c2ebded2116f8124f45dba86a2e567f56e64d8e
- Supported tools: Claude, Codex, Claude Code
- Audit status: complete
- Agent install advisory: allowed
- Manual install advisory: allowed
- Artifact signature: available
- Audit attestation: unavailable
- Human verification: not\_verified
- Risk factors: external\_commands, env\_access, network, filesystem
- Quality score: 83
- Quality tier: gold
- Public page: https://skillstore.pages.dev/skills/internet-court-starknet-js
- Manifest: https://skillstore.pages.dev/api/skills/internet-court-starknet-js/manifest

## Capabilities

- Set up RpcProvider instances for Starknet mainnet and Sepolia.
- Read contract state and interact with typed contract interfaces.
- Create accounts, derive addresses, sign messages, and submit transactions.
- Build multicall, ERC-20, deployment, and wallet connection flows.
- Estimate fees, simulate calls, and configure paymaster transactions.

## Use Cases

- Prototype a Starknet integration: Create a TypeScript starter that reads contract state and submits a controlled transaction through starknet.js.
- Add wallet and paymaster support: Design wallet connection, sponsored execution, and alternative gas-token flows with clear fee and network checks.
- Review transaction workflows: Compare account, multicall, simulation, nonce, and fee patterns before integrating them into an existing Starknet service.

## Prompt Templates

### Start with a provider

```
Show me how to connect to Starknet Sepolia with starknet.js v9.x and read a contract balance. Explain each required input.
```

### Read a typed contract

```
Create a TypeScript pattern for a typed starknet.js contract call. Include ABI expectations, address validation, and readable error handling.
```

### Build a transaction flow

```
Design a starknet.js v9.x flow for approve plus transfer using multicall. Include simulation, nonce handling, fee estimation, and confirmation checks.
```

### Evaluate sponsored execution

```
Review this Starknet paymaster design for network, fee, signer, replay, and failure handling. Recommend a production-ready sequence and explicit approval gates.
```

## Limitations

- It does not author or audit Cairo smart contracts.
- Examples require valid ABI data, deployed addresses, RPC access, and funded accounts.
- Version-specific APIs may require checking the installed starknet.js release.
- It does not manage production secrets, wallets, or transaction approvals for you.

## Best Practices

- Use BigInt for token amounts, simulate writes, and enforce explicit fee bounds.
- Verify network, contract address, calldata, signer, nonce, and recipient before submission.
- Keep private keys outside source files and use test accounts during development.

## Anti Patterns

- Do not convert token amounts to JavaScript Number values.
- Do not submit unknown calldata or unbounded fees without simulation and approval.
- Do not reuse development keys or unverified endpoints in production.

## Security Audit

- Audited at: 2026-08-07T09:06:19.494\+00:00
- Summary: All 99 static findings are false positives after contextual review. The matches describe documentation syntax, public RPC examples, relative references, standard configuration access, or intentional environment-based key loading; no command execution, exfiltration, or prompt injection was identified.

## Stats

- Views: 0
- Downloads: 4
- Favorites: 1
- Popularity score: 0
