- Wallet address contract invocation input validation for payable contracts.
- Add
listFundOperationsmethod toWalletandWalletAddressto list the fund operations associated with the wallet or address. - Updated
fundandquoteFundmethods to takeCreateFundOptionsobject instead of individual parameters.
- Support setting
sourceandsourceVersioncorrelation data viaCoinbase.configure()
- Add support for funding wallets (Alpha feature release)
- Must reach out to CDP SDK Discord channel to be considered for this feature.
- Add
rlp_encoded_txfield toEthereumTransactioninterface - Added create and update feature for
SmartContractEventActivitywebhook and its related event type filter.
- Fixed a bug where the asset ID was not being set correctly for Gwei and Wei
- Add support for async faucet transactions i.e. using
faucetTx.wait()to wait for the transaction to be confirmed.
- Fixed a bug where readContract was not working for nested types
- Support for readContract to read from smart contracts
- Fixed a bug that overwrites existing webhook notification URI when only updating a webhook's addresses
- Explicit paginated list methods for listing
Wallet,Transfer,Transaction,Webhook,PayloadSignature, andHistoricalBalance.
Webhook#updatenow takes an Object of{notificationUri, eventTypeFilter}instead ofnotificationUristring- list methods for listing
Wallet,Transfer,Transaction,Webhook,PayloadSignature, andHistoricalBalancenow takePaginationOptionsand returnPaginationResponse<T>
- Add
deployNFTmethod toWalletAddressandWalletto deploy an ERC721, updatedSmartContractclass to support deployment and fetching contract details - Add
deployMultiTokenmethod toWalletAddressandWalletto deploy an ERC1155, updatedSmartContractclass to support deployment and fetching contract details - Add
createWebhookmethod toWalletto deploy a wallet activity webhook, updatedWebhookclass to disallow users from specifying webhook signature. Webhook signature is now generated by the API.
- Export all missing types in
src/index
- Add
deployTokenmethod toWalletAddressandWalletto deploy an ERC20, updatedSmartContractclass to support deployment and fetching contract details - Add SOL asset support
- Fix a bug where large numbers were being returned in scientific notation
Asset#toAtomicAmountnow returns a BigInt instead of a Decimal
- Fixed a bug that blocked arbitrum mainnet wallets from being created
- Add Arbitrum-Mainnet support for Native transfers.
- Add
Coinbase.configuremethod to allow for configuration of the SDK and marked constructor as deprecated. - Return correlation ID from APIError response
- Add optional fields to
CreateContractInvocationOptionsto set amount for payable contract method invocations - Add a
StakingRewardFormatenum to allow for specifying the format in which staking rewards should be returned.
getDefaultAddresswallet method updated to return a promise, andgetAddresswallet methods now return a promise andWalletAddressinstead ofAddress. Both functions will now fetch addresses for the wallet if they haven't been loaded.
- Add support for list address transactions.
- Add support for exporting the private key of a
WalletAddress - Add support for creating arbitrary payload signatures.
- Add support for invoking Smart Contracts using MPC and Developer-managed Wallets.
- USDC Faucet support on Base Sepolia
- Improved error messages for
InternalError
- Fixed a bug where
listHistoricalBalancesmethod was parsing conventional ETH balances instead of atomic units
- Add
listHistoricalBalanceswallet method, that lists the historical balances for the wallet's default address. - Add toAddressId() method to Transaction class
- Remove user concept from the SDK
- Remove "pending" status from StakingOperationStatusEnum
- Add staking operation class helper methods like
isTerminalState,isFailedStateandisCompleteState. - Add validator status enum
- The
createTransferandcreateTradefunctions no longer wait for the transactions to confirm or fail on-chain.- Now they return a
TransferandTradeobject respectively, which support thewaitfunction, e.g.await transfer.wait(). - This ensures that the developer has a reference to the object in case there is a timeout while waiting to land on-chain.
- Now they return a
- Update
reload()method to work with both External and Wallet address. - Update
createStakingOperationlogic to make sure we only pull in newer unsigned txs from the server. This is especially important for External Address use-case where tx signing and broadcast status is maintained on client side, and we risk overwriting the existing txs. - Increase default timeout for
createStakingOperationto 10 min.
- Add Function
listHistoricalBalancesforAddressfor fetching historical balances for an asset - Support for retrieving historical staking balances information
- USD value conversion details to the StakingReward object
- Gasless USDC Sends
- Support for Ethereum-Mainnet and Polygon-Mainnet
- Fixed
Walletaddress hydration forWallet.import
- Support for Shared ETH Staking for Wallet Addresses
unsigned_payload,signed_payload,status, andtransaction_hashin-line fields onTransferare deprecated in favor of those onTransaction
- Support for trade with MPC Server-Signer
CreateTradeOptionstype
- Expose
Validatorclass
- Fixed signer wallets signing flow
- Add support for Dedicated ETH Staking for external addresses
- Add support for listing validator details and fetch details of a specific validator
- Improved accessibility for
StakingRewardandStakingOperationclasses - Fixed a bug with
StakingOperation.signmethod, where we were not properly waiting on a Promise - Changed
buildStakeOperation,buildUnstakeOperation, andbuildClaimRewardsOperationto takemodeas an explicit parameter optional parameter
CreateTransferOptionstype- Support external addresses for balance fetching and requesting faucet funds.
- Support for building staking operations
- Support for retrieving staking rewards information
- Add support for listing address trades via address.listTrades
- Support assets dynamically from the backend without SDK changes.
- Added Base Mainnet network support
ServerSignerobject- Ability to get default Server-Signer
Updated the usage of Coinbase.networkList to Coinbase.networks
- Ability to create wallets backed by server signers and transfer with them
- Changed save_wallet to save_seed
- Changed load_wallets to load_seed and moved at wallet level
- Changed save_wallet to save_seed
- Changed load_wallets to load_seed and moved at wallet level
Initial release of the Coinbase NodeJS.
- Supported networks: Base Sepolia
- Wallet create and import
- Address management
- Send and receive ETH, ETC-20s
- Ability to hydrate wallets
- API Key-based authentication
- API HTTP debugging
- User object and getDefaultUser
- Individual private key export
- Error specifications