{"id":31817661,"url":"https://github.com/crossmint/n8n-nodes-crossmint","last_synced_at":"2026-02-26T21:03:56.297Z","repository":{"id":311244117,"uuid":"1042976483","full_name":"Crossmint/n8n-nodes-crossmint","owner":"Crossmint","description":"n8n community node for Crossmint, offering nodes for programmable wallets (that store and move money), checkout (make purchases on amazon, shopify and more)","archived":false,"fork":false,"pushed_at":"2026-01-30T20:25:07.000Z","size":2742,"stargazers_count":8,"open_issues_count":11,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-31T12:29:24.971Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://www.crossmint.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Crossmint.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-08-22T22:42:21.000Z","updated_at":"2026-01-06T11:04:37.000Z","dependencies_parsed_at":"2025-08-23T02:54:05.938Z","dependency_job_id":"cb15074a-1b35-4d46-8f03-4d9b2b2ceafa","html_url":"https://github.com/Crossmint/n8n-nodes-crossmint","commit_stats":null,"previous_names":["crossmint/n8n-nodes-crossmint"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/Crossmint/n8n-nodes-crossmint","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Crossmint%2Fn8n-nodes-crossmint","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Crossmint%2Fn8n-nodes-crossmint/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Crossmint%2Fn8n-nodes-crossmint/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Crossmint%2Fn8n-nodes-crossmint/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Crossmint","download_url":"https://codeload.github.com/Crossmint/n8n-nodes-crossmint/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Crossmint%2Fn8n-nodes-crossmint/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29872674,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-26T21:01:59.805Z","status":"ssl_error","status_checked_at":"2026-02-26T21:00:42.555Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-10-11T10:23:05.409Z","updated_at":"2026-02-26T21:03:56.065Z","avatar_url":"https://github.com/Crossmint.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# n8n Community Node for Crossmint\n\n## Table of Contents\n\n- [Installation](#-installation-local-development-setup)\n- [Your First Workflow Using Crossmint](#️-your-first-workflow-using-crossmint)\n  - [Step 1: Add the Crossmint Node to Your Workflow](#step-1-add-the-crossmint-node-to-your-workflow)\n  - [Step 2: Set Up Crossmint Project \u0026 Credentials](#step-2-set-up-crossmint-project--credentials)\n  - [Getting Test USDC for Staging](#getting-test-usdc-for-staging)\n- [Supported Operations](#-supported-operations)\n  - [Resource: Wallet](#resource-wallet)\n  - [Resource: Checkout](#resource-checkout)\n- [API Reference](#-api-reference)\n  - [Wallet Operations](#wallet-operations)\n  - [Checkout Operations](#checkout-operations)\n  - [Additional Resources](#additional-resources)\n- [Understanding Wallet Locators](#-understanding-wallet-locators)\n  - [Locator Types](#locator-types)\n  - [Chain Types](#chain-types)\n  - [Best Practices](#best-practices)\n- [Admin Signer Private Key](#-admin-signer-private-key)\n- [Example Workflows](#-example-workflows)\n- [License](#-license)\n\nThis community node for n8n provides a complete integration with Crossmint's **Wallet** and **Checkout** APIs. It allows users and AI agents to program digital money inside wallets, and automate the purchase of physical products all within your n8n workflows.\n\n### 🏗️ Recent Updates\n- **Modular Architecture**: Refactored codebase into organized modules for better maintainability\n- **Enhanced Error Handling**: Improved error reporting with proper API error propagation\n- **Development Workflow**: Added `npm run dev` for automatic rebuilds during development\n- **Code Quality**: Fixed all linting issues and added comprehensive type safety\n\n## 🚀 Installation (Local Development Setup)\n\n\nFor now you have to run the Crossmint node from source:\n\n1.  **Clone the repository:** (anywhere in your disk - doesn't need to be inside the n8n folder)\n    ```bash\n    git clone https://github.com/Crossmint/n8n-nodes-crossmint.git\n    cd n8n-nodes-crossmint\n    ```\n2.  **Install dependencies and build:**\n    ```bash\n    npm install\n    npm run build\n    ```\n\n    **Development Commands:**\n    ```bash\n    sudo npm run dev          # Run in development mode with auto-reload\n    ```\n\n\n\u003e **📝 Note**: You must use the self-hosted version of n8n to run Crossmint nodes. Follow [this guide](https://docs.n8n.io/integrations/creating-nodes/build/n8n-node/) to set it up.\n\n\n## ⚙️ Your First Workflow Using Crossmint\n\nOnce you've installed the community node, here's how to add and configure your first Crossmint node:\n\n### Step 1: Add the Crossmint Node to Your Workflow\n\n1. In your n8n workflow editor, click the **\"+\"** button to add a new node\n2. Search for **\"Crossmint\"** in the node library\n3. Select the **Crossmint** node from the results\n\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"./images/crossmint-search.png\" alt=\"Crossmint node search\" width=\"50%\"\u003e\n\u003c/div\u003e\n\n\n4. For this example, we'll use **\"Get or Create Wallet\"** operation:\n\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"./images/crossmint-config.png\" alt=\"Crossmint node configuration\" width=\"50%\"\u003e\n\u003c/div\u003e\n\n\n### Step 2: Set Up Crossmint Project \u0026 Credentials\n\n5. First, create a Crossmint project in Staging:\n   - Go to [Crossmint Staging Console](https://staging.crossmint.com/console/overview)\n   - Create a new project or select an existing one\n   - Copy your **server-side API key** from the project settings\n\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"./images/crossmint-staging-console.png\" alt=\"Crossmint staging console\" width=\"75%\"\u003e\n\u003c/div\u003e\n\n\n6. Back in n8n, in your Crossmint node, click on **\"Credential to connect with\"** dropdown\n7. Select **\"Create New\"** to add your Crossmint credentials (this will be available for all future Crossmint nodes)\n\n8. In the credential configuration:\n   - Enter your Crossmint **API Key** (must be a **server-side** API key)\n   - Set **Environment** to **\"Staging\"** for testing\n   - Click **\"Save\"**\n\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"./images/credential-form.png\" alt=\"Crossmint API credential form\" width=\"75%\"\u003e\n\u003c/div\u003e\n\n\n9. Complete the wallet configuration (e.g., set Owner Type to \"Email\" and enter an email address)\n\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"./images/completed-config.png\" alt=\"Completed node configuration\" width=\"50%\"\u003e\n\u003c/div\u003e\n\n\n\u003e **⚠️ Important**: Always use **server-side API keys** from Crossmint. Client-side keys will not work. For initial testing, always use **Staging** environment.\n\n### Getting Test USDC for Staging\n\nTo test transactions in staging, you'll need test USDC tokens. You can get them from:\n\n- **Circle Faucet**: [https://faucet.circle.com/](https://faucet.circle.com/) - Get free testnet USDC\n- **Crossmint Telegram**: [https://t.me/crossmintdevs](https://t.me/crossmintdevs) - Request USDC from Crossmint\n\n## 💡 Supported Operations\n\nThe node is organized into two primary resources: **Wallet** and **Checkout**.\n\n### Resource: Wallet\nOperations for managing blockchain wallets which can hold and transfer money (in cryptocurrencies like USDC).\n\n* **Get or Create Wallet**: Creates a non-custodial smart wallet or retrieves an existing one. You maintain full control via a private key that authorizes all transactions. This operation is idempotent.\n  - `Chain Type` - Blockchain type (solana)\n  - `Owner Type` - Optional owner identifier type (email, userId, phone, twitter, x, none)\n  - `Owner Details` - Specific owner information based on selected type\n  - `Admin Signer` - Private key that authorizes all transactions from this wallet ([see Admin Signer Private Key](#🔐-admin-signer-private-key))\n\n* **Get Wallet**: Retrieves wallet details using its wallet locator (address, email, user ID, etc.).\n  - `Wallet` - Wallet identifier (address, email, userId, phone, twitter, x)\n  - `Chain Type` - Required for non-address locators (solana)\n\n* **Create Transfer**: Sends tokens (like USDC) between wallets. Requires the wallet's private key to digitally sign and authorize the transfer.\n  - `Blockchain Type` - Network type for both wallets (solana)\n  - `Origin Wallet` - Source wallet for the transfer\n  - `Recipient Wallet` - Destination wallet for the transfer\n  - `Token Chain` - Specific blockchain network (e.g., solana, solana-devnet)\n  - `Token Name` - Token symbol or identifier (e.g., usdc)\n  - `Amount` - Token amount to transfer\n\n* **Get Balance**: Checks token balances for a wallet across one or more blockchain networks.\n  - `Wallet` - Wallet locator to check balance for (address, email, userId, phone, twitter, x)\n  - `Chain Type` - Required for non-address locators (solana)\n  - `Chains` - Blockchain network to query (e.g., solana, solana-devnet)\n  - `Tokens` - Comma-separated list of token symbols to query\n\n* **Sign Transaction**: Signs a transaction with a private key and submits the signature to complete pending transactions.\n  - `Chain` - Blockchain network for transaction signing\n  - `Wallet Address` - Wallet address from Create Transfer response\n  - `Transaction ID` - Transaction ID that needs approval\n  - `Transaction Data` - Hash or message to sign from transfer response\n  - `Signer Address` - Address of the external signer\n  - `Signer Private Key` - Private key to sign the transaction\n  - `Wait for Completion` - Poll until transaction reaches final status\n\n### Resource: Checkout\nOperations to automate the purchase of products using digital money (e.g. tokens like USDC). This is a two-step process.\n\n* **Create Order**: Creates a purchase order for a product from Amazon or Shopify.\n  - `Platform` - E-commerce platform (amazon or shopify)\n  - `Product Identifier` - Product URL or ASIN/ID from platform (e.g., Amazon URL or ASIN like B01DFSADS2)\n  - `Recipient Email` - Email address for order confirmation\n  - `Recipient Name` - Full name for shipping address\n  - `Address Line 1` - Primary shipping address\n  - `Address Line 2` - Secondary address (optional)\n  - `City` - Shipping city\n  - `State` - Shipping state/province (optional)\n  - `Postal Code` - ZIP/postal code\n  - `Country` - Shipping country (Amazon: US only, Shopify: varies by store)\n  - `Environment` - Environment to use for payment methods (Staging/Testnet or Production/Mainnet)\n  - `Payment Method` - Blockchain network for payment\n  - `Payment Currency` - Currency for payment (e.g., usdc)\n  - `Payer Address` - Wallet address that will pay for the order\n\n* **Pay Order**: Executes the payment for a previously created order using the serialized transaction from Create Order.\n  - `Serialized Transaction` - Transaction data from Create Order response\n  - `Payment Chain` - Blockchain network for payment\n  - `Payer Wallet Address` - Wallet address making the payment\n  - `Private Key` - Private key to authorize the payment\n\n\n## 📖 API Reference\n\nFor detailed information about each operation, parameters, and response formats, refer to the official Crossmint API documentation:\n\n### Wallet Operations\n- **Get or Create Wallet**: [Crossmint Wallets API](https://docs.crossmint.com/api-reference/wallets/create-wallet)\n- **Get Wallet**: [Crossmint Wallets API - Get Wallet](https://docs.crossmint.com/api-reference/wallets/get-wallet-by-locator)\n- **Create Transfer**: [Crossmint Wallets API - Transfer Tokens](https://docs.crossmint.com/api-reference/wallets/transfer-token)\n- **Get Balance**: [Crossmint Wallets API - Get Balance](https://docs.crossmint.com/api-reference/wallets/get-wallet-balance)\n- **Sign Transaction**: [Crossmint Wallets API - Submit Approvals](https://docs.crossmint.com/api-reference/wallets/submit-transaction-approvals)\n\n### Checkout Operations\n- **Create Order**: [Crossmint Checkout API - Create Order](https://docs.crossmint.com/api-reference/headless/create-order)\n- **Pay Order**: [Crossmint Checkout API - Submit Transaction](https://docs.crossmint.com/api-reference/wallets/create-transaction)\n\n\n### Additional Resources\n- [Supported Chains and Tokens](https://docs.crossmint.com/introduction/supported-chains#supported-chains)\n\n## 🔑 Understanding Wallet Locators\n\nWallet locators are a key concept used throughout all Crossmint node operations. They provide a flexible way to identify and reference wallets using different types of identifiers.\n\n### Locator Types\n\n| Type | Format | Example | Use Case |\n|------|--------|---------|----------|\n| **Wallet Address** | `1A1z...` | `1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa` | Direct blockchain address reference |\n| **Email** | `email:{email}:{chainType}:smart` | `email:user@example.com:solana:smart` | User identification by email |\n| **User ID** | `userId:{id}:{chainType}:smart` | `userId:user-123:solana:smart` | Custom user identifier |\n| **Phone Number** | `phoneNumber:{phone}:{chainType}:smart` | `phoneNumber:+1234567890:solana:smart` | SMS-based identification |\n| **Twitter Handle** | `twitter:{handle}:{chainType}:smart` | `twitter:username:solana:smart` | Social media identification |\n| **X Handle** | `x:{handle}:{chainType}:smart` | `x:username:solana:smart` | X (formerly Twitter) identification |\n\n\nFor more detailed information about wallet locator formats and specifications, see: [Crossmint Wallet Locators Documentation](https://docs.crossmint.com/api-reference/wallets/get-wallet-by-locator)\n\n### Chain Types\n\n- **Solana**: Solana blockchain\n\n### Best Practices\n\n1. **Email locators** are ideal for user-friendly identification\n2. **Wallet addresses** provide direct blockchain access\n3. **User ID locators** work well with existing user management systems\n4. Always specify the correct chain type for non-address locators\n\n## 🔐 Admin Signer Private Key\n\nThe **Admin Signer Private Key** is a critical security component that gives you full control over your Crossmint wallet. Understanding how it works is essential for secure wallet management.\n\n### What is an Admin Signer?\n\nThe Admin Signer is the private key that acts as the \"master key\" for your smart wallet. It's used to:\n- **Authorize all transactions** from the wallet\n- **Sign transfer approvals** when moving tokens\n- **Control wallet permissions** and operations\n\n### Key Requirements by Blockchain\n\n**For Solana:**\n- Format: Base58 encoded string\n- Example: `5Kb8kLf9CJtPkDCe4jfE9TjC8d7X9e3Jh4F6h8F2K3h7J9F4K6h8F2K3h7J9F4K6h`\n- Typically 64 bytes when decoded\n\n### Generating Private Keys\n\nYou can generate secure private keys using:\n- **Crossmint Generator**: [https://www.val.town/x/Crossmint/crypto-address-generator](https://www.val.town/x/Crossmint/crypto-address-generator)\n- **Phantom Wallet**: Export private key from an existing Solana wallet\n- **Solana CLI**: Generate Solana keypairs\n- **Hardware wallets**: Export or derive keys securely\n\n### Security Best Practices\n\n⚠️ **Critical Security Guidelines:**\n\n1. **Never share** your private key with anyone\n2. **Store securely** - use environment variables or secure vaults\n3. **Use different keys** for staging vs production\n4. **Backup safely** - store in multiple secure locations\n5. **Test first** - always test with small amounts on testnet\n6. **Rotate regularly** - consider changing keys periodically\n\n### How It Works in Crossmint\n\n1. **Wallet Creation**: Your private key becomes the admin signer for the smart wallet\n2. **Transaction Flow**:\n   - Create transaction → Crossmint generates approval request\n   - Sign with private key → Submit signature to complete transaction\n3. **Non-Custodial**: You control the key, you control the wallet\n\n## 📁 Example Workflows\n\nReady-to-use workflow examples are available in the `workflows-examples/` folder:\n\n- [buy-celsius.json](workflows-examples/buy-celsius.json): Complete flow demonstrating wallet operations (get wallet, check balance) followed by checkout (create order and pay order).\n\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"./images/buy-celsius.png\" alt=\"Buy Celsius workflow\" width=\"100%\"\u003e\n\u003c/div\u003e\n\n- [buy-items-amazon.json](workflows-examples/buy-items-amazon.json): Advanced workflow with AI-powered order processing that accepts free-form messages via Chat (can be Telegram), extracts order details using OpenAI, and automatically purchases Amazon products.\n\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"./images/buy-items-from-amazon.png\" alt=\"Buy items from Amazon workflow\" width=\"100%\"\u003e\n\u003c/div\u003e\n\nTo use these examples:\n1. Import the JSON file into your n8n instance\n2. Configure your Crossmint API credentials\n3. Update any personal information (email addresses, wallet addresses, etc.)\n4. Execute the workflow\n\n## 📄 License\n\nMIT\n\n-----\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrossmint%2Fn8n-nodes-crossmint","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcrossmint%2Fn8n-nodes-crossmint","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrossmint%2Fn8n-nodes-crossmint/lists"}