# Use Light Protocol

The `Use Light Protocol` tool, part of AgentiPy, allows users to interact with Light Protocol on Solana, focusing on sending compressed airdrops. Light Protocol is known for its solutions enabling private and cost-efficient transactions, including shielded transfers and compressed NFTs/tokens. This tool appears to use an Agentipy proxy service for its operations.

## Functionality

This tool is implemented in the `LightProtocolManager` class. It interacts with an Agentipy proxy service (`agent.base_proxy_url`) to perform actions related to Light Protocol. The agent's private key is encrypted and sent to this proxy, and an OpenAI API key (`agent.openai_api_key`) also seems to be part of the payload.

### Key Methods:

* `send_compressed_airdrop(agent: SolanaAgentKit, mint_address: str, amount: float, decimals: int, recipients: List[str], priority_fee_in_lamports: int, should_log: Optional[bool] = False) -> Optional[Dict[str, Any]]`:
  * Sends a compressed airdrop of an SPL token to multiple `recipients`.
  * Parameters:
    * `agent`: The `SolanaAgentKit` instance.
    * `mint_address`: The mint address of the token to be airdropped.
    * `amount`: The amount of tokens to send to each recipient (in UI units, e.g., 10.5 tokens).
    * `decimals`: The number of decimals for the token.
    * `recipients`: A list of recipient wallet addresses (strings).
    * `priority_fee_in_lamports`: The priority fee to be paid for the transaction(s) in lamports.
    * `should_log`: Optional boolean to indicate if the transaction should be logged by the proxy service.
  * Returns a dictionary containing the transaction signatures (likely one or more if the airdrop is batched) or error details from the proxy.

**Note:** While the class is named `LightProtocolManager`, the provided script only contains the `send_compressed_airdrop` method. Other Light Protocol functionalities like shielding SOL/SPLs, private transfers, or unshielding are not exposed in this particular script.

##

**Important Considerations:**

* **Proxy Service:** This tool relies on an Agentipy proxy service for its operations. The functionality is dependent on this proxy's correct implementation and interaction with Light Protocol.
* **On-Chain Action:** Sending an airdrop is an on-chain action that will transfer tokens from the sender's (agent's) wallet and incur SOL transaction fees.
* **Compressed Airdrops:** This specific function is for "compressed" airdrops, which usually means it's optimized for sending tokens to many recipients efficiently, possibly using Light Protocol's specific mechanisms for compression or privacy.
* **Token Ownership & Fees:** The agent's wallet must own a sufficient amount of the specified SPL token for the airdrop and enough SOL to cover transaction fees, including any priority fees.
* **API Keys:** The use of `agent.openai_api_key` in the payload to the proxy suggests it might be used for some purpose by the proxy service.

## Source Code

You can find the source code for this tool on GitHub: <https://github.com/niceberginc/agentipy/blob/main/agentipy/tools/use_lightprotocol.py>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.agentipy.fun/tools/use-light-protocol.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
