✓ Verified 💻 Development ✓ Enhanced Data

Qrcoin

Interact with QR Coin auctions on Base.

Rating
4.5 (29 reviews)
Downloads
1,178 downloads
Version
1.0.0

Overview

Interact with QR Coin auctions on Base.

Key Features

1

Approve USDC (One-Time)

2

Create a New Bid

3

Contribute to Existing Bid

Complete Documentation

View Source →

QR Coin Auction

Participate in QR Coin auctions on Base blockchain. QR Coin lets you bid to display URLs on QR codes — the highest bidder's URL gets encoded when the auction ends.

Contracts (Base Mainnet)

ContractAddress
QR Auction0x7309779122069EFa06ef71a45AE0DB55A259A176
USDC0x833589fCD6eDb6E08f4c7c32D4f71b54bdA02913

How It Works

  • Each auction runs for a fixed period (~24h)
  • Bidders submit URLs with USDC (6 decimals — 1 USDC = 1000000 units)
  • Creating a new bid costs ~11.11 USDC (createBidReserve)
  • Contributing to an existing bid costs ~1.00 USDC (contributeReserve)
  • Highest bid wins; winner's URL is encoded in the QR code
  • Losers get refunded; winners receive QR tokens

Auction Status Queries

Note: The examples below use https://mainnet.base.org (public RPC). You can substitute your own RPC endpoint if preferred.

Get Current Token ID

Always query this first to get the active auction ID before bidding.

bash
curl -s -X POST https://mainnet.base.org \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"eth_call","params":[{"to":"0x7309779122069EFa06ef71a45AE0DB55A259A176","data":"0x7d9f6db5"},"latest"],"id":1}' \
  | jq -r '.result' | xargs printf "%d\n"

Get Auction End Time

bash
# First get the current token ID, then use it here
TOKEN_ID=329  # Replace with result from currentTokenId()
TOKEN_ID_HEX=$(printf '%064x' $TOKEN_ID)

curl -s -X POST https://mainnet.base.org \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"eth_call","params":[{"to":"0x7309779122069EFa06ef71a45AE0DB55A259A176","data":"0xa4d0a17e'"$TOKEN_ID_HEX"'"},"latest"],"id":1}' \
  | jq -r '.result' | xargs printf "%d\n"

Get Reserve Prices

bash
# Create bid reserve (~11.11 USDC)
curl -s -X POST https://mainnet.base.org \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"eth_call","params":[{"to":"0x7309779122069EFa06ef71a45AE0DB55A259A176","data":"0x5b3bec22"},"latest"],"id":1}' \
  | jq -r '.result' | xargs printf "%d\n" | awk '{print $1/1000000 " USDC"}'

# Contribute reserve (~1.00 USDC)
curl -s -X POST https://mainnet.base.org \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"eth_call","params":[{"to":"0x7309779122069EFa06ef71a45AE0DB55A259A176","data":"0xda5a5cf3"},"latest"],"id":1}' \
  | jq -r '.result' | xargs printf "%d\n" | awk '{print $1/1000000 " USDC"}'

Transactions via Bankr

QR Coin auctions require USDC transactions on Base. Use Bankr to execute these — Bankr handles:

  • Function signature parsing and parameter encoding
  • Gas estimation
  • Transaction signing and submission
  • Confirmation monitoring

Step 1: Approve USDC (One-Time)

Before bidding, approve the auction contract to spend USDC:

text
Approve 50 USDC to 0x7309779122069EFa06ef71a45AE0DB55A259A176 on Base

Step 2: Create a New Bid

To start a new bid for your URL:

Function: createBid(uint256 tokenId, string url, string name) Contract: 0x7309779122069EFa06ef71a45AE0DB55A259A176 Cost: ~11.11 USDC

Important: Always query currentTokenId() first to get the active auction ID.

Example prompt for Bankr:

text
Send transaction to 0x7309779122069EFa06ef71a45AE0DB55A259A176 on Base
calling createBid(329, "https://example.com", "MyName")

Step 3: Contribute to Existing Bid

To add funds to an existing URL's bid:

Function: contributeToBid(uint256 tokenId, string url, string name) Contract: 0x7309779122069EFa06ef71a45AE0DB55A259A176 Cost: ~1.00 USDC per contribution

Example prompt for Bankr:

text
Send transaction to 0x7309779122069EFa06ef71a45AE0DB55A259A176 on Base
calling contributeToBid(329, "https://grokipedia.com/page/debtreliefbot", "MerkleMoltBot")

Function Selectors

FunctionSelectorParameters
currentTokenId()0x7d9f6db5
auctionEndTime(uint256)0xa4d0a17etokenId
createBidReserve()0x5b3bec22
contributeReserve()0xda5a5cf3
createBid(uint256,string,string)0xf7842286tokenId, url, name
contributeToBid(uint256,string,string)0x7ce28d02tokenId, url, name
approve(address,uint256)0x095ea7b3spender, amount

