Overview
Since GatePass tickets are ERC721 NFTs, they can be transferred between wallet addresses just like any other NFT. This guide explains the transfer process, restrictions, and security considerations.Ticket transfers may be restricted by event organizers. Always check transfer policies before purchasing.
When to Transfer Tickets
Common scenarios for ticket transfers:- Gift to a Friend - Send tickets you purchased to someone else
- Resale - Sell tickets on secondary marketplaces (if allowed)
- Name Change - Transfer to your other wallet address
- Can’t Attend - Pass tickets to someone who can use them
Transfer Methods
- Direct Transfer (Web3)
- Direct Contract Call
- OpenSea / Marketplaces
Transfer tickets using your Web3 wallet:
Connect Your Wallet
Connect the wallet holding the ticket NFT using MetaMask, WalletConnect, or Coinbase Wallet.
Navigate to Your Tickets
Go to My Tickets in your dashboard and select the ticket you want to transfer.
Confirm Transaction
Approve the transaction in your wallet and pay the gas fee (typically 0.001-0.01 MATIC on Polygon).
Transfer Restrictions
Event organizers can configure transfer restrictions:Allowed Transfers
WhenallowTransfers = true (default):
Transfer Enabled
Restricted Transfers
WhenallowTransfers = false:
Transfer Restricted
Check Transfer Status
Verify if a ticket is transferable:ERC721 Transfer Functions
The EventTicket contract implements standard ERC721 transfer functions:safeTransferFrom (Recommended)
Safe Transfer
transferFrom
Basic Transfer
Transfer Validation
Before transfer, the contract validates:- Ownership - Caller owns the ticket or is approved
- Transfer Policy - Event allows transfers (
allowTransfers = true) - Not Used - Ticket hasn’t been checked in yet
- Valid Recipient - Recipient address is not zero address
Post-Transfer Actions
Update Ticket Holder
After transferring a ticket, update the database record:Update Holder
Notify Recipient
Best practice: notify the recipient via email or message:Notification Example
Gas Costs
Typical gas costs for ticket transfers on Polygon:| Action | Gas Limit | Cost (MATIC) | Cost (USD) |
|---|---|---|---|
| safeTransferFrom | ~75,000 | 0.005 | ~$0.01 |
| Approve | ~50,000 | 0.003 | ~$0.006 |
| setApprovalForAll | ~48,000 | 0.003 | ~$0.006 |
Security Best Practices
Verify Addresses
Always double-check recipient addresses. Use ENS names when possible.
Check Restrictions
Verify
allowTransfers status before attempting transfer to avoid wasting gas.Use Safe Transfer
Prefer
safeTransferFrom over transferFrom to prevent loss of tickets.Beware of Scams
Never approve unknown contracts. Only transfer through trusted interfaces.
Proof of Attendance (POA) Transfers
Unlike tickets, POA NFTs (minted after check-in) are soulbound and cannot be transferred:POA Non-Transferable
Bulk Transfers
Transfer multiple tickets at once:Batch Transfer
Each transfer is a separate transaction with individual gas costs.
Troubleshooting
Transfer transaction fails
Transfer transaction fails
Common reasons:
- Transfers disabled - Event has
allowTransfers = false - Not the owner - You don’t own this ticket
- Ticket used - Already checked in (if configured)
- Insufficient gas - Increase gas limit
- Invalid recipient - Zero address or blocked address
Ticket transferred but not showing in recipient wallet
Ticket transferred but not showing in recipient wallet
The recipient should:
- Add the token contract to their wallet (import custom token)
- Check the contract on blockchain explorer (Polygonscan)
- Refresh their GatePass dashboard
- View on OpenSea or other NFT marketplaces
Want to cancel a transfer
Want to cancel a transfer
NFT transfers are irreversible. To get the ticket back:
- Ask the recipient to transfer it back to you
- They will need to pay the gas fee for the return transfer
Lost access to wallet with ticket
Lost access to wallet with ticket
If you lose access to the wallet holding your ticket:
- You cannot transfer the ticket (irreversible)
- Contact event organizer for manual re-issue (at their discretion)
- Always backup your seed phrase/private keys
Transfer History
Track ticket transfer history on-chain:Get Transfer Events
Next Steps
Check-In Process
Learn about the check-in process at events
Event Creation
Create your own event with custom transfer policies