# 1Sat Ordinals (Beta)

1SatOrdinals in an implementation of Ordinals running on the BSV blockchain. More information [here](https://docs.1satordinals.com/).

{% hint style="info" %}
At this moment only NFT tokens are supported. BSV-20 fungible tokens are not yet supported, but stay tuned!
{% endhint %}

## Get Token by Outpoint

The token origin represents the moment the NFT was created on the blockchain (more details [here](https://docs.1satordinals.com/readme/terms#ordinal-number)).

This endpoint retrieves the token details by outpoint (An outpoint is the transaction ID and the output index). It returns an ordinal or transfer with the origin of the ordinal. Consequently, this endpoint allows one to verify whether an outpoint is part of an ordinal performing “back to origin”.

{% code title="HTTP Request" %}

```
GET https://api.whatsonchain.com/v1/bsv/<network>/token/1satordinals/<outpoint>
```

{% endcode %}

{% code title="Example Request" %}

```shell
curl --location --request GET "https://api.whatsonchain.com/v1/bsv/main/token/1satordinals/b847a5c9aff596fb98435dd179fd7a6d541d54556518c357f53f54812d46f717_0"
```

{% endcode %}

{% code title="Example Response" %}

```json
{
   "token":{
      "outpoint": "b847a5c9aff596fb98435dd179fd7a6d541d54556518c357f53f54812d46f717_0",
      "scriptHash": "e260c235d47f4418076ad4de93942508d0d7de6286337d753ee560b003f3c16a",
      "ownerAddress": "1siPrNPYBmWEwgsJLu6LS84iqJYBSCAf3",
      "origin":{
         "number": "827748:753:0",
         "outpoint": "b847a5c9aff596fb98435dd179fd7a6d541d54556518c357f53f54812d46f717_0",
         "scriptHash": "e260c235d47f4418076ad4de93942508d0d7de6286337d753ee560b003f3c16a",
         "ownerAddress": "1siPrNPYBmWEwgsJLu6LS84iqJYBSCAf3",
         "data":{
            "insc":{
               "file":{
                  "hash": "Yb51ss8Unqt43ziwJUm8LNCKSooBWrJLe5x2A/qldEw=",
                  "size": 13,
                  "type": "text/plain"
               },
               "text": "464400.bsvmap",
               "words":[
                  "bsvmap",
                  "464400"
               ]
            },
            "types":[
               "text"
            ]
         }
      },
      "data":{
         "insc":{
            "file":{
               "hash": "Yb51ss8Unqt43ziwJUm8LNCKSooBWrJLe5x2A/qldEw=",
               "size": 13,
               "type": "text/plain"
            },
            "text": "464400.bsvmap",
            "words":[
               "bsvmap",
               "464400"
            ]
         },
         "types":[
            "text"
         ]
      },
      "current":{
         "txid": "b847a5c9aff596fb98435dd179fd7a6d541d54556518c357f53f54812d46f717"
      }
   }
}
```

{% endcode %}

**URL Parameters**

| Parameter | Description                                                                                  |
| --------- | -------------------------------------------------------------------------------------------- |
| network   | Selected network: `main` or `test`.                                                          |
| outpoint  | Inscription ID. More info [here](https://docs.1satordinals.com/readme/terms#inscription-id). |

## Get Token by Origin Number

The token origin represents the moment the NFT was created on the blockchain (more details [here](https://docs.1satordinals.com/readme/terms#ordinal-number)).

This endpoint retrieves the token details by Origin number (the number is the block height, transaction index, and output index).

{% code title="HTTP Request" %}

```
GET https://api.whatsonchain.com/v1/bsv/<network>/token/1satordinals/<originNumber>/origin
```

{% endcode %}

{% code title="Response Structure" %}

```json
{
   "token":{
      "outpoint": string,
      "scriptHash": string,
      "ownerAddress": string,
      "origin":{
         "number": string,
         "outpoint": string,
         "scriptHash": string,
         "ownerAddress": string,
         "data":{
            "insc":{
               "file":{
                  "hash": string,
                  "size": integer,
                  "type": string
               },
               "text": string,
               "words":[
                  string,
                  string
               ]
            },
            "types":[
               string
            ]
         }
      },
      "data":{
         "insc":{
            "file":{
               "hash": string,
               "size": integer,
               "type": string
            },
            "text": string,
            "words":[
               string
            ]
         },
         "types":[
            string
         ]
      },
      "current":{
         "txid": string
      }
   }
}
```

{% endcode %}

{% code title="Example Request" %}

```sh
curl --location --request GET "https://api.whatsonchain.com/v1/bsv/main/token/1satordinals/827748:753:0/origin"
```

{% endcode %}

<pre class="language-json" data-title="Example Response"><code class="lang-json"><strong>{
</strong>   "token":{
      "outpoint": "b847a5c9aff596fb98435dd179fd7a6d541d54556518c357f53f54812d46f717_0",
      "scriptHash": "e260c235d47f4418076ad4de93942508d0d7de6286337d753ee560b003f3c16a",
      "ownerAddress": "1siPrNPYBmWEwgsJLu6LS84iqJYBSCAf3",
      "origin":{
         "number": "827748:753:0",
         "outpoint": "b847a5c9aff596fb98435dd179fd7a6d541d54556518c357f53f54812d46f717_0",
         "scriptHash": "e260c235d47f4418076ad4de93942508d0d7de6286337d753ee560b003f3c16a",
         "ownerAddress": "1siPrNPYBmWEwgsJLu6LS84iqJYBSCAf3",
         "data":{
            "insc":{
               "file":{
                  "hash": "Yb51ss8Unqt43ziwJUm8LNCKSooBWrJLe5x2A/qldEw=",
                  "size": 13,
                  "type": "text/plain"
               },
               "text": "464400.bsvmap",
               "words":[
                  "bsvmap",
                  "464400"
               ]
            },
            "types":[
               "text"
            ]
         }
      },
      "data":{
         "insc":{
            "file":{
               "hash": "Yb51ss8Unqt43ziwJUm8LNCKSooBWrJLe5x2A/qldEw=",
               "size": 13,
               "type": "text/plain"
            },
            "text": "464400.bsvmap",
            "words":[
               "bsvmap",
               "464400"
            ]
         },
         "types":[
            "text"
         ]
      },
      "current":{
         "txid": "b847a5c9aff596fb98435dd179fd7a6d541d54556518c357f53f54812d46f717"
      }
   }
}
</code></pre>

**URL Parameters**

| Parameter    | Description                                                                                 |
| ------------ | ------------------------------------------------------------------------------------------- |
| network      | Selected network: `main` or `test`.                                                         |
| originNumber | Origin number. More info [here](https://docs.1satordinals.com/readme/terms#inscription-id). |

## Get Token's Data Content

This endpoint retrieves the content of the token's file, in case it has one.

{% code title="HTTP Request" %}

```
GET https://api.whatsonchain.com/v1/bsv/<network>/token/1satordinals/<outpoint>/content
```

{% endcode %}

{% code title="Example Request" %}

```shell
curl --location --request GET "https://api.whatsonchain.com/v1/bsv/main/token/1satordinals/b847a5c9aff596fb98435dd179fd7a6d541d54556518c357f53f54812d46f717_0/content"
```

{% endcode %}

{% code title="Example Response" %}

```
464400.bsvmap
```

{% endcode %}

**URL Parameters**

| Parameter | Description                                                                                  |
| --------- | -------------------------------------------------------------------------------------------- |
| network   | The selected network: `main` or `test`.                                                      |
| outpoint  | Inscription ID. More info [here](https://docs.1satordinals.com/readme/terms#inscription-id). |

## Get the Latest Token's Transfer

This endpoint retrieves the token's latest transfer with the origin token.

{% code title="HTTP Request" %}

```
GET https://api.whatsonchain.com/v1/bsv/<network>/token/1satordinals/<outpoint>/latest
```

{% endcode %}

{% code title="Example Request" %}

```shell
curl --location --request GET "https://api.whatsonchain.com/v1/bsv/main/token/1satordinals/6fecd063b0ee00489f79a0e9c0793e0bcb265f81faa43e36193833a849bf9603_156/latest"
```

{% endcode %}

{% code title="Example Response" %}

```json
{
   "token":{
      "outpoint": "7e796f68d56b7b530b91ff551f402d8972aa3ea6ecf9eb7187616cb4bf75bcb9_0",
      "scriptHash": "c34e301999f898cb3e8f50bc85b5f1c3a45ab3aee33f125c59784915a06d7b67",
      "scriptLockType": "p2pkh",
      "ownerAddress": "1N1QG9hdaMhaTwBDweVrrkbyrXxNeCBHst",
      "origin":{
         "number": "783989:21395:156",
         "outpoint": "6fecd063b0ee00489f79a0e9c0793e0bcb265f81faa43e36193833a849bf9603_156",
         "vout":156,
         "scriptHash": "28110cffb0f31f2ea4d13cdb9a848ffd0e3cd912ebf3ab5239b63733d3fec3da",
         "scriptLockType": "nonstandard",
         "ownerAddress": "1J3CFrgrmqmHrEtqCiP6ybjedKBwA3tELN",
         "spentTxid": "fda8480b34526ed3b5e780288b6b3851de94ef81018e3e752b561bf8324d7535",
         "data":{
            "insc":{
               "file":{
                  "hash": "TeOqczWHftnhDJjMza6Z/siyzLOTN9QkZ7lhYVPW/mQ=",
                  "size": 1841,
                  "type": "image/png"
               }
            },
            "map":{
               "app": "BigBlockPunkz",
               "collection": "BigBlockPunkz",
               "type": "ord"
            },
            "types":[
               "file"
            ]
         }
      },
      "current":{
         "txid": "7e796f68d56b7b530b91ff551f402d8972aa3ea6ecf9eb7187616cb4bf75bcb9",
         "txIndex": 2553,
         "blockHeight": 832795,
         "blockTime": 1708693512
      }
   }
}
```

{% endcode %}

**URL Parameters**

| Parameter | Description                                                                                  |
| --------- | -------------------------------------------------------------------------------------------- |
| network   | Selected network: `main` or `test`.                                                          |
| outpoint  | Inscription ID. More info [here](https://docs.1satordinals.com/readme/terms#inscription-id). |

## Get the Token's Transfer History

This endpoint retrieves the token's history of transfers.

{% code title="HTTP Request" %}

```
GET https://api.whatsonchain.com/v1/bsv/<network>/token/1satordinals/<outpoint>/history
```

{% endcode %}

{% code title="Example Request" %}

```shell
curl --location --request GET "https://api.whatsonchain.com/v1/bsv/main/token/1satordinals/6fecd063b0ee00489f79a0e9c0793e0bcb265f81faa43e36193833a849bf9603_156/history"
```

{% endcode %}

{% code title="Example Response" %}

```json
{
   "tokens":[
      {
         "outpoint": "6fecd063b0ee00489f79a0e9c0793e0bcb265f81faa43e36193833a849bf9603_156",
         "vout":156,
         "scriptHash": "28110cffb0f31f2ea4d13cdb9a848ffd0e3cd912ebf3ab5239b63733d3fec3da",
         "scriptLockType": "nonstandard",
         "ownerAddress": "1J3CFrgrmqmHrEtqCiP6ybjedKBwA3tELN",
         "spentTxid": "fda8480b34526ed3b5e780288b6b3851de94ef81018e3e752b561bf8324d7535",
         "origin":{
            "number": "783989:21395:156",
            "outpoint": "6fecd063b0ee00489f79a0e9c0793e0bcb265f81faa43e36193833a849bf9603_156",
            "vout": 156,
            "scriptHash": "28110cffb0f31f2ea4d13cdb9a848ffd0e3cd912ebf3ab5239b63733d3fec3da",
            "scriptLockType": "nonstandard",
            "ownerAddress": "1J3CFrgrmqmHrEtqCiP6ybjedKBwA3tELN",
            "spentTxid": "fda8480b34526ed3b5e780288b6b3851de94ef81018e3e752b561bf8324d7535",
            "data":{
               "insc":{
                  "file":{
                     "hash": "TeOqczWHftnhDJjMza6Z/siyzLOTN9QkZ7lhYVPW/mQ=",
                     "size": 1841,
                     "type": "image/png"
                  }
               },
               "map":{
                  "app": "BigBlockPunkz",
                  "collection": "BigBlockPunkz",
                  "type": "ord"
               },
               "types":[
                  "file"
               ]
            }
         },
         "data":{
            "insc":{
               "file":{
                  "hash": "TeOqczWHftnhDJjMza6Z/siyzLOTN9QkZ7lhYVPW/mQ=",
                  "size": 1841,
                  "type": "image/png"
               }
            },
            "map":{
               "app": "BigBlockPunkz",
               "collection": "BigBlockPunkz",
               "type": "ord"
            },
            "types":[
               "file"
            ]
         },
         "current":{
            "txid": "6fecd063b0ee00489f79a0e9c0793e0bcb265f81faa43e36193833a849bf9603",
            "txIndex": 21395,
            "blockHeight": 783989,
            "blockTime": 1679320103
         }
      },
      //...
      {
         "outpoint": "7e796f68d56b7b530b91ff551f402d8972aa3ea6ecf9eb7187616cb4bf75bcb9_0",
         "scriptHash": "c34e301999f898cb3e8f50bc85b5f1c3a45ab3aee33f125c59784915a06d7b67",
         "scriptLockType": "p2pkh",
         "ownerAddress": "1N1QG9hdaMhaTwBDweVrrkbyrXxNeCBHst",
         "origin":{
            "number": "783989:21395:156",
            "outpoint": "6fecd063b0ee00489f79a0e9c0793e0bcb265f81faa43e36193833a849bf9603_156",
            "vout":156,
            "scriptHash": "28110cffb0f31f2ea4d13cdb9a848ffd0e3cd912ebf3ab5239b63733d3fec3da",
            "scriptLockType": "nonstandard",
            "ownerAddress": "1J3CFrgrmqmHrEtqCiP6ybjedKBwA3tELN",
            "spentTxid": "fda8480b34526ed3b5e780288b6b3851de94ef81018e3e752b561bf8324d7535",
            "data":{
               "insc":{
                  "file":{
                     "hash": "TeOqczWHftnhDJjMza6Z/siyzLOTN9QkZ7lhYVPW/mQ=",
                     "size": 1841,
                     "type": "image/png"
                  }
               },
               "map":{
                  "app": "BigBlockPunkz",
                  "collection": "BigBlockPunkz",
                  "type": "ord"
               },
               "types":[
                  "file"
               ]
            }
         },
         "current":{
            "txid": "7e796f68d56b7b530b91ff551f402d8972aa3ea6ecf9eb7187616cb4bf75bcb9",
            "txIndex": 2553,
            "blockHeight": 832795,
            "blockTime": 1708693512
         }
      }
   ],
   "total_count": 9
}
```

{% endcode %}

**URL Parameters**

| Parameter | Description                                                                                  |
| --------- | -------------------------------------------------------------------------------------------- |
| network   | Selected network: `main` or `test`.                                                          |
| outpoint  | Inscription ID. More info [here](https://docs.1satordinals.com/readme/terms#inscription-id). |

**Query Parameters**

| Parameter        | Description                            |
| ---------------- | -------------------------------------- |
| skip (optional)  | Skip items. For pagination.            |
| limit (optional) | Limit number of items. For pagination. |

## Get Transaction's Tokens

This endpoint retrieves tokens that a transaction contains.

{% code title="HTTP Request" %}

```
GET https://api.whatsonchain.com/v1/bsv/<network>/token/1satordinals/tx/<txid>
```

{% endcode %}

{% code title="Response Structure" %}

```json
{
   "tokens":[
      {
         "outpoint": string,
         "scriptHash": string,
         "scriptLockType": string,
         "ownerAddress": string,
         "spentTxid": string,
         "origin":{
            "number": string,
            "outpoint": string,
            "vout": integer,
            "scriptHash": string,
            "scriptLockType": string,
            "ownerAddress": string,
            "spentTxid": string,
            "data":{
               "insc":{
                  "file":{
                     "hash": string,
                     "size": integer,
                     "type": string
                  }
               },
               "map":{
                  string: string
               },
               "types":[
                  string
               ]
            }
         },
         "data":{
            "insc":{
               "file":{
                  "hash": string,
                  "size": integer,
                  "type": string
               }
            },
            "map":{
               string: string
               },
               "type": string
            },
            "sigma":[
               {
                  "address": string,
                  "algorithm": string,
                  "signature": string,
                  "valid": boolean,
                  "vin": integer
               }
            ],
            "types":[
               string
            ]
         },
         "current":{
            "txid": string,
            "txIndex": integer,
            "blockHeight": integer,
            "blockTime": integer
         }
      }
   ],
   "total_count": integer
}
```

{% endcode %}

{% code title="Example Request" %}

```shell
curl --location --request GET "https://api.whatsonchain.com/v1/bsv/main/token/1satordinals/tx/9c59baa1944e93771379f110526f7c80a9c9627af583df3f760f1c01f8ea8d42"
```

{% endcode %}

{% code title="Example Response" %}

```json
{
   "tokens":[
      {
         "outpoint": "9c59baa1944e93771379f110526f7c80a9c9627af583df3f760f1c01f8ea8d42_0",
         "scriptHash": "435ef0918227553dec7539da2fd0faeb4dfda2405f46b12193035482a4164088",
         "scriptLockType": "nonstandard",
         "ownerAddress": "1PjgYHLBqkKhzddfhNN6A428irtAhDWZTN",
         "spentTxid": "99995013a737ed4437d87a2fbaafeae89630cd8ea228afc71f0393fd2f4b8e2b",
         "origin":{
            "number": "783989:21395:156",
            "outpoint": "6fecd063b0ee00489f79a0e9c0793e0bcb265f81faa43e36193833a849bf9603_156",
            "vout":156,
            "scriptHash": "28110cffb0f31f2ea4d13cdb9a848ffd0e3cd912ebf3ab5239b63733d3fec3da",
            "scriptLockType": "nonstandard",
            "ownerAddress": "1J3CFrgrmqmHrEtqCiP6ybjedKBwA3tELN",
            "spentTxid": "fda8480b34526ed3b5e780288b6b3851de94ef81018e3e752b561bf8324d7535",
            "data":{
               "insc":{
                  "file":{
                     "hash": "TeOqczWHftnhDJjMza6Z/siyzLOTN9QkZ7lhYVPW/mQ=",
                     "size": 1841,
                     "type": "image/png"
                  }
               },
               "map":{
                  "app": "BigBlockPunkz",
                  "collection": "BigBlockPunkz",
                  "type": "ord"
               },
               "types":[
                  "file"
               ]
            }
         },
         "data":{
            "insc":{
               "file":{
                  "hash": "hTBTPtJh/pEWUQnCmVFdu296UhaslM9q2ilDJtB74lM=",
                  "size": 785409,
                  "type": "image/png"
               }
            },
            "map":{
               "app": "ZoideNFT",
               "subType": "collectionItem",
               "subTypeData":{
                  "collectionId": "2a48f67ae1da8e679210b073d2e2cb5f0eb7bfcc68dc07f2f6b05e78fb407152_0",
                  "mintNumber": "6",
                  "name": "Reverb 6",
                  "rarityLabel": "COMMON"
               },
               "type": "ord"
            },
            "sigma":[
               {
                  "address": "12KP5KzkBwtsc1UrTrsBCJzgqKn8UqaYQq",
                  "algorithm": "BSM",
                  "signature": "H6nlPVuBqlTsK2B/Sh+oevNRcZDmTtmkRVTZeRGjnZXZfVxVhV9nZ5x5GWDbLnfbWYEAPnngoiF30nv0PaCjF68=",
                  "valid":true,
                  "vin":0
               }
            ],
            "types":[
               "file"
            ]
         },
         "current":{
            "txid": "9c59baa1944e93771379f110526f7c80a9c9627af583df3f760f1c01f8ea8d42",
            "txIndex": 829,
            "blockHeight": 832677,
            "blockTime": 1708617885
         }
      }
   ],
   "total_count": 1
}
```

{% endcode %}

**URL Parameters**

| Parameter | Description                         |
| --------- | ----------------------------------- |
| network   | Selected network: `main` or `test`. |
| txid      | Transaction ID.                     |

**Query Parameters**

| Parameter        | Description                            |
| ---------------- | -------------------------------------- |
| skip (optional)  | Skip items. For pagination.            |
| limit (optional) | Limit number of items. For pagination. |

### Need an additional API endpoint?

If you want to make a request for an additional API endpoint that would help with your use case, please reach out to us using our [WoC Telegram channel](http://t.me/+SNmGhFqKVB9kf%E2%80%A6). Please provide as much detail on what you're trying to achieve as possible.