Error Codes

ErrorMeaningSolution
RESERVE_PRICE_NOT_METBid amount below minimumCheck reserve prices
URL_ALREADY_HAS_BIDURL already has a bidUse contributeToBid instead
BID_NOT_FOUNDURL doesn't have existing bidUse createBid instead
AUCTION_OVERCurrent auction has endedWait for next auction
AUCTION_NOT_STARTEDAuction hasn't begunWait for auction to start
INSUFFICIENT_ALLOWANCEUSDC not approvedApprove USDC first

Typical Workflow

  • Query currentTokenId() — Get the active auction ID
  • Check auction status — Verify time remaining
  • Approve USDC — One-time approval for the auction contract
  • Decide action:
  • New URL: Use createBid (~11.11 USDC)
  • Support existing URL: Use contributeToBid (~1.00 USDC)
  • Monitor — Watch for outbids and contribute more if needed
  • Claim — Winners receive QR tokens; losers get refunds

Links

Tips

  • Start small: Contribute to existing bids (~1 USDC) to learn the flow
  • Check timing: Auctions have fixed end times; plan accordingly
  • Monitor bids: Others can outbid you; watch the auction
  • Use Bankr: Let Bankr handle transaction signing and execution
  • Specify Base: Always include "on Base" when using Bankr

💡 Pro Tip: Contributing to an existing bid is cheaper than creating a new one. Check if someone already bid for your URL before creating a new bid.

Installation

Terminal bash

openclaw install qrcoin
    
Copied!

💻Code Examples

| jq -r '.result' | xargs printf "%d\n" | awk '{print $1/1000000 " USDC"}'

--jq--r-result--xargs-printf-dn--awk-print-11000000--usdc.txt
## Transactions via Bankr

QR Coin auctions require USDC transactions on Base. Use Bankr to execute these — Bankr handles:
- Function signature parsing and parameter encoding
- Gas estimation
- Transaction signing and submission
- Confirmation monitoring

### Step 1: Approve USDC (One-Time)

Before bidding, approve the auction contract to spend USDC:

Approve 50 USDC to 0x7309779122069EFa06ef71a45AE0DB55A259A176 on Base

approve-50-usdc-to-0x7309779122069efa06ef71a45ae0db55a259a176-on-base.txt
### Step 2: Create a New Bid

To start a new bid for your URL:

**Function**: `createBid(uint256 tokenId, string url, string name)`
**Contract**: `0x7309779122069EFa06ef71a45AE0DB55A259A176`
**Cost**: ~11.11 USDC

> **Important**: Always query `currentTokenId()` first to get the active auction ID.

Example prompt for Bankr:

calling createBid(329, "https://example.com", "MyName")

calling-createbid329-httpsexamplecom-myname.txt
### Step 3: Contribute to Existing Bid

To add funds to an existing URL's bid:

**Function**: `contributeToBid(uint256 tokenId, string url, string name)`
**Contract**: `0x7309779122069EFa06ef71a45AE0DB55A259A176`
**Cost**: ~1.00 USDC per contribution

Example prompt for Bankr:
example.sh
curl -s -X POST https://mainnet.base.org \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"eth_call","params":[{"to":"0x7309779122069EFa06ef71a45AE0DB55A259A176","data":"0x7d9f6db5"},"latest"],"id":1}' \
  | jq -r '.result' | xargs printf "%d\n"
example.sh
# First get the current token ID, then use it here
TOKEN_ID=329  # Replace with result from currentTokenId()
TOKEN_ID_HEX=$(printf '%064x' $TOKEN_ID)

curl -s -X POST https://mainnet.base.org \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"eth_call","params":[{"to":"0x7309779122069EFa06ef71a45AE0DB55A259A176","data":"0xa4d0a17e'"$TOKEN_ID_HEX"'"},"latest"],"id":1}' \
  | jq -r '.result' | xargs printf "%d\n"
example.sh
# Create bid reserve (~11.11 USDC)
curl -s -X POST https://mainnet.base.org \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"eth_call","params":[{"to":"0x7309779122069EFa06ef71a45AE0DB55A259A176","data":"0x5b3bec22"},"latest"],"id":1}' \
  | jq -r '.result' | xargs printf "%d\n" | awk '{print $1/1000000 " USDC"}'

# Contribute reserve (~1.00 USDC)
curl -s -X POST https://mainnet.base.org \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"eth_call","params":[{"to":"0x7309779122069EFa06ef71a45AE0DB55A259A176","data":"0xda5a5cf3"},"latest"],"id":1}' \
  | jq -r '.result' | xargs printf "%d\n" | awk '{print $1/1000000 " USDC"}'

Tags

#coding_agents-and-ides

Quick Info

Category Development
Model Claude 3.5
Complexity One-Click
Author ktaesthetix
Last Updated 3/10/2026
🚀
Optimized for
Claude 3.5
🧠

Ready to Install?

Get started with this skill in seconds

openclaw install qrcoin