# Contact Management Guide This guide explains how to create, list, and delete contacts using the Meow API. Contacts are essential for sending USDC transactions securely. ## Prerequisites - A Meow account with contacts management capabilities - An API key with the `contacts:read` and `contacts:write` permissions ## Understanding Cryptocurrency Contacts Cryptocurrency contacts store blockchain addresses that you frequently send USDC to. Each contact includes: - A friendly nickname for easy identification - A cryptocurrency address for a specific blockchain network - A static memo ID used when creating transactions ## Creating Cryptocurrency Contacts ### Step 1: Prepare Contact Information Before creating a contact, gather the following information: - A nickname for the contact - The cryptocurrency address - The blockchain network the address belongs to (Ethereum, Solana, Base) Ensure the cryptocurrency address is valid for the selected blockchain network. ### Step 2: Create the Contact Use the following API call to create a new USDC contact: ```bash curl -X POST "https://api.meow.com/v1/contacts/usdc" \ -H "x-api-key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "nickname": "Lion", "crypto_address": { "address": "0x1234567890abcdef1234567890abcdef12345678", "payment_rail": "ethereum" } }' ``` Replace: - `Lion` with your preferred nickname - The address with the actual cryptocurrency address - `payment_rail` with either `ethereum`, `solana`, or `base` depending on the blockchain network ### Step 3: Review the Response A successful response will include details about the created contact: ```json { "id": "cont_987654321", "nickname": "Lion", "static_memos": { "ethereum": { "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "destination_address": "0x1234567890abcdef1234567890abcdef12345678", "destination_payment_rail": "ethereum" } } } ``` **Important:** Note the `static_memos` object, which contains the `id` you'll need when creating USDC transactions. Each blockchain network the contact supports will have its own entry in the `static_memos` object. ## Listing Cryptocurrency Contacts To view all your existing contacts, use the following API call: ```bash curl -X GET "https://api.meow.com/v1/contacts" \ -H "x-api-key: YOUR_API_KEY" ``` You can optionally filter contacts by nickname using the `nickname_query` parameter: ```bash curl -X GET "https://api.meow.com/v1/contacts?nickname_query=Lion" \ -H "x-api-key: YOUR_API_KEY" ``` Example response: ```json { "data": [ { "id": "cont_987654321", "nickname": "Lion", "static_memos": { "ethereum": { "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "destination_address": "0x1234567890abcdef1234567890abcdef12345678", "destination_payment_rail": "ethereum" } } }, { "id": "cont_123456789", "nickname": "Lion 2", "static_memos": { "solana": { "id": "7bc85f64-5717-4562-b3fc-2c963f66abc8", "destination_address": "8xDc123456789abcdef123456789abcdef123456789abcdef", "destination_payment_rail": "solana" } } } ] } ``` ## Deleting Cryptocurrency Contacts If you no longer need a contact, you can delete it using the following API call: ```bash curl -X DELETE "https://api.meow.com/v1/contacts/{contact_id}" \ -H "x-api-key: YOUR_API_KEY" ``` Replace `{contact_id}` with the ID of the contact you want to delete. A successful deletion will return a `204 No Content` status code with no response body. ## Best Practices for Contact Management 1. **Verify Addresses Carefully**: Always double-check cryptocurrency addresses before creating contacts. Blockchain transactions cannot be reversed if sent to the wrong address. 2. **Use Descriptive Nicknames**: Choose clear, descriptive nicknames that help you identify the purpose or owner of each contact. 3. **Test with Small Amounts**: Before sending large transactions to a new contact, verify the address works correctly by sending a small test amount. 4. **Audit Regularly**: Periodically review your contacts list to remove any that are no longer needed or have outdated information. 5. **Document Static Memo IDs**: Keep a secure record of contact IDs and their corresponding static memo IDs for ease of creating transactions. ## Understanding the Contact Response When creating or listing contacts, the API response contains several important fields: | Field | Description | | --- | --- | | `id` | Unique identifier for the contact | | `nickname` | User-friendly name you assigned to the contact | | `static_memos` | Contains blockchain-specific information | | `static_memos.[network].id` | The static memo ID used when creating transactions | | `static_memos.[network].destination_address` | The cryptocurrency address for this network | | `static_memos.[network].destination_payment_rail` | The blockchain network identifier | The `static_memos` object may contain multiple entries if the contact has addresses on different blockchain networks. ## Support If you need help or have questions: - Email: support@meow.com - Support Portal: https://support.meow.com - API Status: https://status.meow.com