baseTokenURI Help

I was able to deploy a contract using this sample of an experimental POC of EIP2309. I modified the contract to include the following baseTokenURI, and contractURI. The rest of the code is the same on github

pragma solidity >=0.6.2 <0.8.0;

import "./ERC2309.sol";

contract BatchedNiceToken is ERC2309 {
    constructor () ERC2309("Goose", "goo") public {
        _init(msg.sender, 20);
    function baseTokenURI() public pure returns (string memory) {
        return "";

    function contractURI() public pure returns (string memory) {
        return "";

When viewing the NFT’s on opensea, the images are not coming up, or other metadata.

I’m a bit over my head, here. Was there a mistake on the above functions, or is this possibly due to the implementation of EIP2309?

Thanks for any help!


Hi @0xn00b,

Welcome to the community :wave:

OpenSea doesn’t validate your metadata.

You may want to check with OpenSea what the issue is here. I am not sure if they support ERC2309.

As an aside, you are currently using a gateway, which makes your metadata centralized. OpenSea supports using ipfs://[HASH]


Thanks @abcoathup You kept coming up in all my google searches so I decided to post. I’ll spend some time on that side. Appreciate the reply


Have you found the solution? Does OpenSea support ERC2390?