# Create a Badge Spec

```json
{
   "schema":"<https://api.otterspace.xyz/schemas/badge/1.0.1.json>",
   "name":"First Badge",
   "description":"Otterspace Badge",
   "properties":{
      "raftTokenId":"90",
      "createdByAddress":"0xeD40624Deb1202e63D0729b6411FfA0Efb333aD9",
    "expiresAt": "2023-07-21T13:57:28.882Z"
   },
   "image":"ipfs://bafybeifqjf35xulfl46uauwbsqbrjgxa4d3iybjvdq7bo6xzdlaq6mpr6u/image"
}
```

Badges are maximally backward compatible with ERC-721 and hence we use NFT metadata to represent the Badge Spec.&#x20;

The example Badge Spec above is hosted on IPFS at

{% embed url="<https://ipfs.io/ipfs/bafyreigrhoupt3dcjuadq7i34cetwla2axfwayyszffoixfrrmr2ttthoe/metadata.json>" %}

Before issuing Badges to Ethereum Accounts, you need to create a Spec like the one above and upload it to IPFS.
