approve_token_spending
Authorize a specific address to spend your ERC20 tokens by defining the token, spender, and amount. Essential for enabling token interactions with DeFi protocols or exchanges.
Instructions
Approve another address (like a DeFi protocol or exchange) to spend your ERC20 tokens. This is often required before interacting with DeFi protocols.
Input Schema
Name | Required | Description | Default |
---|---|---|---|
amount | Yes | The amount of tokens to approve in token units, not wei (e.g., '1000' to approve spending 1000 tokens). Use a very large number for unlimited approval. | |
network | No | Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet. | bsc |
privateKey | No | Private key of the token owner account in hex format (with or without 0x prefix). SECURITY: This is used only for transaction signing and is not stored. | 0x5a2b7e4d9c8f1a3e6b0d2c5f4e3d2a1b0c9f8e7d6a5b4c3d2e1f0a9b8c7d6e5f4 |
spenderAddress | Yes | The contract address being approved to spend your tokens (e.g., a DEX or lending protocol) | |
tokenAddress | Yes | The contract address of the ERC20 token to approve for spending (e.g., '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48' for USDC on Ethereum) |
Input Schema (JSON Schema)
{
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"amount": {
"description": "The amount of tokens to approve in token units, not wei (e.g., '1000' to approve spending 1000 tokens). Use a very large number for unlimited approval.",
"type": "string"
},
"network": {
"default": "bsc",
"description": "Network name (e.g. 'bsc', 'opbnb', 'ethereum', 'base', etc.) or chain ID. Supports others main popular networks. Defaults to BSC mainnet.",
"type": "string"
},
"privateKey": {
"default": "0x5a2b7e4d9c8f1a3e6b0d2c5f4e3d2a1b0c9f8e7d6a5b4c3d2e1f0a9b8c7d6e5f4",
"description": "Private key of the token owner account in hex format (with or without 0x prefix). SECURITY: This is used only for transaction signing and is not stored.",
"type": "string"
},
"spenderAddress": {
"description": "The contract address being approved to spend your tokens (e.g., a DEX or lending protocol)",
"type": "string"
},
"tokenAddress": {
"description": "The contract address of the ERC20 token to approve for spending (e.g., '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48' for USDC on Ethereum)",
"type": "string"
}
},
"required": [
"tokenAddress",
"spenderAddress",
"amount"
],
"type": "object"
}