Two Ways to Use Oumla: This guide uses the TypeScript SDK. You can also accomplish the same tasks using direct REST API calls - see the API Reference for endpoint details.
Overview
The tokenization workflow involves several steps:- Create Collection - Deploy an NFT collection contract (ERC-721 or ERC-1155)
- Check Status - Monitor the async deployment workflow
- Mint Tokens - Mint NFTs to specific addresses
- View Tokens - Query tokens in your collection
- Burn Tokens - Remove tokens from circulation (optional)
Prerequisites
Before starting, ensure you have:- An initialized SDK client
- A profile created
- An address generated (for contract deployment)
- Your client share (for signing operations)
Step 1: Create a Collection
Creating a collection deploys a new NFT contract. This is an async operation that returns a workflow ID.ERC-1155 Collection Example
ERC-1155 Collection Example
Collection Types
- NON_FUNGIBLE_TOKEN (ERC-721): Non-fungible tokens (NFTs) - each token is unique
- SEMI_FUNGIBLE_TOKEN (ERC-1155): Multi-token standard - supports both fungible and non-fungible tokens
Use
NON_FUNGIBLE_TOKEN for ERC-721 collections and SEMI_FUNGIBLE_TOKEN for ERC-1155 collections. These are the actual API values, not ERC721 or ERC1155.Step 2: Check Workflow Status
Collection creation is async. Check the workflow status to know when deployment completes:Workflow Status Values
- RUNNING: Operation in progress
- COMPLETED: Operation successful
- FAILED: Operation failed (check error details)
- CANCELLED: Operation was cancelled
Step 3: Get Collection Details
Once deployment completes, retrieve collection details:Step 4: Mint Tokens
Mint tokens to specific addresses. For ERC-721, mint unique tokens. For ERC-1155, specify token ID and amount.Minting ERC-721 Tokens
Minting ERC-1155 Tokens
Step 5: Check Mint Status
Minting is also async. Check the workflow status:Step 6: View Collection Tokens
List all tokens in your collection:Step 7: Get Token Details
Get details for a specific token:Step 8: Burn Tokens (Optional)
Burn tokens to remove them from circulation:Complete Example
Here’s a complete example that ties everything together:Workflow Status Values
When checking workflow status, you’ll receive one of these values:- RUNNING: Operation is in progress
- COMPLETED: Operation completed successfully
- FAILED: Operation failed (check
errorfield for details) - CANCELLED: Operation was cancelled
Common Issues
Collection Deployment Fails
Causes:- Insufficient gas balance
- Invalid constructor parameters
- Network connectivity issues
- Ensure address has sufficient ETH for gas
- Verify constructor parameters match contract requirements
- Check network status and retry
Minting Fails
Causes:- Invalid token ID (not sequential for ERC-721)
- Collection not deployed yet
- Insufficient gas balance
- Ensure token IDs are sequential starting from 0
- Wait for collection deployment to complete
- Verify sufficient gas balance
Workflow Status Stuck
Causes:- Network congestion
- Transaction pending in mempool
- Wait longer (some operations take time)
- Check blockchain explorer for transaction status
- Contact support if stuck for extended period
Best Practices
- Always check workflow status before proceeding to next steps
- Handle errors gracefully - workflows can fail
- Use sequential token IDs for ERC-721 collections
- Store workflow IDs for tracking and debugging
- Implement retry logic for transient failures
- Monitor gas prices for cost optimization
- Validate addresses before minting tokens
Next Steps
- Learn about Contract Deployment Workflow
- Explore Withdrawal Workflow
- Review Error Reference for troubleshooting