A Keyspace client library implemented in TypeScript. This client is also the basis for the Keyspace documentation.
bun installcast wallet newbun run scripts/create-p256-key.tsbun automatically loads environment variables from a .env file. Create a .env file in the root of the project.
touch .env| Environment Variable | Description |
|---|---|
| RPC_URL | Ethereum RPC URL for general RPC calls |
| BUNDLER_RPC_URL | Ethereum RPC URL for ERC-4337 calls |
| KEYSPACE_RPC_URL | Keyspace RPC URL |
| RECOVERY_RPC_URL | Recovery Service RPC URL |
bun run scripts/get-account.ts| Argument | Environment Variable | Description |
|---|---|---|
| --private-key | PRIVATE_KEY | secp256k1 private key or P256 JWK |
| --signature-type | secp256k1 (default) or webauthn |
bun run scripts/send-eth.ts| Argument | Environment Variable | Description |
|---|---|---|
| --account | The account of the keystore wallet to send from | |
| --owner-index | The index of the owner (default: 0) | |
| --initial-config-data | The initial config data needed to deploy the wallet | |
| --private-key | PRIVATE_KEY | secp256k1 private key or P256 JWK |
| --to | The address to send to | |
| --signature-type | secp256k1 (default) or webauthn |
Make sure there's ETH in the account you're sending from. You can get the Ethereum address of the smart wallet by running bun run scripts/get-account.ts.
bun run scripts/change-owner.ts| Argument | Environment Variable | Description |
|---|---|---|
| --account | The account of the keystore wallet | |
| --owner-index | The index of the owner (default: 0) | |
| --initial-config-data | The initial config data needed to deploy the wallet | |
| --private-key | PRIVATE_KEY | Current private key of the owner |
| --config-data | Current config data for the keystore wallet (hex string) | |
| --owner-bytes | The owner bytes to change in the keystore wallet | |
| --signature-type | secp256k1 (default) or webauthn | |
| --remove | Flag to remove the owner instead of adding (optional) |
bun run docs:dev
bun run docs:build