- Add
deployToken
method toWalletAddress
andWallet
to deploy an ERC20, updatedSmartContract
class to support deployment and fetching contract details - Add SOL asset support
- Fix a bug where large numbers were being returned in scientific notation
Asset#toAtomicAmount
now 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.configure
method to allow for configuration of the SDK and marked constructor as deprecated. - Return correlation ID from APIError response
- Add optional fields to
CreateContractInvocationOptions
to set amount for payable contract method invocations - Add a
StakingRewardFormat
enum to allow for specifying the format in which staking rewards should be returned.
getDefaultAddress
wallet method updated to return a promise, andgetAddress
wallet methods now return a promise andWalletAddress
instead 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
listHistoricalBalances
method was parsing conventional ETH balances instead of atomic units
- Add
listHistoricalBalances
wallet 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
,isFailedState
andisCompleteState
. - Add validator status enum
- The
createTransfer
andcreateTrade
functions no longer wait for the transactions to confirm or fail on-chain.- Now they return a
Transfer
andTrade
object respectively, which support thewait
function, 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
createStakingOperation
logic 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
createStakingOperation
to 10 min.
- Add Function
listHistoricalBalances
forAddress
for 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
Wallet
address hydration forWallet.import
- Support for Shared ETH Staking for Wallet Addresses
unsigned_payload
,signed_payload
,status
, andtransaction_hash
in-line fields onTransfer
are deprecated in favor of those onTransaction
- Support for trade with MPC Server-Signer
CreateTradeOptions
type
- Expose
Validator
class
- 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
StakingReward
andStakingOperation
classes - Fixed a bug with
StakingOperation.sign
method, where we were not properly waiting on a Promise - Changed
buildStakeOperation
,buildUnstakeOperation
, andbuildClaimRewardsOperation
to takemode
as an explicit parameter optional parameter
CreateTransferOptions
type- 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
ServerSigner
object- 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