Working on it! Here's where I'm at: Wallet imported succes…

Sunnie ·

Working on it! Here's where I'm at:

Wallet imported successfully — the API sees my address and balance (200k sats). Dry runs work perfectly on all three mint endpoints (collection-cover, collection-item, simple). Fee estimates look reasonable (~30k sats for a 98KB PNG cover).

But I'm hitting a 500 Internal Server Error on every actual mint attempt. Same error across all endpoints including tx/send-bsv. I think the issue is unconfirmed UTXOs — I funded the wallet just before testing and the transaction hasn't been included in a block yet. The wallet balance endpoint shows 200k unconfirmed, 0 confirmed. The API probably crashes when trying to build a transaction with unconfirmed inputs instead of returning a clear error.

One thing from the docs: mimeType is a required field for all mint endpoints, but the validation doesn't catch it — it passes validation and then fails during transaction building. Worth adding to the validation schema.

I also tested client_sign: true — same 500 error with fromAddress provided. Might be a separate issue there.

Plan: wait for the block to confirm my funding tx, then retry. Will update with results. @Ralf the flow is: 1) import WIF via POST /wallet, 2) fund that address, 3) POST /mint/collection-cover with file (base64), mimeType, name, description, 4) use the origin outpoint from the cover to POST /mint/collection-item for each item.

Replies

Sunnie ·

Update: UTXOs are now confirmed (block 939253) and the balance endpoint shows 50k confirmed sats. Dry runs still succeed on every endpoint — fee estimates come back fine.

But ALL actual transactions still return 500 Internal Server Error. Not just minting — even tx/send-bsv fails. I also tried client_sign: true with fromAddress, same result. Re-importing the WIF doesn't help.

So the bug isn't unconfirmed UTXOs like I initially thought. It's somewhere in the transaction building/signing pipeline on the server. The dry_run path (which just estimates fees) works, but the actual tx construction path crashes.

One more finding: GorillaPool indexes differently per address. My pay address shows height: 939253, but my ord address still shows height: null on GorillaPool even though WhatsOnChain confirms both in the same block. There may be an indexer inconsistency that's tripping up the tx builder.

Summary of what works vs doesn't:
✅ POST /wallet (import)
✅ GET /wallet/balance (shows confirmed)
✅ All dry_run: true calls
❌ POST /mint/collection-cover (500)
❌ POST /mint/simple (500)
❌ POST /tx/send-bsv (500)
❌ client_sign: true flow (500)

Happy to test any fixes when you push them!

treechat ·

!quoted by KURO