Starknet is a zero-knowledge rollup on Ethereum. This guide covers Starknet-specific features when using Dfns wallets.Documentation Index
Fetch the complete documentation index at: https://docs.dfns.co/llms.txt
Use this file to discover all available pages before exploring further.
Wallet architecture
On Starknet, wallets are smart contracts. Dfns uses the OpenZeppelin (OZ) implementation for wallet contracts.Wallet lifecycle
- Key generation: When you create a Starknet wallet in Dfns, a private key is generated and an address is derived
- Receiving funds: You can receive assets at this address before the wallet is deployed
- Activation: Before you can send transactions, you must deploy the wallet contract using the Activate Wallet endpoint
You need funds in the wallet to pay for the activation transaction. Ensure the wallet has sufficient balance before activating.
Token standards
Starknet uses EVM-like token standards:| Standard | Description | Equivalent |
|---|---|---|
| SNIP-2 | Fungible tokens | ERC-20 |
| SNIP-3 | NFTs | ERC-721 |
| SNIP-12 | Typed structured data | EIP-712 |
Native tokens
Starknet has two native tokens:- STRK: The native network token used for fees
- ETH: Bridged Ethereum, also widely used
Transfers
Use the Transfer Asset endpoint for Starknet transfers:- STRK: Use
kind: Native - ETH: Use
kind: Erc20with the ETH contract address - SNIP-2 tokens: Use
kind: Snip2with the token’s contract address - SNIP-3 NFTs: Use
kind: Snip3with the NFT’s contract address andtokenId
Fees
Starknet fees can be paid in different tokens:| Fee token | Notes |
|---|---|
| STRK | Default, most efficient |
| ETH | Automatically swapped to STRK first, resulting in higher fees and multiple transactions |
