Introdução

Este manual é um guia para a teoria ordinal. A teoria ordinal se preocupa com satoshis, dando-lhes identidades individuais e permitindo que sejam rastreadoes, transferidos e imbuídos de significado.

Os satoshis, e não os bitcoins, são as moedas atômicas nativas da rede Bitcoin. Um bitcoin pode ser subdividido em 100 milhões de satoshis, mas não mais do que isso.

A teoria ordinal não requer uma sidechain ou um token além do bitcoin, e e pode ser usada sem quaisquer alterações na rede Bitcoin. Ela functiona agora mesmo.

A teoria ordinal confere aos satoshis valor numismático, permitindo que sejam coletados e comercializados como itens de colectionador.

Satoshis individuais podem ser inscritos com conteúdo arbitrário, criando artefatos digitais únicos e nativos do Bitcoin que podem que podem ser mantidos em carteiras de bitcoin e transferidos usando transações de Bitcoin. Essas inscrições são tão duráveis, imutáveis, seguras e descentralizadas quanto o próprio Bitcoin.

Outros casos de uso mais incomuns são possíveis: moedas coloridas (colored-coins) fora da cadeia, infraestrutura de chave pública com rotação de chaves, um substituto descentralizado para o DNS. Por enquanto, porém, tais casos de uso são especulativos e existem apenas nas mentes dos teóricos ordinais.

Para obter mais detalhes sobre a teoria ordinal, consulte a visão geral.

Para obter mais detalhes sobre as inscrições, consulte inscrições.

When you're ready to get your hands dirty, a good place to start is with inscriptions, a curious species of digital artifact enabled by ordinal theory.

Authors

Vídeos

Visão Geral da Teoria Ordinal

Os Ordinals, ou Ordinais, são um esquema de numeração para satoshis que permite rastrear e transferir sats individuais. Esses números são chamados números ordinais. Os satoshis são numerados na ordem em que são minerados, e quando transferidos das entradas de uma transação para as saídas,nos baseamos no modelo FIFO (First In, First Out). Tanto o esquema de numeração quanto o esquema de transferência dependem da ordem; o esquema de numeração se baseia na ordem em que os satoshis são minerados, enquanto que o esquema de transferência se baseia na ordem das entradas e saídas das transações. Daí o nome, Ordinals.

Os detalhes técnicos estão disponíveis no BIP.

A teoria ordinal funciona não requer um token separado, outra blockchain, ou qualquer mudança ao Bitcoin. Ela funciona agora mesmo.

Os números ordinais têm várias representações:

  • Notação de Inteiro (Integer): 2099994106992659 O número ordinal, atribuído de acordo com a ordem em que o satoshi foi minerado.

  • Notação decimal: 3891094.16797 O primeiro número é a altura do bloco em que o satoshi foi minerado, o segundo é o deslocamento do satoshi dentro do bloco.

  • Notação de grau: 3°111094′214″16797‴. Falaremos sobre isso mais tarde.

  • Notação percentil: 99.99971949060254% . A posição do satoshi na oferta total de bitcoin, expressa em porcentagem.

  • Nome: satoshi. Uma codificação do número ordinal usando os caracteres a até z.

AAtivos arbitrários, como NFTs, tokens de segurança, contas ou stablecoins podem ser anexados a satoshis usando números ordinais como identificadores estáveis.

Ordinals é um projeto de código aberto, desenvolvido no GitHub. O projeto consiste em um BIP que descreve o esquema ordinal, um índice que se comunica com um nó Bitcoin Core para rastrear a localização de todos os satoshis, uma carteira que permite fazer transações com reconhecimento de Ordinals, um explorador de blocos para exploração interativa da blockchain, funcionalidade para inscrever artefatos digitais nos satoshis e este manual.

Raridade

Os humanos são colecionadores e, como os satoshis agora podem ser rastreados e transferidos, as pessoas naturalmente desejarão coletá-los. Teóricos de Ordinals podem decidir por si mesmos quais sats são raros e desejáveis, mas existemalgumas dicas...

O Bitcoin tem eventos periódicos, alguns frequentes, outros mais incomuns, e estes naturalmente se prestam a um sistema de raridade. Esses eventos periódicos são:

  • Blocos: Um novo bloco é minerado aproximadamente a cada 10 minutos, a partir de agora e até o fim dos tempos.

  • Ajustes de dificuldade: A cada 2016 blocos, ou aproximadamente a cada duas semanas, a rede Bitcoin responde às mudanças no hashrate ajustando o alvo de dificuldade que os blocos devem atingir para serem aceitos.

  • Halvings: A cada 210.000 blocos, ou aproximadamente a cada quatro anos, a quantidade de novos sats criados em cada bloco é cortada pela metade.

  • Ciclos: A cada seis halvings, algo mágico acontece: o halving e o ajuste de dificuldade coincidem. Isso é chamado de conjunção, e o período de tempo entre conjunções, um ciclo. Uma conjunção ocorre aproximadamente a cada 24 anos. A primeira conjunção deve acontecer em algum momento em 2032.

Isso nos dá os seguintes níveis de raridade:

  • comum: Qualquer sat que não seja o primeiro de seu bloco
  • incomum: O primeiro sat de cada bloco
  • raro: O primeiro sat de cada período de ajuste de dificuldade
  • épico: O primeiro satoshi de cada época do halving
  • lendário: O primeiro sat de cada ciclo
  • mítico: O primeiro sat do bloco Gênesis

O que nos leva à notação de grau, que representa inequivocamente um número ordinal de uma forma que torna fácil ver a raridade de um satoshi:

A°B′C″D‴
│ │ │ ╰─ Index of sat in the block
│ │ ╰─── Index of block in difficulty adjustment period
│ ╰───── Index of block in halving epoch
╰─────── Cycle, numbered starting from 0

Os teóricos de Ordinals costumam usar os termos "hora", "minuto", "segundo" e "terceiro" para A, B, C e D, respectivamente.

Agora vejamos alguns exemplos. Este satoshi é comum:

1°1′1″1‴
│ │ │ ╰─ Not first sat in block
│ │ ╰─── Not first block in difficulty adjustment period
│ ╰───── Not first block in halving epoch
╰─────── Second cycle

Este satoshi é incomum:

1°1′1″0‴
│ │ │ ╰─ First sat in block
│ │ ╰─── Not first block in difficulty adjustment period
│ ╰───── Not first block in halving epoch
╰─────── Second cycle

Este satoshi é raro:

1°1′0″0‴
│ │ │ ╰─ First sat in block
│ │ ╰─── First block in difficulty adjustment period
│ ╰───── Not the first block in halving epoch
╰─────── Second cycle

Este satoshi é épico:

1°0′1″0‴
│ │ │ ╰─ First sat in block
│ │ ╰─── Not first block in difficulty adjustment period
│ ╰───── First block in halving epoch
╰─────── Second cycle

Este satoshi é lendário:

1°0′0″0‴
│ │ │ ╰─ First sat in block
│ │ ╰─── First block in difficulty adjustment period
│ ╰───── First block in halving epoch
╰─────── Second cycle

Este satoshi é mítico:

0°0′0″0‴
│ │ │ ╰─ First sat in block
│ │ ╰─── First block in difficulty adjustment period
│ ╰───── First block in halving epoch
╰─────── First cycle

Se o deslocamento do bloco for zero, ele pode ser omitido. Esse é o satoshi incomumde cima:

1°1′1″
│ │ ╰─ Not first block in difficulty adjustment period
│ ╰─── Not first block in halving epoch
╰───── Second cycle

Oferta de Satoshis Raros

Oferta Total

  • common: 2,099,999,990,760,000
  • uncommon: 6,926,535
  • rare: 3432
  • epic: 27
  • lendário: 5
  • mítico: 1

Oferta Atual:

  • common: ~1.98 quadrillion
  • uncommon: ~880,000 (a new uncommon is mined roughly every ten minutes)
  • rare: ~430 (a new rare is mined roughly every two weeks)
  • épico: 3
  • lendário: 0
  • mítico: 1

At the moment, even uncommon satoshis are quite rare. As of this writing, 876,023 uncommon satoshis have been mined - one per 22.6 bitcoin in circulation.

Nomes

Cada satoshi tem um nome, composto pelas letras de A a Z, que ficam mais curtos quanto mais no futuro o satoshi foi minerado. Eles poderiam começar curtos e ficarem mais longos, mas então todos os nomes bons e curtos ficariam presos no bloco Gênesis, satoshis do qual são impossíveis de gastar.

Por exemplo, o nome de 1905530482684727° é "iaiufjszmoba". O nome do último satoshi a ser minerado é "a". Cada combinação de 10 caracteres ou menos já existe, ou existirá algum dia.

Exóticos

Satoshis podem ser valorizados por outras razões além do nome ou raridade. Isto pode ser devido a uma qualidade do próprio número, como ter um número inteiro, raiz quadrada ou cúbica. Ou pode ser devido a uma conexão com um evento histórico, como satoshis do bloco 477.120, o bloco em que o SegWit foi ativado, ou 2099999997689999°, o último satoshi que será minerado.

Tais satoshis são denominados "exóticos". Quais satoshis são exóticos e o quê torna-os assim é subjetivo. Os teóricos de Ordinals são encorajados a procurar exóticos baseados em critérios de sua própria concepção.

Inscrições

Satoshis podem ser inscritos com conteúdo arbitrário, criando artefatos digitais nativos do Bitcoin. A inscrição é feita enviando o satoshi para ser inscrito em uma transação que revela o conteúdo da inscrição na cadeia. Este conteúdo está então inextricavelmente ligado a esse satoshi, transformando-o em um artefato digital imutável que pode ser rastreado, transferido, acumulado, comprado, vendido, perdido e redescoberto.

Arqueologia

Uma comunidade animada de arqueólogos dedicados à catalogação e coleta dos primeiros NFTs surgiu. Aqui está um ótimo resumo dos NFTs históricos por Chainleft.

Um limite comumente aceito nos primeiros NFTs é 19 de março de 2018, a data em queo primeiro contrato ERC-721, SU SQUARES, foiimplantado no Ethereum.

Se os Ordinals são ou não de interesse para os arqueólogos de NFT é uma questão em aberto! De certo modo, os Ordinals foram criados no início de 2022, quando a sua especificação foi finalizada. Nesse sentido, eles não são de interesse histórico.

Por outro lado, porém, os Ordinals foram de fato criados por Satoshi Nakamoto em 2009, quando ele extraiu o bloco Gênesis do Bitcoin. Nesse sentido, Ordinals, "e especialmente os primeiros Ordinals, são certamente de interesse histórico.

Muitos teóricos de Ordinals favorecem este ângulo. Até porque os Ordinals foram descobertos independentemente em pelo menos duas ocasiões distintas, muito antes do início da era dos NFTs modernos.

Em 21 de agosto de 2012, Charlie Lee publicou no fórum Bitcoin Talk uma proposta para adicionar Proof of Stake ao Bitcoin. Este não era um esquema de ativos, mas usou o algoritmo Ordinal e foi implementado, masnunca implantado.

Em 8 de outubro de 2012, jl2012 publicou um esquema no mesmofórum que usa notação decimal e tem todas as propriedades importantes dos Ordinals. O esquema foi discutido, mas nunca implementado.

Essas invenções independentes de Ordinals indicam de alguma forma que os Ordinalsforam descobertos, ou redescobertos, e não inventados. Os Ordinals são uma inevitabilidade da matemática do Bitcoin, não decorrente de sua documentação moderna, mas desde a sua gênese antiga. São o resultado de uma sequência de eventos desencadeados com a mineração do primeiro bloco, tantos anos atrás.

Artefatos Digitais

Imagine um artefato físico. Uma moeda rara, digamos, mantida em segurança por incontáveis anos em um esconderijo escuro e secreto de um tesouro viking, agora escavado na terra pelas suasmãos. Esta moeda...

...tem um dono. Você. Contanto que você a mantenha segura, ninguém poderá tirá-la de você.

...está completa. Não falta nenhuma peça.

...só pode ser alterada por você. Se você fosse um comerciante e fizesse o seu caminho para a China do século XVIII, ninguém além de você poderia carimbá-la com sua marca.

...só pode ser descartada por você. A venda, troca ou presente é sua decisão, e para quem você quiser.

O que são artefatos digitais? Simplificando, eles são o equivalente digital de artefatos físicos.

Para que uma coisa digital seja um artefato digital, deve ser como aquela moeda sua:

  • Artefatos digitais podem ter proprietários. Um número não é um artefato digital, porque ninguém pode possuí-lo.

  • Os artefatos digitais são completos. Uma NFT que aponta para um conteúdo fora da cadeia, em IPFS ou Arweave, está incompleta e, portanto, não é um artefato digital.

  • Os artefatos digitais não têm permissão. Uma NFT que não pode ser vendida sem pagar royalties não é algo sem permissão e, portanto, não é um artefato digital.

  • Os artefatos digitais não podem ser censurados. Talvez você possa alterar uma entrada em um banco de dados de um livro-razão centralizado hoje, mas talvez não amanhã e, portanto, não pode ser um artefato digital.

  • Os artefatos digitais são imutáveis. Uma NFT com chave de atualização não é um artefato digital.

A definição de artefato digital pretende refletir o que NFTs deveriam ser, às vezes são, e o que as inscrições sempre são, por natureza própria.

Inscrições

Inscrições inscrevem conteúdo arbitrário em sats, criando artefatos digitais nativos de bitcoin, mais comumente conhecidos como NFTs. As inscrições não exigem uma sidechain ou token separado.

Esses sats inscritos podem então ser transferidos usando transações de bitcoin, enviados para endereços de bitcoin e mantidos em UTXOs de bitcoin. Essas transações, endereços e UTXOs são transações, endereços e UTXOS normais de bitcoin em todos os aspectos, com a exceção de que, para enviar sats individuais, as transações devem controlar tanto a ordem quanto o valor das entradas e das saídas de acordo com a teoria ordinal.

O modelo de conteúdo da inscrição é o da web. Uma inscrição consiste em um tipo de conteúdo, também conhecido como tipo MIME, e o próprio conteúdo, que é uma string de bytes. Isso permite que o conteúdo de inscrições seja retornado de um servidor web, e usado para criar inscrições HTML que usam e remixam o conteúdo de outras inscrições.

O conteúdo da inscrição é inteiramente on-chain, armazenado em scripts de gasto do caminho do script taproot. Os scripts taproot têm pouquíssimas restrições em seu conteúdo e adicionalmente recebem o desconto da Witness, fazendo com que o armazenamento do conteúdo da inscrição seja relativamente econômico.

Como os gastos com script taproot só podem ser feitos a partir de saídas taproot existentes, as inscrições são feitas usando um procedimento de confirmação/revelação de duas fases. Primeiro, na transação de confirmação, uma saída taproot confirmando um script contendo o conteúdo da inscrição é criado. Depois, na transação de revelação, a saída criada pela transação de confirmação é gasta, revelando o conteúdo da inscrição na rede.

O conteúdo da inscrição é serializado usando envios (pushes) de dados em condicionais não executados, chamadas "envelopes". Os envelopes consistem em um OP_FALSE OP_IF … OP_ENDIF envolvendo qualquer quantidade de envios de dados. Porque os envelopes são efetivamente autônomos, eles não alteram a semântica do script em que eles estão incluídos, e podem ser combinados com qualquer outro script de bloqueio.

Uma inscrição de texto contendo a string "Hello, world!" é serializada como segue:

OP_FALSE
OP_IF
  OP_PUSH "ord"
  OP_PUSH 1
  OP_PUSH "text/plain;charset=utf-8"
  OP_PUSH 0
  OP_PUSH "Hello, world!"
OP_ENDIF

Primeiro, se faz um push da string ord, para desambiguar inscrições de outros usos de envelopes.

OP_PUSH 1 indica que o próximo push contém o tipo de conteúdo, e OP_PUSH 0indica que os pushes subsequentes contêm o próprio conteúdo. Múltiplos pushes de dados devem ser usados para inscrições grandes, porque uma das poucasrestrições do taproot é que os pushes de dados individuais não podem ser maioresque 520 bytes.

The inscription content is contained within the input of a reveal transaction, and the inscription is made on the first sat of its input if it has no pointer field. This sat can then be tracked using the familiar rules of ordinal theory, allowing it to be transferred, bought, sold, lost to fees, and recovered.

Conteúdo

O modelo de dados das inscrições é o de uma resposta HTTP, permitindo que os conteúdos de inscrições sejam servidos por um servidor web e visualizados em um navegador web.

Campos

As inscrições podem incluir campos antes de um corpo opcional. Cada campo consiste em dois envios de dados, uma tag e um valor.

Currently, there are six defined fields:

  • content_type, with a tag of 1, whose value is the MIME type of the body.
  • pointer, with a tag of 2, see pointer docs.
  • parent, with a tag of 3, see provenance.
  • metadata, with a tag of 5, see metadata.
  • metaprotocol, with a tag of 7, whose value is the metaprotocol identifier.
  • content_encoding, with a tag of 9, whose value is the encoding of the body.
  • delegate, with a tag of 11, see delegate.

O início do corpo e o final dos campos são indicados com um push de dados vazio.

Tags não reconhecidas são interpretadas de maneira diferente dependendo se são pares ou ímpares, seguindo a regra "não há problema ser ímpar" usada pela Rede Lightning.

Etiquetas pares são usadas para campos que podem afetar a criação, atribuição inicial ou transferência de uma inscrição. Assim, inscrições com campos pares não reconhecidos devem ser exibidas como "não vinculadas", ou seja, sem localização.

Tags ímpares são usadas para campos que não afetam a criação, atribuição inicial ou transferência, como metadados adicionais, e, portanto, podem ser ignorados com segurança.

IDs das Inscrições

As inscrições estão contidas nas entradas de uma transação de revelação. Para identificá-las de forma única, elas recebem uma ID no formato:

521f8eccffa4c41a3a7728dd012ea5a4a02feed81f41159231251ecf1e5c79dai0

A parte na frente do i é o ID da transação (txid) da transação de revelação. O número após o i define o índice (começando em 0) de novas inscrições sendo inscritas na transação de revelação.

As inscrições podem estar localizadas em entradas diferentes, dentro da mesma entrada, ou em uma combinação de ambas. Em qualquer caso, a ordem é clara, já que um analisador percorreria as entradas consecutivamente e procuraria por todos os envelopes de inscrição.

EntradaContagem de inscriçõesÍndice
02i0, il
11i2
23i3. i4, i5
30
41i6

Inscription Numbers

Inscriptions are assigned inscription numbers starting at zero, first by the order reveal transactions appear in blocks, and the order that reveal envelopes appear in those transactions.

Due to a historical bug in ord which cannot be fixed without changing a great many inscription numbers, inscriptions which are revealed and then immediately spent to fees are numbered as if they appear last in the block in which they are revealed.

Inscriptions which are cursed are numbered starting at negative one, counting down. Cursed inscriptions on and after the jubilee at block 824544 are vindicated, and are assigned positive inscription numbers.

Sandboxing

As inscrições HTML e SVG são isoladas (sandboxed) para evitar referências a conteúdo fora da cadeia, mantendo assim as inscrições imutáveis e autocontidas.

Isso é feito carregando inscrições HTML e SVG dentro de iframes com o atributo sandbox, bem como servindo conteúdo de inscrição com cabeçalhos Content-Security-Policy.

Self-Reference

The content of the inscription with ID INSCRIPTION_ID must served from the URL path /content/<INSCRIPTION_ID>.

This allows inscriptions to retrieve their own inscription ID with:

let inscription_id = window.location.pathname.split("/").pop();

If an inscription with ID X delegates to an inscription with ID Y, that is to say, if inscription X contains a delegate field with value Y, the content of inscription X must be served from the URL path /content/X, not /content/Y.

This allows delegating inscriptions to use their own inscription ID as a seed for generative delegate content.

Reinscriptions

Previously inscribed sats can be reinscribed with the --reinscribe command if the inscription is present in the wallet. This will only append an inscription to a sat, not change the initial inscription.

Reinscribe with satpoint: ord wallet inscribe --fee-rate <FEE_RATE> --reinscribe --file <FILE> --satpoint <SATPOINT>

Reinscribe on a sat (requires sat index): ord --index-sats wallet inscribe --fee-rate <FEE_RATE> --reinscribe --file <FILE> --sat <SAT>

Queimar

Inscriptions may be burned by constructing a transaction that spends them to a script pubkey beginning with OP_RETURN.

Sending inscriptions to a so-called "burn address" is not recognized by ord.

Burned inscriptions receive the "burned" charm, recognized with 🔥 on the inscription's /inscription page.

When burning inscriptions, CBOR metadata may be included in a data push immediately following the OP_RETURN.

Burn metadata is unstructured, having no meaning to the underlying protocol, and should be human readable. It is displayed on the burned inscription's /inscription page, in the same manner as inscription metadata, under the heading "burn metadata".

Use it, if you feel like it, to commemorate the inscription, celebrate the closing of a collection, or for whatever other purposes you so desire.

Data pushes after the first are currently ignored by ord. However, they may be given future meaning by the protocol, and should not be used.

For example, transaction b42f0d8a3277ce6a7e564fec8f5579f76bc19cb24f8eff565ebb81a4c2f94683 burned inscription 681b5373c03e3f819231afd9227f54101395299c9e58356bda278e2f32bef2cdi0.

Delegate

Inscriptions may nominate a delegate inscription. Requests for the content of an inscription with a delegate will instead return the content, content type and content encoding of the delegate. This can be used to cheaply create copies of an inscription.

Especificações

To create an inscription I with delegate inscription D:

  • Create an inscription D. Note that inscription D does not have to exist when making inscription I. It may be inscribed later. Before inscription D is inscribed, requests for the content of inscription I will return a 404.
  • Include tag 11, i.e. OP_PUSH 11, in I, with the value of the serialized binary inscription ID of D, serialized as the 32-byte TXID, followed by the four-byte little-endian INDEX, with trailing zeroes omitted.

NB Os bytes de uma ID de transação bitcoin são invertidos em sua representação de texto, portanto, a ID serializada da transação estará na ordem oposta.

Exemplo

An example of an inscription which delegates to 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1fi0:

OP_FALSE
OP_IF
  OP_PUSH "ord"
  OP_PUSH 11
  OP_PUSH 0x1f1e1d1c1b1a191817161514131211100f0e0d0c0b0a09080706050403020100
OP_ENDIF

Note that the value of tag 11 is decimal, not hex.

The delegate field value uses the same encoding as the parent field. See provenance for more examples of inscription ID encodings

See examples for on-chain examples of inscriptions that feature this functionality.

Metadata

Inscriptions may include CBOR metadata, stored as data pushes in fields with tag 5. Since data pushes are limited to 520 bytes, metadata longer than 520 bytes must be split into multiple tag 5 fields, which will then be concatenated before decoding.

Metadata is human readable, and all metadata will be displayed to the user with its inscription. Inscribers are encouraged to consider how metadata will be displayed, and make metadata concise and attractive.

Metadata is rendered to HTML for display as follows:

  • null, true, false, numbers, floats, and strings are rendered as plain text.
  • Byte strings are rendered as uppercase hexadecimal.
  • Arrays are rendered as <ul> tags, with every element wrapped in <li> tags.
  • Maps are rendered as <dl> tags, with every key wrapped in <dt> tags, and every value wrapped in <dd> tags.
  • Tags are rendered as the tag , enclosed in a <sup> tag, followed by the value.

CBOR is a complex spec with many different data types, and multiple ways of representing the same data. Exotic data types, such as tags, floats, and bignums, and encoding such as indefinite values, may fail to display correctly or at all. Contributions to ord to remedy this are welcome.

Exemplo

Since CBOR is not human readable, in these examples it is represented as JSON. Keep in mind that this is only for these examples, and JSON metadata will not be displayed correctly.

The metadata {"foo":"bar","baz":[null,true,false,0]} would be included in an inscription as:

OP_FALSE
OP_IF
    ...
    OP_PUSH 0x05 OP_PUSH '{"foo":"bar","baz":[null,true,false,0]}'
    ...
OP_ENDIF

And rendered as:

<dl>
  ...
  <dt>metadata</dt>
  <dd>
    <dl>
      <dt>foo</dt>
      <dd>bar</dd>
      <dt>baz</dt>
      <dd>
        <ul>
          <li>null</li>
          <li>true</li>
          <li>false</li>
          <li>0</li>
        </ul>
      </dd>
    </dl>
  </dd>
  ...
</dl>

Metadata longer than 520 bytes must be split into multiple fields:

OP_FALSE
OP_IF
    ...
    OP_PUSH 0x05 OP_PUSH '{"very":"long","metadata":'
    OP_PUSH 0x05 OP_PUSH '"is","finally":"done"}'
    ...
OP_ENDIF

Which would then be concatenated into {"very":"long","metadata":"is","finally":"done"}.

See examples for on-chain examples of inscriptions that feature this functionality.

Pointer

In order to make an inscription on a sat other than the first of its input, a zero-based integer, called the "pointer", can be provided with tag 2, causing the inscription to be made on the sat at the given position in the outputs. If the pointer is equal to or greater than the number of total sats in the outputs of the inscribe transaction, it is ignored, and the inscription is made as usual. The value of the pointer field is a little endian integer, with trailing zeroes ignored.

An even tag is used, so that old versions of ord consider the inscription to be unbound, instead of assigning it, incorrectly, to the first sat.

This can be used to create multiple inscriptions in a single transaction on different sats, when otherwise they would be made on the same sat.

Examples

An inscription with pointer 255:

OP_FALSE
OP_IF
  OP_PUSH "ord"
  OP_PUSH 1
  OP_PUSH "text/plain;charset=utf-8"
  OP_PUSH 2
  OP_PUSH 0xff
  OP_PUSH 0
  OP_PUSH "Hello, world!"
OP_ENDIF

An inscription with pointer 256:

OP_FALSE
OP_IF
  OP_PUSH "ord"
  OP_PUSH 1
  OP_PUSH "text/plain;charset=utf-8"
  OP_PUSH 2
  OP_PUSH 0x0001
  OP_PUSH 0
  OP_PUSH "Hello, world!"
OP_ENDIF

An inscription with pointer 256, with trailing zeroes, which are ignored:

OP_FALSE
OP_IF
  OP_PUSH "ord"
  OP_PUSH 1
  OP_PUSH "text/plain;charset=utf-8"
  OP_PUSH 2
  OP_PUSH 0x000100
  OP_PUSH 0
  OP_PUSH "Hello, world!"
OP_ENDIF

Properties

Inscriptions may include CBOR properties, stored as data pushes in fields with tag 17. Since data pushes are limited to 520 bytes, CBOR longer than 520 bytes must be split into multiple tag 17 fields, which will then be concatenated before decoding.

Properties are a structured counterpart to metadata. While metadata may contain arbitrary CBOR which has no protocol-defined meaning and is presented on /inscription as HTML, properties have protocol-defined meaning and must conform to a strict schema.

Indefinite-length types are not supported. All maps, arrays, byte strings, and text strings must be definite.

The non-normative CDDL schema of the properties value is as follows:

Properties = {
  ? 0: [*GalleryItem],
  * any => any,
}

GalleryItem = {
  ? 0: bstr .size (32..36),
  * any => any,
}

The above CDDL schema is provided as a convenience. As always, the ordinals reference implementation ord is the normative specification of inscriptions, and thus the properties field.

Fields matching the * any => any wildcard must be ignored, for compatibility with future additions.

Galleries

Inscriptions whose properties field contains GalleryItems are galleries.

Galleries contain GalleryItems, whose only defined key 0 contains a serialized inscription ID. Inscription ID TXIDiINDEX is serialized as a byte string containing the 32 byte TXID, concatenated with by the four-byte little-endian INDEX. Trailing zeros may be removed from four-byte INDEX, so IDs ending in i0 may be serialized in 32 bytes.

Gallery items are displayed on the inscriptions /inscription page on the explorer.

Galleries are similar to children, in that they provide a way to create collections of inscriptions. However, galleries are permissionless. Anyone may create a gallery including any inscriptions. Thus, inclusion in a gallery does not imply provenance. Additionally, because of this, inclusion in a gallery does not create a backlink from the gallery item's /inscription page to the gallery.

Galleries may be created when batch inscribing with ord wallet batch by including an array of string inscription IDs of under the gallery key of the inscription entry in the batch file, or when using ord wallet inscribe using the --gallery option.

Procedência

O proprietário de uma inscrição pode criar inscrições filhas, estabelecendo, sem confiança, a procedência dessas crianças na cadeia como tendo sido criadas pelo proprietário da inscrição pai. Isso pode ser usado para coleções, com os filhos de uma inscrição pai sendo membros da mesma coleção.

As próprias crianças podem ter filhos, permitindo hierarquias complexas. Por exemplo, um artista pode criar uma inscrição representando a si mesmo, com subinscrições representando coleções que ele cria, sendo os filhos dessas subinscrições itens daquelas coleções.

Especificações

Para criar uma inscrição filha C com inscrição pai P:

  • Crie uma transação de inscrição T como de costume para C.
  • Gaste o pai P em uma das entradas de T.
  • Inclua a tag 3, ou seja, OP_PUSH 3, em C, com o valor do ID binário serializado da inscrição P, serializado como o TXID de 32 bytes, seguido pelo INDEX de quatro bytes em formato little-endian, omitindo zeros à direita.

NB Os bytes de uma ID de transação bitcoin são invertidos em sua representação de texto, portanto, a ID serializada da transação estará na ordem oposta.

Exemplo

Um exemplo de uma inscrição filha de 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1fi0:

OP_FALSE
OP_IF
  OP_PUSH "ord"
  OP_PUSH 1
  OP_PUSH "text/plain;charset=utf-8"
  OP_PUSH 3
  OP_PUSH 0x1f1e1d1c1b1a191817161514131211100f0e0d0c0b0a09080706050403020100
  OP_PUSH 0
  OP_PUSH "Hello, world!"
OP_ENDIF

Observe que o valor da tag 3 é binário, não hexadecimal, e que para que a inscrição filha seja reconhecida como filha, 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1fi0 deve ser gasta como uma das entradas da transação de inscrição.

Exemplo de codificação da ID de inscrição 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1fi255:

OP_FALSE
OP_IF
  …
  OP_PUSH 3
  OP_PUSH 0x1f1e1d1c1b1a191817161514131211100f0e0d0c0b0a09080706050403020100ff
  …
OP_ENDIF

E da ID da inscrição 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1fi256:

OP_FALSE
OP_IF
  …
  OP_PUSH 3
  OP_PUSH 0x1f1e1d1c1b1a191817161514131211100f0e0d0c0b0a090807060504030201000001
  …
OP_ENDIF

Notas

A tag 3 é usada porque é a primeira tag ímpar disponível. Tags ímpares não reconhecidas não desvinculam uma inscrição, portanto, inscrições filhas seriam reconhecidas e rastreadas por versões antigas de ord.

Uma coleção pode ser encerrada queimando a inscrição-pai da coleção, o que garante que nenhum outro item poderá ser emitido na coleção.

See examples for on-chain examples of inscriptions that feature this functionality.

Recursão

An important exception to sandboxing is recursion. Recursive endpoints are whitelisted endpoints that allow access to on-chain data, including the content of other inscriptions.

Since changes to recursive endpoints might break inscriptions that rely on them, recursive endpoints have backwards-compatibility guarantees not shared by ord server's other endpoints. In particular:

  • Recursive endpoints will not be removed
  • Object fields returned by recursive endpoints will not be renamed or change types

However, additional object fields may be added or reordered, so inscriptions must handle additional, unexpected fields, and must not expect fields to be returned in a specific order.

Recursion has a number of interesting use-cases:

  • Remixando o conteúdo das inscrições existentes.

  • Publicar trechos de código, imagens, áudio ou stylesheets como recursos públicos compartilhados.

  • Coleções de arte generativas onde um algoritmo é inscrito como JavaScript e instanciado a partir de múltiplas inscrições com sementes únicas.

  • Coleções generativas de fotos de perfil onde acessórios e atributos são inscritos como imagens individuais, ou em um atlas de textura compartilhado, e depois combinados, em estilo de colagem, em combinações únicas em múltiplas inscrições.

Endpoints

GET /content/<INSCRIPTION_ID>

Description

The content of the inscription with <INSCRIPTION_ID>.

Exemplo

curl -s \
  http://0.0.0.0:80/content/6fb976ab49dcec017f1e201e84395983204ae1a7c2abf7ced0a85d692e442799i0 > skull.jpg

no terminal output, just file creation

GET /r/blockhash

Description

Latest block hash.

Exemplo

curl -s  \
  http://0.0.0.0:80/r/blockhash
"00000000000000000002891b440944e0ce40b37b6ccaa138c280e9edfc319d5d"
GET /r/blockhash/<HEIGHT>

Description

Block hash at given block height as JSON string.

Exemplo

curl -s  \
  http://0.0.0.0:80/r/blockhash/840000
"0000000000000000000320283a032748cef8227873ff4872689bf23f1cda83a5"
GET /r/blockheight

Description

Latest block height.

Exemplo

curl -s  \
  http://0.0.0.0:80/r/blockheight
866393
GET /r/blockinfo/<QUERY>

Description

Block info. <QUERY> may be a block height or block hash.

Example (blockheight)

curl -s \
  http://0.0.0.0:80/r/blockinfo/0
{
  "average_fee": 0,
  "average_fee_rate": 0,
  "bits": 486604799,
  "chainwork": "0000000000000000000000000000000000000000000000000000000100010001",
  "confirmations": 866396,
  "difficulty": 1.0,
  "hash": "000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f",
  "feerate_percentiles": [
    0,
    0,
    0,
    0,
    0
  ],
  "height": 0,
  "max_fee": 0,
  "max_fee_rate": 0,
  "max_tx_size": 0,
  "median_fee": 0,
  "median_time": 1231006505,
  "merkle_root": "4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b",
  "min_fee": 0,
  "min_fee_rate": 0,
  "next_block": "00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048",
  "nonce": 2083236893,
  "previous_block": null,
  "subsidy": 5000000000,
  "target": "00000000ffff0000000000000000000000000000000000000000000000000000",
  "timestamp": 1231006505,
  "total_fee": 0,
  "total_size": 0,
  "total_weight": 0,
  "transaction_count": 1,
  "version": 1
}

Example (blockhash)

curl -s \
  http://0.0.0.0:80/r/blockinfo/0000000000000000000320283a032748cef8227873ff4872689bf23f1cda83a5
{
  "average_fee": 1234031,
  "average_fee_rate": 3770,
  "bits": 386089497,
  "chainwork": "0000000000000000000000000000000000000000753bdab0e0d745453677442b",
  "confirmations": 26397,
  "difficulty": 86388558925171.02,
  "hash": "0000000000000000000320283a032748cef8227873ff4872689bf23f1cda83a5",
  "feerate_percentiles": [
    108,
    134,
    200,
    350,
    1063
  ],
  ],
  "height": 840000,
  "height": 840000,
  "max_fee": 799987800,
  "max_fee_rate": 3604819,
  "max_tx_size": 166989,
  "median_fee": 34800,
  "median_fee": 34800,
  "median_time": 1713570208,
  "merkle_root": "031b417c3a1828ddf3d6527fc210daafcc9218e81f98257f88d4d43bd7a5894f",
  "min_fee": 2060,
  "min_fee_rate": 15,
  "next_block": "00000000000000000001b48a75d5a3077913f3f441eb7e08c13c43f768db2463",
  "nonce": 3932395645,
  "previous_block": "0000000000000000000172014ba58d66455762add0512355ad651207918494ab",
  "subsidy": 312500000,
  "target": "0000000000000000000342190000000000000000000000000000000000000000",
  "timestamp": 1713571767,
  "total_fee": 3762561499,
  "total_size": 2325218,
  "total_weight": 3991793,
  "transaction_count": 3050,
  "version": 710926336
}
GET /r/blocktime

Description

UNIX time stamp of latest block.

Exemplo

curl -s  \
  http://0.0.0.0:80/r/blocktime
1729362253
GET /r/children/<INSCRIPTION_ID>

Description

The first 100 child inscription ids.

Exemplo

curl -s \
  http://0.0.0.0:80/r/children/e317a2a5d68bd1004ae15a06175a319272a10389ff125c98820389edef8b0a94i0
{
  "ids": [
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei0",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei1",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei2",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei3",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei4",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei5",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei6",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei7",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei8",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei9",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei10",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei11",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei12",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei13",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei14",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei15",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei16",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei17",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei18",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei19",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei20",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei21",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei22",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei23",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei24",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei25",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei26",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei27",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei28",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei29",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei30",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei31",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei32",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei33",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei34",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei35",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei36",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei37",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei38",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei39",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei40",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei41",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei42",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei43",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei44",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei45",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei46",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei47",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei48",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei49",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei50",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei51",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei52",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei53",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei54",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei55",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei56",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei57",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei58",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei59",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei60",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei61",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei62",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei63",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei64",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei65",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei66",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei67",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei68",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei69",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei70",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei71",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei72",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei73",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei74",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei75",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei76",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei77",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei78",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei79",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei80",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei81",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei82",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei83",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei84",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei85",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei86",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei87",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei88",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei89",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei90",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei91",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei92",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei93",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei94",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei95",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei96",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei97",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei98",
    "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei99"
  ],
  "more": true,
  "page": 0
}
GET /r/children/<INSCRIPTION_ID>/<PAGE>

Description

The set of 100 child inscription ids on <PAGE>.

Exemplo

curl -s \
  http://0.0.0.0:80/r/children/e317a2a5d68bd1004ae15a06175a319272a10389ff125c98820389edef8b0a94i0/9
{
  "ids": [
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci60",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci61",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci62",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci63",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci64",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci65",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci66",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci67",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci68",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci69",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci70",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci71",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci72",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci73",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci74",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci75",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci76",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci77",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci78",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci79",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci80",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci81",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci82",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci83",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci84",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci85",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci86",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci87",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci88",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci89",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci90",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci91",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci92",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci93",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci94",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci95",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci96",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci97",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci98",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci99",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci100",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci101",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci102",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci103",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci104",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci105",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci106",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci107",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci108",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci109",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci110",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci111",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci112",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci113",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci114",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci115",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci116",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci117",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci118",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci119",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci120",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci121",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci122",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci123",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci124",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci125",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci126",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci127",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci128",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci129",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci130",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci131",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci132",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci133",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci134",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci135",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci136",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci137",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci138",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci139",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci140",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci141",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci142",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci143",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci144",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci145",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci146",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci147",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci148",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci149",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci150",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci151",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci152",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci153",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci154",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci155",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci156",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci157",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci158",
    "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci159"
  ],
  "more": true,
  "page": 9
}
GET /r/children/<INSCRIPTION_ID>/inscriptions

Description

Details of first 100 child inscriptions of INSCRIPTION_ID.

Exemplo

curl -s \
  http://0.0.0.0:80/r/children/e317a2a5d68bd1004ae15a06175a319272a10389ff125c98820389edef8b0a94i0/inscriptions
{
  "children": [
    {
      "charms": [],
      "fee": 417,
      "height": 861224,
      "id": "89e4fb2e5ea5c6301b9ac915d1d05619776f5ca41fc02fb6e5dced16f2cabfdei0",
      "number": 75744297,
      "output": "236ce10d9cd3f9f7f824a07686f7d7bce0d64a400f0328ce5bb2191a60d15262:0",
      "sat": null,
      "satpoint": "236ce10d9cd3f9f7f824a07686f7d7bce0d64a400f0328ce5bb2191a60d15262:0:0",
      "timestamp": 1726282054
    },
    ...
  ],
  "more": true,
  "page": 0
}
GET /r/children/<INSCRIPTION_ID>/inscriptions/<PAGE>

Description

Details of 100 child inscriptions of INSCRIPTION_ID paginated by PAGE.

Exemplo

curl -s \
  http://0.0.0.0:80/r/children/e317a2a5d68bd1004ae15a06175a319272a10389ff125c98820389edef8b0a94i0/inscriptions/9
{
  "children": [
    {
      "charms": [
        "vindicated"
      ],
      "fee": 418,
      "height": 861239,
      "id": "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci60",
      "number": 75750346,
      "output": "e8ebadbd9ce4e4372b1b9b30fd5cb831c1f48ff2d0f8f1d1de2e190a2f5bcbe8:1",
      "sat": null,
      "satpoint": "e8ebadbd9ce4e4372b1b9b30fd5cb831c1f48ff2d0f8f1d1de2e190a2f5bcbe8:1:0",
      "timestamp": 1726292222
    },
    {
      "charms": [
        "vindicated"
      ],
      "fee": 418,
      "height": 861239,
      "id": "b205c9d1dc054f24c13aeb886fba42d9dd0aac3cd9bdc4f034affc90f3a0bf3ci61",
      "number": 75750347,
      "output": "aa46f14bec8842edd7b7c1b79224cd186dda6c5577cd65196da77d7e27b00b0c:0",
      "sat": null,
      "satpoint": "aa46f14bec8842edd7b7c1b79224cd186dda6c5577cd65196da77d7e27b00b0c:0:0",
      "timestamp": 1726292222
    },
    ...
  ],
  "more": true,
  "page": 9
}
GET /r/undelegated-content/<INSCRIPTION_ID>

Description

Undelegated content of an inscription.

GET /r/inscription/<INSCRIPTION_ID>

Description

Information about an inscription.

Exemplo

curl -s \
  http://0.0.0.0:80/r/inscriptions/13130e4b299ed361f2a734f6433844ef0f0211cd504e0ca8f4d4ab20f51b8127i0
{
  "charms": [
    "vindicated"
  ],
  "content_type": "model/gltf-binary",
  "content_length": 3726620,
  "delegate": null,
  "fee": 7499396,
  "height": 866266,
  "id": "13130e4b299ed361f2a734f6433844ef0f0211cd504e0ca8f4d4ab20f51b8127i0",
  "number": 76545890,
  "output": "13130e4b299ed361f2a734f6433844ef0f0211cd504e0ca8f4d4ab20f51b8127:1",
  "sat": null,
  "satpoint": "13130e4b299ed361f2a734f6433844ef0f0211cd504e0ca8f4d4ab20f51b8127:1:0",
  "timestamp": 1729297535,
  "value": 1313,
  "address": "bc1phj8hgzeptthkur9se2jq5vex7vlyhc8ul689svxea0xsn6r43z7sekz6qh"
}
GET /r/metadata/<INSCRIPTION_ID>

Description

JSON string containing the hex-encoded CBOR metadata.

Exemplo

curl -s \
  http://0.0.0.0:80/r/metadata/b1ef66c2d1a047cbaa6260b74daac43813924378fe08ef8545da4cb79e8fcf00i0
"ac6c50484f544f475241504845526a5041524b4552204441596643414d4552416c43414e4f4e20454f532d31566446494c4d6f4b4f44414b20454b54415220313030644c454e53781a5a4549535320504c414e415220542a2038354d4d20462f312e346d5348555454455220535045454465312f31323568415045525455524563462f38664d4f44454c5318646650484f544f531903e8684c4f434154494f4e774c4f5320414e47454c45532c2043414c49464f524e49416443524557a36a415353495354414e4345826e41524941532042555244454c4c49684e4153204e495858664d414b45555087754544454e2053594d4f4e45204c415454414e5a494f6a4d494d49204d455945526e53414d414e544841204c455052456f4c4953455454452053414e54414e416e4a45535349434120564552474f4e63504f4e724d415941204e414b415241205352554f4348644841495283694a414b4920494348556c4a4f43454c594e2056454741724a4546464552534f4e2054414e475241444966504154524f4e6e434153455920524f4441524d4f52674c4943454e534563434330"
GET /r/parents/<INSCRIPTION_ID>

Description

The first 100 parent inscription ids.

Exemplo

curl -s \
  http://0.0.0.0:80/r/parents/b1ef66c2d1a047cbaa6260b74daac43813924378fe08ef8545da4cb79e8fcf00i0
{
  "ids": [
    "6fb976ab49dcec017f1e201e84395983204ae1a7c2abf7ced0a85d692e442799i0"
  ],
  "more": false,
  "page_index": 0
}
GET /r/parents/<INSCRIPTION_ID>/<PAGE>

Description

The set of 100 parent inscription ids on <PAGE>.

Exemplo

curl -s \
  http://0.0.0.0:80/r/parents/b1ef66c2d1a047cbaa6260b74daac43813924378fe08ef8545da4cb79e8fcf00i0/9
{
  "ids": [],
  "more": false,
  "page_index": 9
}
GET /r/parents/<INSCRIPTION_ID>/inscriptions

Description

Details of the first 100 parent inscriptions.

Exemplo

curl -s -H "Accept: application/json" \
  http://0.0.0.0:80/r/parents/4a86d375a70a4ecc7ffcd910e05f5e0771ae6a50133543f1bf6b5651adbf0019i0/inscriptions
{
  "parents": [
    {
      "charms": [],
      "fee": 21730,
      "height": 775167,
      "id": "92c409fb749b1005fe9a1482d3a74a8e73936a72644f4979df8184aba473841di0",
      "number": 4573,
      "output": "4a86d375a70a4ecc7ffcd910e05f5e0771ae6a50133543f1bf6b5651adbf0019:13",
      "sat": null,
      "satpoint": "4a86d375a70a4ecc7ffcd910e05f5e0771ae6a50133543f1bf6b5651adbf0019:13:0",
      "timestamp": 1675607405
    },
    {
      "charms": [],
      "fee": 14977,
      "height": 775167,
      "id": "c689cbcb8e31858c5e1476d04af4e7e7cedd1fb4fb9cae5bb62036936a08282di0",
      "number": 4576,
      "output": "4a86d375a70a4ecc7ffcd910e05f5e0771ae6a50133543f1bf6b5651adbf0019:14",
      "sat": null,
      "satpoint": "4a86d375a70a4ecc7ffcd910e05f5e0771ae6a50133543f1bf6b5651adbf0019:14:0",
      "timestamp": 1675607405
    },
    {
      "charms": [],
      "fee": 12533,
      "height": 775167,
      "id": "982d15f6b3510307ef845f1cb3352b27e2b048616b7c0642367ebc05bbd36d3ai0",
      "number": 4578,
      "output": "4a86d375a70a4ecc7ffcd910e05f5e0771ae6a50133543f1bf6b5651adbf0019:12",
      "sat": null,
      "satpoint": "4a86d375a70a4ecc7ffcd910e05f5e0771ae6a50133543f1bf6b5651adbf0019:12:0",
      "timestamp": 1675607405
    }
    ...
  ],
  "more": true,
  "page": 0
}
GET /r/parents/<INSCRIPTION_ID>/inscriptions/<PAGE>

Description

Details of the set of 100 parent inscriptions on <PAGE>.

Exemplo

curl -s -H "Accept: application/json" \
  http://0.0.0.0:80/r/parents/4a86d375a70a4ecc7ffcd910e05f5e0771ae6a50133543f1bf6b5651adbf0019i0/inscriptions/1
{
  "parents": [
    {
      "charms": [],
      "fee": 65049,
      "height": 775443,
      "id": "972994a55c338e8458bfd156642f4aa56bdab54c68658d6b64d932fedef3c81fi0",
      "number": 10804,
      "output": "4a86d375a70a4ecc7ffcd910e05f5e0771ae6a50133543f1bf6b5651adbf0019:102",
      "sat": null,
      "satpoint": "4a86d375a70a4ecc7ffcd910e05f5e0771ae6a50133543f1bf6b5651adbf0019:102:0",
      "timestamp": 1675780989
    },
    {
      "charms": [],
      "fee": 60111,
      "height": 775443,
      "id": "dbc21f2d3323df24a378fef3bdbe4e79c4947ce7da54968affcdefa7eda80d21i0",
      "number": 10805,
      "output": "4a86d375a70a4ecc7ffcd910e05f5e0771ae6a50133543f1bf6b5651adbf0019:110",
      "sat": null,
      "satpoint": "4a86d375a70a4ecc7ffcd910e05f5e0771ae6a50133543f1bf6b5651adbf0019:110:0",
      "timestamp": 1675780989
    },
    {
      "charms": [],
      "fee": 49881,
      "height": 775443,
      "id": "97870f7cf65992a66d0413a7e6773190e686f185500f78c30f989f2d1f1ba922i0",
      "number": 10806,
      "output": "4a86d375a70a4ecc7ffcd910e05f5e0771ae6a50133543f1bf6b5651adbf0019:101",
      "sat": null,
      "satpoint": "4a86d375a70a4ecc7ffcd910e05f5e0771ae6a50133543f1bf6b5651adbf0019:101:0",
      "timestamp": 1675780989
    }
    ...
  ],
  "more": false,
  "page": 1
}
GET /r/sat/<SAT_NUMBER>

Description

The first 100 inscription ids on a sat. Requires index with --index-sats flag.

Exemplo

curl -s \
  http://0.0.0.0:80/r/sat/153899938226999
{
  "ids": [
    "f4ad941ee3892598f34777c4b7b3e2ccccece58ab21aa4364d0d2066daf5b427i3",
    "a4bca99fba23122e113bfb9a8010095b2005c4d73fa5b5532de60752b768a3e5i0",
    "11b4097bc9ff238c930ed4df44a6a5943ac1b570d424d7e13425244e3f345db7i0",
    "488c32e4dfcdc0fa376c2c2af2d572a12f4d33d3245689d1a9f74167f1e14678i0"
  ],
  "more": false,
  "page": 0
}
GET /r/sat/<SAT_NUMBER>/<PAGE>

Description

The set of 100 inscription ids on <PAGE>. Requires index with --index-sats flag.

Exemplo

curl -s \
  http://0.0.0.0:80/r/sat/1499676120331756/1
{
  "ids": [
    "c18b2db646cd23b9745bd40a249fc84975b1105a637f3784aa4dbd46a839750fi0",
    "7d7c2db251779ea4147ed881daac210bfa416f39846b60e3e6813b713a393d9ai0",
    "f42913d8c95f055b586fa9a6c71d2432c7ac860a9a4524c0abf83b1dbe175383i0",
    "52fd615dc56a8efb241e4de141692cfa57b1af0ac5d65da7e9d5f12841c2c56ci0",
    "cd65b92b9d4080a850eaf2c67c8e0c40c61ecdebeea9ae03936947f981a7b54ai0",
    "708ac95fe35bcfef5403f13e5e32c927adb413ce39597abc20f8e8fa4fa1d005i0",
    "2399e57a8f598b4487dda149942404e5002321139997280c736dcd0c3a806672i0",
    "4a2b37c1e017646a9ba2aa13487ae55b8621972aac349426df680eaf66b90571i0",
    "2a7b8b23f2a36bcff7ab23013cd13b303b8797cfac75e88d4daf1a9ddcdbdc6ai0",
    "b4cac4e0c9a9ccf6428c1e3869bbbcc0e094d39d972094af21a3ca342a9afedbi0",
    "c5f4bb989cc8bca10079287272d07b77b562938eaad35b3dface018cb6ac1c38i0"
  ],
  "more": false,
  "page": 1
}
GET /r/sat/<SAT_NUMBER>/at/<INDEX>

Description

The inscription id at <INDEX> of all inscriptions on a sat. <INDEX> may be a negative number to index from the back. 0 being the first and -1 being the most recent for example. Requires index with --index-sats flag.

Exemplo

curl -s \
  http://0.0.0.0:80/r/sat/153899938226999/at/-1
{
  "id": "488c32e4dfcdc0fa376c2c2af2d572a12f4d33d3245689d1a9f74167f1e14678i0"
}
GET /r/sat/<SAT_NUMBER>/at/<INDEX>/content

Description

The content of the inscription at <INDEX> on a sat. <INDEX> may be a negative number to index from the back. 0 being the first and -1 being the most recent. Requires index with --index-sats flag.

Exemplo

Fetch the content of the most recently created inscription on sat 289488340427831.

curl -s \
  http://0.0.0.0:80/r/sat/289488340427831/at/-1/content
Hello, world!
GET /r/tx/<TRANSACTION_ID>

Description

Get hex-encoded transaction with <TRANSACTION_ID>. In the event of a future change to Bitcoin that changes transaction serialization in a backwards-incompatible fashion, such as SegWit, this endpoint is guaranteed to remain backwards compatible.

Exemplo

curl -s http://0.0.0.0:80/r/tx/60bcf821240064a9c55225c4f01711b0ebbcab39aa3fafeefe4299ab158536fa
"0100000000010183572872dcb32bee57003d53c2b8dbb5bc5819ff6478052599911f7778d1c7bd0000000000fdffffff011027000000000000225120e41e0cba05c6ac797cf543ff9a6c619a91a53813e59146d1e32ea89747b111a603407aa50d93d6fc01265fd52d3edc93af4e009ccc1a704ce1b5cb8ede1412a5df31eba587d080b3dc903ceb9002ed9d921aad323fd44d7b4dc2a1ad2ea12d4360424d20c7a3a38df198a4fcde7d5dac5819ed19ff4d25bb893c9511f8e1f51d59326effac0063036f7264010118746578742f706c61696e3b636861727365743d7574662d3800077072696d65730a6821c1c7a3a38df198a4fcde7d5dac5819ed19ff4d25bb893c9511f8e1f51d59326eff00000000"
GET /r/utxo/<OUTPOINT>

Description

Get assets held by an unspent transaction output.

Examples

Unspent transaction output with server without any indices:

curl -s \
  http://0.0.0.0:80/r/utxo/4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b:0
{
  "inscriptions": null,
  "runes": null,
  "sat_ranges": null,
  "value": 5000000000
}

With rune, inscription, and sat index:

curl -s \
  http://0.0.0.0:80/r/utxo/626860df36c1047194866c6812f04c15ab84f3690e7cc06fd600c841f1943e05:0
{
  "inscriptions": [
    "6fb976ab49dcec017f1e201e84395983204ae1a7c2abf7ced0a85d692e442799i0"
  ],
  "runes": {
    "UNCOMMON•GOODS": {
      "amount": 6845,
      "divisibility": 0,
      "symbol": "⧉"
    }
  },
  "sat_ranges": [
    [
      1905800627509113,
      1905800627509443
    ]
  ],
  "value": 330
}

   

Note: <SAT_NUMBER> only allows the actual number of a sat no other sat notations like degree, percentile or decimal. We may expand to allow those in the future.

Responses from most of the above recursive endpoints are JSON. For backwards compatibility, some endpoints are supported which only return plain-text responses.

  • /blockheight: altura do bloco mais recente.
  • /blockhash: hash do bloco mais recente.
  • /blockhash/<ALTURA>: hash do bloco em uma determinada altura de bloco.
  • /blocktime: marca de tempo UNIX do bloco mais recente.

See examples for on-chain examples of inscriptions that feature this functionality.

Rendering

Aspect Ratio

Inscriptions should be rendered with a square aspect ratio. Non-square aspect ratio inscriptions should not be cropped, and should instead be centered and resized to fit within their container.

Maximum Size

The ord explorer, used by ordinals.com, displays inscription previews with a maximum size of 576 by 576 pixels, making it a reasonable choice when choosing a maximum display size.

Image Rendering

The CSS image-rendering property controls how images are resampled when upscaled and downscaled.

When downscaling image inscriptions, image-rendering: auto, should be used. This is desirable even when downscaling pixel art.

When upscaling image inscriptions other than AVIF, image-rendering: pixelated should be used. This is desirable when upscaling pixel art, since it preserves the sharp edges of pixels. It is undesirable when upscaling non-pixel art, but should still be used for visual compatibility with the ord explorer.

When upscaling AVIF and JPEG XL inscriptions, image-rendering: auto should be used. This allows inscribers to opt-in to non-pixelated upscaling for non-pixel art inscriptions. Until such time as JPEG XL is widely supported by browsers, it is not a recommended image format.

URIs

This document is a draft. It should be considered provisional and subject to change at any time. The ord: schema has not been registered with the IANA.

Inscriptions content can be addressed with inscription URIs using the ord: schema.

Inscription URIs consist of ord: followed by a target inscription ID. ord: is not followed by //, since the schema-specific part of inscription URIs, namely the target inscription ID, does not contain a hierarchical structure.

For example, the inscription URI of the genesis inscription is:

ord:6fb976ab49dcec017f1e201e84395983204ae1a7c2abf7ced0a85d692e442799i0

Inscription URIs match the following verbose regular expression:

(?i)            # case-insensitive
ord:            # schema
[0-9a-f]{64}    # transaction ID
i               # separator
(0|[1-9][0-9]*) # inscription index

Inscription URIs are case-insensitive and can thus use the more compact alphanumeric mode when encoded as QR codes. Lowercase is, however, the preferred presentation style.

The referent of an inscription URI is an HTTP resource with the content, content type, content encoding, and content length corresponding to the inscription with the given ID.

The referent of an inscription URI is always the original content of the target inscription, and not the content of the delegate, regardless of whether or not the target inscription has a delegate.

Inscription Examples

Delegate

Metadata

  • Each member in the FUN collection has metadata that describes its attributes.
  • This inscription uses its own metadata to draw the ordinal image.

Procedência

  • Inscription 0 is the parent inscription for Casey's sugar skull collection, a grandparent for the FUN! collection, and the grandparent for the sleepiest rune.
  • With the Rug Me collection, owners are able to change the background color by inscribing a child to it.
  • This Bitcoin Magazine Cover renders the children as part of the parent inscription.
  • The yellow_ord_bot has many different quotes as cursed children.
  • The Spellbound collection from the Wizard of Ord utilizes recursion, delegation, metadata, provenance, postage, location, compression.

Recursão

  • Inscription 12992 was the first recursive inscription inscribed on mainnet.
  • OnChain Monkey Genesis (BTC) was one of the earliest collections to use recursion to create its PFP art.
  • Blob is a recursive generative collection that seeds its generation with metadata and uses threeJS, React 3 Fiber and other libraries recursively.
  • The GPU Ordinals collection takes recursive content and transforms it before rendering, creating what is termed as 'super-recursion'. Use Google Chrome and headphones to experience the spatial audio.
  • The Abstractii Genesis collection uses the inscriptions ID as a seed to generate its art.
  • The Abstractii Evolved generative collection uses the recursive blockheight endpoint as a seed to generate its art.
  • This code is called recursively in this inscription to generate music.
  • This code is called recursively in this inscription, allowing it to function as a pixel art drawing program.

Runes

As runes permitem que as transações de Bitcoin gravem, mintem e transfiram artefatos digitais nativas do Bitcoin.

Enquanto cada inscrição é única, cada unidade de uma rune é a mesma. São tokens intercambiáveis, adequados para uma variedade de propósitos.

Pedras Rúnicas (Runestones)

As mensagens do protocolo rune, chamadas runestones, são armazenadas em resultados de transação no Bitcoin.

O output da pubkey de uma runestone começa com OP_RETURN, seguido por OP_13, seguido por zero ou mais dados inseridos. Estes dados são concatenados e descodificados numa sequência de números inteiros de 128 bits e finalmente transformados numa runestone.

Uma transação pode ter, no máximo, uma runestone.

Uma runestone pode gravar uma nova rune, mintar uma rune existente, e transferir runes das entradas (input) de uma transação para as suas saídas (outputs).

Uma saída (output) de transação pode conter saldos de qualquer número de runes.

As runes são identificadas por IDs, que consistem no bloco em que uma rune foi gravada e no índice da transação de gravação dentro desse bloco, representados em texto como BLOCO:TX. Por exemplo, o ID da rune gravada na 20ª transação do 500º bloco é 500:20.

Gravações

As runes passam a existir ao serem gravadas. A gravação cria uma rune e estabelece as suas propriedades. Uma vez estabelecidas, estas propriedades são imutáveis, mesmo para o seu criador (etcher).

Nome

Os nomes consistem nas letras de A a Z e têm entre uma e vinte e seis letras de comprimento. Por exemplo, UNCOMMONGOODS é um nome de uma rune.

Os nomes podem conter separadores, representados como pontos, para ajudar na legibilidade. UNCOMMONGOODS pode ser gravado como UNCOMMON•GOODS.

A singularidade de um nome não depende dos separadores. Assim, uma rune não pode ser gravada com a mesma sequência de letras de uma rune existente, mesmo que tenha separadores diferentes.

Os separadores só podem ser colocados entre duas letras. Por fim, os separadores não contam para o número total de letras.

Divisibilidade

A divisibilidade de uma rune é o quanto que pode ser dividida nas suas unidades atómicas. A divisibilidade é expressa como o número de dígitos permitidos após o ponto decimal numa quantidade de runes. Uma rune com divisibilidade 0 não pode ser dividida. Uma unidade de uma rune com divisibilidade 1 pode ser dividida em dez subunidades, uma rune com divisibilidade 2 pode ser dividida em cem, e assim em diante.

Símbolo

O símbolo monetário de uma rune é um único ponto de código Unicode, por exemplo $, , ou 🧿, exibido após a quantidade dessa rune. "

101 unidades atómicas de uma rune com divisibilidade 2 e símbolo 🧿 seriam representadas como 1.01 🧿.

Se uma rune não tiver um símbolo, deve ser usado o sinal de moeda genérico ¤, também chamado de escaravelho.

Pré-mineração

O gravador de uma rune pode, opcionalmente, atribuir a si próprio unidades da rune que está a ser gravada. Esta atribuição é designada por pré-mineração.

Termos

A rune may have an open mint, allowing anyone to create and allocate units of that rune for themselves. An open mint is subject to terms, which are set upon etching.

Um mint está aberto enquanto todos os termos do mint forem satisfeitos e fechado quando algum deles não o for. Por exemplo, um mint pode estar limitado a uma altura inicial, uma altura final e um limite, e estará aberto entre a altura inicial e a altura final, ou até que o limite seja atingido, consoante o que ocorrer primeiro.

Limite

O número de vezes que uma rune pode ser mintada é o seu limite. Um mint acaba quando o limite é atingido.

Quantidade

Cada transação de um mint cria uma quantidade fixa de novas unidades de uma rune.

Altura Inicial

Um mint começa a partir do bloco com a altura inicial indicada.

Altura Final

Uma rune não pode ser mintada no bloco ou após o bloco com da altura final indicada.

Desvio inicial

O mint é aberto a partir do bloco cuja altura é igual ao desvio inicial mais a altura do bloco em que a rune foi gravada.

Desvio Final

Uma rune não pode ser mintada no bloco cuja altura é igual ao desvio final mais a altura do bloco em que a rune foi gravada.

Mintar

Enquanto o mint de uma rune estiver aberta, qualquer pessoa pode criar uma transação de mint que crie uma quantidade fixa de novas unidades dessa rune, sujeita aos termos do mint.

Transferência

Quando os input de uma transação contêm runes, ou quando novas runes são criadas por uma pré-mineração ou mint, essas runes são transferidas para os outputs desta transação. O runestone de uma transação pode alterar a forma de como os inputs de runes são transferidos para os outputs.

Éditos (Edicts)

A runestone may contain any number of edicts. Edicts consist of a rune ID, an amount, and an output number. Edicts are processed in order, allocating unallocated runes to outputs.

Pointer

Depois de todos os éditos serem processados, as runes não atribuídas restantes são transferidas para o primeiro output não OP_RETURN da transação. Uma rune pode, opcionalmente, conter um ponteiro que especifica um output alternativo padrão.

Queimar

As runes podem ser queimadas transferindo-as para um output OP_RETURN com um édito ou ponteiro.

Cenotáfios

As runestones podem ser mal formadas por várias razões, incluindo “non-pushdata opcodes” na runestone OP_RETURN, variantes inválidos, ou campos de runestone não reconhecidos.

As runes malformadas são designadas por cenotáfios.

As runes introduzidas numa transação com um cenotáfio são queimadas. As runes gravadas numa transação com um cenotáfio são consideradas não-mintáveis. Os mints numa transação com um cenotáfio contam para o limite de mints, mas as runes mintadas são queimadas.

Os cenotáfios são um mecanismo de atualização, permitindo que as runestones recebam novas semânticas que alteram a forma de como as runes são criadas e transferidas, sem enganar os clientes não atualizados quanto à localização dessas runes, uma vez que os clientes não atualizados verão essas runes como tendo sido queimadas.

As Runes não têm uma Especificação

ord é a implementação de referência das Runes e constitui a especificação normativa do protocolo de Runes.

Nada do que ler aqui ou noutro lugar, para além do código ord, é uma especificação. Esta descrição em prosa do protocolo runes é fornecida como um guia para o comportamento do ord, e o código do próprio ord deve ser sempre consultado para confirmar a exatidão de qualquer descrição em prosa do mesmo.

Se, devido a um bug no ord, este documento divergir do comportamento real do ord e for impraticável alterar o comportamento do ord, este documento será corrigido para concordar com o comportamento real do ord.

Os utilizadores de implementações alternativas fazem-no por sua responsabilidade e risco, e os serviços que desejem integrar Runes são fortemente encorajados a usar o próprio ord para fazer transações de Runes, e para determinar o estado das runes, mints e saldos.

Pedras Rúnicas (Runestones)

As mensagens do protocolo Rune são designadas por "runestones".

O protocolo das Runes foi ativado no bloco 840.000. As runestones de blocos anteriores são ignoradas.

Em termos abstractos, as runestones contêm os seguintes campos:

#![allow(unused)]
fn main() {
struct Runestone {
  edicts: Vec<Edict>,
  etching: Option<Etching>,
  mint: Option<RuneId>,
  pointer: Option<u32>,
}
}

As runes são criadas por gravuras (etchings):

#![allow(unused)]
fn main() {
struct Etching {
  divisibility: Option<u8>,
  premine: Option<u128>,
  rune: Option<Rune>,
  spacers: Option<u32>,
  symbol: Option<char>,
  terms: Option<Terms>,
}
}

Que podem conter termos de mintar:

#![allow(unused)]
fn main() {
struct Terms {
  amount: Option<u128>,
  cap: Option<u128>,
  height: (Option<u64>, Option<u64>),
  offset: (Option<u64>, Option<u64>),
}
}

As runes são transferidas por éditos (edict):

#![allow(unused)]
fn main() {
struct Edict {
  id: RuneId,
  amount: u128,
  output: u32,
}
}

Os IDs das runes são codificadas como a altura do bloco e o índice de transação da transação em que a rune foi gravada:

#![allow(unused)]
fn main() {
struct RuneId {
  block: u64,
  tx: u32,
}
}

Os IDs das runes são representados em texto como BLOCK:TX.

Os nomes das runes são codificados como números inteiros de base-26 modificados:

#![allow(unused)]
fn main() {
struct Rune(u128);
}

Decifrar

As runestones são decifradas a partir das transacções com os seguintes passos:

  1. Encontrar o primeiro output da transação cujo script pubkey começa por OP_RETURN OP_13.

  2. Concatenar todos os dados seguintes num buffer de carga útil.

  3. Descodificar uma sequência de números inteiros LEB128 de 128 bits a partir do buffer de carga útil.

  4. Analisar a sequência de números inteiros numa mensagem não escrita. (untyped).

  5. Analisar a mensagem não escrita (untyped) numa runestone.

A descodificação pode produzir uma runestone malformada, designada por cenotáfio.

Localizar o output da runestone

Outputs are searched for the first script pubkey that beings with OP_RETURN OP_13. If deciphering fails, later matching outputs are not considered.

Montar o buffer da carga útil (payload)

A memória intermédia da carga útil é montada concatenando os envios de dados, após OP_13, na pubkey do script correspondente.

Os data pushes são os opcodes 0 a 78, inclusive. Se for encontrado um opcode non-data push, i.e., qualquer opcode igual ou superior ao opcode 79, a runestone decifrada é um cenotáfio sem gravura, mint ou édito.

Descodificação da sequência de inteiros

Uma sequência de números inteiros de 128 bits é descodificada a partir da carga útil como varints LEB128.

Os varints LEB128 são codificados como uma sequência de bytes, cada um dos quais com o bit mais significativo definido, exceto o último.

Se uma varint LEB128 contiver mais de 18 bytes, ia ultrapassar (overflow) um u128, ou é truncada, o que significa que o fim da memória intermédia do payload é atingido antes de se encontrar um byte com o bit de continuação não definido, a runestone descodificada é um cenotáfio sem gravação, mints ou éditos.

Analisar a mensagem

A sequência de inteiros é analisada numa mensagem não escrita (untyped):

#![allow(unused)]
fn main() {
struct Message {
  fields: Map<u128, Vec<u128>>,
  edicts: Vec<Edict>,
}
}

Os números inteiros são interpretados como uma sequência de pares etiqueta/valor (tag/value), com etiquetas duplicadas que acrescentam o seu valor ao valor do campo.

Se for encontrada uma etiqueta com valor zero, todos os números inteiros seguintes são interpretados como uma série de éditos de quatro números, cada um consistindo numa altura de bloco de ID de rune, índice de transação de ID de rune, montante e output.

#![allow(unused)]
fn main() {
struct Edict {
  id: RuneId,
  amount: u128,
  output: u32,
}
}

As alturas dos blocos ID de rune e os índices de transação nos éditos são codificados em delta.

A descodificação do ID da rune do édito começa com uma altura de bloco de base e um índice de transação de zero. Ao descodificar cada ID de rune, primeiro o delta da altura do bloco codificado é adicionado à altura do bloco de base. Se o delta da altura do bloco for zero, o número inteiro seguinte é um delta do índice de transação. Se o delta da altura do bloco for superior a zero, o número inteiro seguinte é um índice de transação absoluto.

Isto implica que os éditos devem primeiro ser ordenados por ID de rune antes de serem codificados numa runestone.

Por exemplo, para codificar os seguintes éditos:

blocoTXquantidadeoutput
10551
501254
10718
105103

Em primeiro lugar, são ordenados pela altura do bloco e pelo índice da transação:

blocoTXquantidadeoutput
10551
105103
10718
501254

E depois codificado em delta como:

Bloco DeltaTX deltaquantidadeoutput
10551
00103
0218
401254

Se a output de um édito for superior ao número de outputs da transação, se for encontrada uma ID de rune de édito com bloco zero e índice de transação diferente de zero ou se um campo for truncado, ou seja, se for encontrada uma etiqueta sem valor, a rune descodificada é um cenotáfio.

Note-se que, se um cenotáfio for produzido aqui, o cenotáfio não está vazio, o que significa que contém os campos e os éditos, que podem incluir uma gravura e um mint.

Analisar a runestone

A runestone:

#![allow(unused)]
fn main() {
struct Runestone {
  edicts: Vec<Edict>,
  etching: Option<Etching>,
  mint: Option<RuneId>,
  pointer: Option<u32>,
}
}

É analisado a partir da mensagem não assinada utilizando as seguintes etiquetas:

#![allow(unused)]
fn main() {
enum Tag {
  Body = 0,
  Flags = 2,
  Rune = 4,
  Premine = 6,
  Cap = 8,
  Amount = 10,
  HeightStart = 12,
  HeightEnd = 14,
  OffsetStart = 16,
  OffsetEnd = 18,
  Mint = 20,
  Pointer = 22,
  Cenotaph = 126,

  Divisibility = 1,
  Spacers = 3,
  Symbol = 5,
  Nop = 127,
}
}

Note que as etiquetas são agrupadas por paridade, ou seja, se são pares ou ímpares. As etiquetas ímpares não reconhecidas são ignoradas. Os tags pares não reconhecidos produzem um cenotáfio.

All unused tags are reserved for use by the protocol, may be assigned at any time, and should not be used.

Corpo (Body)

A etiqueta Body marca o fim dos campos da runestone, fazendo com que todos os números inteiros seguintes sejam interpretados como éditos.

Bandeiras (Flag)

O campo Flag contém um mapa de bits de bandeiras, cuja posição é 1 << FLAG_VALUE:

#![allow(unused)]
fn main() {
enum Flag {
  Etching = 0,
  Terms = 1,
  Turbo = 2,
  Cenotaph = 127,
}
}

A marca Etching assinala esta transação como incluindo uma gravura.

O sinalizador Terms marca a gravação desta transação como tendo termos de mint abertos.

O sinalizador Turbo marca a gravação desta transação como tendo optado por futuras alterações de protocolo. Estas alterações de protocolo podem aumentar os custos de validação do cliente levemente, ou simplesmente ser muito alta.

A bandeira Cenotaph não é reconhecida.

Se o valor do campo flags após remover as flags reconhecidas for diferente de zero, a runestone é um cenotáfio.

Rune

O campo Rune contém o nome da rune que está a ser gravada. Se a bandeira Etching estiver definida mas o campo Rune for omitido, é atribuído um nome de rune reservado.

Pré-mineração

O campo Premine contém a quantidade de runes pré-mineradas.

Limite

O campo Cap contém o número permitido de mints

Quantidade

O campo Amount contém a quantidade de runes que cada transação de mint recebe.

(altura inicial) HeightStart e (altura final) HeightEnd

Os campos HeightStart e HeightEnd contêm as alturas absolutas do início e do fim do bloco do mint, respetivamente. O mint está aberto a partir do bloco com a altura HeightStart e fecha no bloco com a altura HeightEnd.

(desvio inicial) OffsetStart e (desvio final) OffsetEnd

Os campos OffsetStart e OffsetEnd contêm as alturas inicial e final do bloco do mint, relativamente ao bloco em que a gravura é extraída. o mint abre no bloco com a altura OffsetStart + ETCHING_HEIGHT, e fecha no bloco com a altura OffsetEnd + ETCHING_HEIGHT.

Mint

O campo Mint contém o ID da rune a ser mintada nesta transação.

Pointer

The Pointer field contains the index of the output to which runes unallocated by edicts should be transferred. If the Pointer field is absent, unallocated runes are transferred to the first non-OP_RETURN output. If the pointer is greater than the number of outputs, the runestone is a cenotaph.

Cenotáfio

O campo do Cenotaph não é reconhecido.

Divisibilidade

O campo Divisibility, elevado à potência de dez, é o número de subunidades numa super unidade de runes.

Por exemplo, a quantidade 1234 de diferentes runes com divisibilidade de 0 a 3 é apresentada da seguinte forma:

DivisibilidadeVisualização
01234
1123.4
212.34
31.234
Espaçadores

O campo Spacers é um campo de bits de espaçadores que devem ser apresentados entre as letras do nome da rune.

O campo N do campo de bits, começando pelo menos significativo, determina se deve ou não ser apresentado um espaçador entre o N e o N+1 caráter, começando pela esquerda do nome da rune.

Por exemplo, o nome da rune AAAA é apresentado com espaçadores diferentes:

EspaçadoresVisualização
0b1A•AAA
0b11A•A•AA
0b10AA•AA
0b111A•A•A•A

Os espaçadores à direita são ignorados.

Símbolo

O campo Symbol é o ponto de código Unicode do símbolo de moeda da rune, que deve ser apresentado após os montantes dessa rune. Se uma rune não tiver um símbolo de moeda, deve ser usado o carácter genérico de moeda ¤.

Por exemplo, se o Symbol é # e a divisibilidade é 2, a quantidade de 1234 unidades deve ser apresentada como 12.34 #.

Nop

O campo Nop não é reconhecido.

Cenotáfios

Os cenotáfios têm os seguintes efeitos:

  • Todas as runes introduzidas numa transação que contenha um cenotáfio são queimadas.

  • Se a runestone que produziu o cenotáfio continha uma gravura, a rune gravada tem fornecimento zero e não pode ser mintada.

  • Se a runestone que produziu o cenotáfio for um mint, o mint conta para o limite de mints e as runes mintadas são queimadas.

Cenotáfios podem ser criados se uma runestone contiver uma tag par não reconhecida, uma flag não reconhecida, um édito com um número de saída maior que o número de entradas, um ID de rune com bloco zero e índice de transação diferente de zero, um varint mal formado, uma instrução non-datapush no script pubkey da saída da runestone, uma tag sem um valor subsequente, ou inteiros finais que não fazem parte de um édito.

Executar a runestone

As runestones são executados na ordem em que as suas transações são incluídas nos blocos.

Gravuras

Uma runestone pode conter uma gravura:

#![allow(unused)]
fn main() {
struct Etching {
  divisibility: Option<u8>,
  premine: Option<u128>,
  rune: Option<Rune>,
  spacers: Option<u32>,
  symbol: Option<char>,
  terms: Option<Terms>,
}
}

rune é o nome da rune a ser gravada, codificado como um número inteiro de base-26 modificado.

Os nomes das runes consistem nas letras de A a Z, com a seguinte codificação:

NomeCodificação
A0
B1
Y24
Z25
AA26
AB27
AY50
AZ51
BA52

E assim em diante.

Os nomes de runes AAAAAAAAAAAAAAAAAAAAAAAAAAA e superiores estão reservados.

Se a rune for omitida, é atribuído um nome de rune reservado da seguinte forma

#![allow(unused)]
fn main() {
fn reserve(block: u64, tx: u32) -> Rune {
  Rune(
    6402364363415443603228541259936211926
    + (u128::from(block) << 32 | u128::from(tx))
  )
}
}

6402364363415443603228541259936211926 corresponde ao nome da rune AAAAAAAAAAAAAAAAAAAAAAAAAAA.

Se a rune estiver presente, deve ser desbloqueada a partir do bloco em que a gravura aparece.

Inicialmente, todos os nomes de runes de comprimento igual ou superior a treze, até ao primeiro nome de rune reservado, são desbloqueados.

As runes começam a ser desbloqueadas no bloco 840.000, o bloco em que o protocolo de runes é ativado.

A partir daí, a cada período de 17.500 blocos, o próximo comprimento mais curto de nomes de runes é continuamente desbloqueado. Assim, entre o bloco 840.000 e o bloco 857.500, os nomes das runes de doze caracteres são desbloqueados, entre o bloco 857.500 e o bloco 875.000 os nomes das runes de onze caracteres são desbloqueados, e assim sucessivamente, até que os nomes das runes de um carácter sejam desbloqueados entre o bloco 1.032.500 e o bloco 1.050.000. Vê a base de código ord para saberes o calendário exato do desbloqueio.

Para evitar a execução antecipada de uma gravura que tenha sido transmitida mas não minerada, se um nome de rune não reservado estiver a ser gravado, a transação de gravura deve conter umcompromisso válido para o nome que está a ser gravado.

Um compromisso consiste num envio de dados do nome da rune, codificado como um número inteiro little-endian com o zero byte final eliminado, presente num tapscript de testemunha de entrada em que a output que está a ser gasta tem pelo menos seis confirmações.

Se não estiver presente um compromisso válido, a gravação é ignorada.

Mintar

Uma runestone pode cunhar uma rune ao incluir o ID da rune no campo Mint.

Se o mint estiver aberto, o montante do mint é adicionado às runes não atribuídas no input da transação. Estas runes podem ser transferidas através de éditos e, caso contrário, serão transferidas para o primeira output que não seja OP_RETURN ou para o output designado pelo campo Pointer.

Os mints podem ser feitos em qualquer transação após uma gravação, incluindo no mesmo bloco.

Transferência

As runes são transferidas por éditos (edict):

#![allow(unused)]
fn main() {
struct Edict {
  id: RuneId,
  amount: u128,
  output: u32,
}
}

Uma rune pode conter qualquer número de éditos, que são processados em sequência.

Antes de os éditos serem processados, as runes de entrada, bem como as runes mintadas ou pré-minadas, se existirem, não são atribuídas.

Cada édito diminui o saldo não alocado da rune id e aumenta o saldo alocado aos outputs da transação da rune id.

Se um édito alocar mais runes do que as que não estão atualmente alocadas, o montante é reduzido para o número de runes atualmente não alocadas. Por outras palavras, o édito aloca todas as unidades restantes não alocadas da rune id.

Uma vez que o ID de uma rune gravada não é conhecido antes de ser incluído num bloco, o ID 0:0 é utilizado para significar a rune que está a ser gravada nesta transação, caso exista.

Um édito com amount zero aloca todas as unidades restantes da rune id.

Um édito com output igual ao número de outputs da transação atribui o amount de runes a cada output não OP_RETURN, por ordem.

Um decreto com amount zero e output igual ao número de outputs de transação divide todas as unidades não alocadas de id de rune entre cada output não-OP_RETURN. Se o número de runes não atribuídas não for divisível pelo número de outputs não OP_RETURN, é atribuída 1 rune adicional às primeiras R outputs não OP_RETURN, em que R é o resto após dividir o saldo de unidades não atribuídas de id de rune pelo número de outputs não OP_RETURN.

Se qualquer édito numa rune tiver uma ID de rune com block zero e tx superior a zero, ou um output superior ao número de outputs de transação, a rune é um cenotáfio.

Note que os éditos em cenotáfios não são processados, e todos os inputs das runes são queimados.

Satscard

Satscards are cards which can be used to store bitcoin, inscriptions, and runes.

Slots

Each satscard has ten slots containing private keys with corresponding bitcoin addresses.

Initially, all slots are sealed and the private keys are stored only the satscard.

Slots can be unsealed, which allows the corresponding private key to be extracted.

Unsealing is permanent. If a satscard is sealed, you can have some confidence that private key is not known to anyone. That taking physical ownership of a satscard makes you the sole owner of assets in any sealed slots.

Lifespan

Satscards are expected to have a usable lifetime of ten years. Do not use satscards for long-term storage of valuable assets.

Viewing

When placed on a smartphone, the satscard transmits a URL, beginning with https://satscard.com/start or https://getsatscard.com/start, depending on when it was manufactured.

This URL contains a signature which can be used to recover the address of the current slot. This signature is made over a random nonce, so it changes every time the satscard is tapped, and provides some confidence that the satscard contains the private key.

ord supports viewing the contents of a satscard by entering the full URL into the ord explorer search bar, or the input field on the /satscard page.

For ordinals.com, this is ordinals.com/satscard.

Unsealing

Satscard slots can be unsealed and the private keys extracted using the cktap binary, available in the coinkite-tap-proto repository.

Sweeping

After a satscard slot is unsealed, all assets should be swept from that slot to another wallet, as the private key can now be read via NFC.

ord does not yet support sweeping assets from other wallets, so assets will need to be transferred manually.

Be careful, and good luck!

Perguntas frequentes sobre Teoria Ordinal

O que é a Teoria Ordinal?

A teoria ordinal é um protocolo para atribuir números de série aos satoshis, a menor subdivisão de um bitcoin, e rastrear esses satoshis à medida que são gastos nas transações.

Esses números de série são números grandes, como este 804766073970493. Cada satoshi, que equivale a ¹⁄₁₀₀₀₀₀₀₀₀ de um bitcoin, tem um número ordinal.

A teoria ordinal requer uma sidechain, um token separado ou alterações no Bitcoin?

Não! A teoria ordinal funciona agora, sem uma sidechain, e o único token necessário é o próprio bitcoin.

Para que serve a Teoria Ordinal?

Para colecionar, negociar e inovar. A teoria ordinal atribui identidades a satoshis individuais, permitindo que eles sejam rastreados e negociados individualmente, como colectionáveis e por valor numismático.

A teoria ordinal também permite inscrições, um protocolo para anexar conteúdo arbitrário a satoshis individuais, transformando-os em artefatos digitais nativos do bitcoin.

Como funciona a Teoria Ordinal?

Os números ordinais são atribuídos aos satoshis na ordem em que são minerados. O primeiro satoshi no primeiro bloco tem o número ordinal 0, o segundo tem o número ordinal 1 e o último satoshi do primeiro bloco tem o número ordinal 4.999.999.999.

Os satoshis vivem nos UTXOs, mas as transações destroem os UTXOs e criam novos, então a teoria ordinal usa um algoritmo para determinar como os satoshis saltam das entradas de uma transação para suas saídas.

Felizmente, esse algoritmo é muito simples.

Os satoshis são transferidos na ordem FIFO: primeiro a entrar, primeiro a sair. Pense nas entradas de uma transação como sendo uma lista de satoshis e nas saídas como uma lista de slots, esperando para receber um satoshi. Para atribuir satoshis da entrada para os slots, percorra todos os satoshis das entradas em ordem e atribua cada um ao primeiro slot disponível nas saídas.

Vamos imaginar uma transação com três entradas e duas saídas. As entradas estão à esquerda da seta e as saídas à direita, todas rotuladas com seus valores:

[2] [1] [3] → [4] [2]

Agora vamos rotular a mesma transação com os números ordinais dos satoshis que cada entrada contém e pontos de interrogação para cada slot de saída. Os números ordinais são grandes, então vamos usar letras para representá-los:

[a b] [c] [d e f] → [? ? ? ?] [? ?]

Para descobrir qual satoshi vai para qual saída, percorra os satoshis de entrada em ordem e atribua um ponto de interrogação a cada um:

[a b] [c] [d e f] → [a b c d] [e f]

E quanto às taxas, você pode perguntar? Boa pergunta! Vamos imaginar a mesma transação, desta vez com uma taxa de dois satoshis. Transações com taxas enviam mais satoshis nas entradas do que são recebidos pelas saídas, então para transformar nossa transação em uma que paga taxas, removeremos a segunda saída:

[2] [1] [3] → [4]

The satoshis e and f now have nowhere to go in the outputs:

[a b] [c] [d e f] → [a b c d]

Então eles vão, como taxas, para o minerador que minerou o bloco. O BIP tem os detalhes, mas resumindo, as taxas pagas pelas transações são tratadas como entradas extras para a transação coinbase e são ordenadas como suas transações correspondentes são ordenadas no bloco. A transação coinbase do bloco pode ter a seguinte aparência:

[SUBSIDY] [e f] → [SUBSIDY e f]

Onde posso encontrar os detalhes técnicos?

No BIP!

Por que as inscrições em sats são chamadas de "artefatos digitais" em vez de "NFTs"?

Uma inscrição é uma NFT, mas o termo "artefato digital" é usado em seu lugar, porque é simples, sugestivo e familiar.

A frase "artefato digital" é altamente sugestiva, mesmo para alguém que nunca ouviu o termo antes. Em comparação, NFT é um acrônimo e não fornece nenhuma indicação do que significa se você nunca ouviu o termo anteriormente.

Além disso, "NFT" parece uma terminologia financeira, e a palavra "fungível" e o sentido da palavra "token," conforme usado em "NFT," são incomuns fora de contextos financeiros.

Como as inscrições em sat se comparam a...

NFTs no Ethereum?

As inscrições são sempre imutáveis.

Simplesmente não há como o criador de uma inscrição, ou o proprietário de uma inscrição, modificá-la depois de ter sido criada.

As NFTs no Ethereum podem ser imutáveis, mas muitas não são, e podem ser alteradas ou excluídas pelo proprietário do contrato NFT.

Para garantir que uma determinada NFT no Ethereum seja imutável, o código do contrato deve ser auditado, o que requer conhecimento detalhado de semântica EVM e Solidity.

É muito difícil para um usuário não técnico determinar se uma determinada NFT no Ethereum é mutável ou imutável, e as plataformas daquele ecosistema não fazem nenhum esforço para distinguir se uma NFT é mutável ou imutável, e se o código-fonte do contrato está disponível e foi auditado.

O conteúdo de inscrições estão sempre "on-chain" na cadeia do Bitcoin.

Não há como uma inscrição se referir a conteúdo fora da rede. Isso torna as inscrições mais duráveis, porque o conteúdo não pode ser perdido, e mais escassas, porque os criadores das inscrições devem pagar taxas proporcionais ao tamanho do conteúdo.

Existem alguns conteúdos de NFTs no Ethereum on-chain, mas muito está fora da cadeia, "off-chain," e armazenado em plataformas como IPFS ou Arweave, ou em servidores web tradicionais e totalmente centralizados. Não há garantia de que o conteúdo no IPFS continuará disponível, e alguns conteúdos de NFT armazenados em IPFS já foram perdidos. Plataformas como a Arweave dependem de suposições econômicas fracas e provavelmente falharão catastroficamente quando essas suposições econômicas não forem mais atendidas. Servidores web centralizados podem desaparecer a qualquer momento.

É muito difícil para um usuário não técnico determinar onde o conteúdo de uma determinada NFT do Ethereum está armazenada.

As inscrições são muito mais simples.

As NFTs do Ethereum dependem da rede Ethereum e da máquina virtual, que são altamente complexas, estão em constante mudança e introduzem mudanças por meio de hard forks incompatíveis com versões anteriores.

As inscrições, por outro lado, dependem da blockchain do Bitcoin, que é relativamente simples e conservadora, e que introduz mudanças por meio de soft forks, compatíveis com versões anteriores.

As inscrições são mais seguras.

As inscrições herdam o modelo de transação do Bitcoin, que permite ao usuário ver exatamente quais inscrições estão sendo transferidas por uma transação antes de assiná-la. As inscrições podem ser colocadas à venda usando transações parcialmente assinadas, que não exigem permissão de terceiros – como uma exchange ou marketplace – para transferi-las em nome do usuário.

Em comparação, as NFTs do Ethereum estão infestadas de vulnerabilidades de segurança para o usuário final. É comum assinar transações às cegas, conceder permissões ilimitadas a aplicativos de terceiros sobre as NFTs de um usuário e interagir com contratos inteligentes complexos e imprevisíveis. Isso cria um campo minado de perigos para os usuários das NFTs do Ethereum que simplesmente não são uma preocupação para os teóricos de Ordinals.

As inscrições são mais escassas.

As inscrições exigem que bitcoin seja usado para criá-las, transferi-las e armazená-las. Isso pode parecer uma desvantagem, mas a raison d'etre dos artefatos digitais é ser escasso e, portanto, valioso.

As NFTs do Ethereum, por outro lado, podem ser criadas em qualidades virtualmente ilimitadas com uma única transação, tornando-as inerentemente menos escassas e, portanto, potencialmente menos valiosas.

As inscrições não pretendem apoiar royalties on-chain.

Os royalties na blockchain são, na teoria, uma boa ideia; mas não na prática. O pagamento de royalties não pode ser aplicado on-chain sem restrições complexas e invasivas. O ecossistema de NFTs do Ethereum está atualmente lutando contra a confusão em torno dos royalties e está enfrentando coletivamente a realidade que os royalties on-chain, que foram transmitidos aos artistas como uma vantagem das NFTs, não são possíveis, enquanto as plataformas correm para o fundo do poço e removem o apoio aos royalties.

As inscrições evitam totalmente esta situação, não fazendo falsas promessas de apoio a royalties on-chain, evitando assim a confusão, o caos e a negatividade da situação das NFTs do Ethereum.

As inscrições abrem as portas para novos mercados.

A capitalização de mercado e a liquidez do Bitcoin são maiores do que as do Ethereum por uma grande margem. Grande parte dessa liquidez não está disponível para NFTs do Ethereum, uma vez que muitos Bitcoinheiros preferem não interagir com o ecossistema do Ethereum devido a preocupações relacionadas à simplicidade, segurança e descentralização.

Esses Bitcoinheiros podem estar mais interessados em inscrições do que em NFTs do Ethereum, desbloqueando novas classes de colecionadores.

As inscrições têm um modelo de dados mais rico.

As inscrições consistem em um tipo de conteúdo, também conhecido como tipo MIME, e conteúdo em si, que é uma sequência de bytes arbitrária. Este é o mesmo modelo de dados usado pela web e permite que o conteúdo da inscrição evolua com a web e venha a suportar qualquer tipo de conteúdo suportado por navegadores web, sem exigir alterações no protocolo subjacente.

RGB e ativos do Taro?

RGB e Taro são protocolos de ativos de segunda camada construídos no Bitcoin. Comparados às inscrições, eles são muito mais complicados, mas com muito mais recursos.

A teoria ordinal foi projetada desde o início para artefatos digitais, enquanto o principal caso de uso de RGB e Taro são tokens fungíveis, então a experiência do usuário para inscrições provavelmente será mais simples e refinada do que a experiência do usuário para NFTs do RGB e Taro.

RGB e Taro armazenam conteúdo fora da cadeia (off-chain), o que requer infraestrutura adicional e pode ser perdido. Por outro lado, o conteúdo de inscrição é armazenado na cadeia (on-chain) e não pode ser perdido.

Tanto a teoria ordinal quanto RGB e Taro são muito novos, então isso é especulação, mas o foco da teoria ordinal pode dar-lhe vantagem em termos de recursos para artefatos digitais, incluindo um modelo de conteúdo melhor e recursos como símbolos globalmente únicos.

Ativos do Counterparty?

Counterparty tem seu próprio token, XCP, que é necessário para algumas funcionalidades, algo que faz com que a maioria dos bitcoinheiros o considere uma altcoin, e não uma extensão ou segunda camada do bitcoin.

A teoria ordinal foi projetada desde o início para artefatos digitais, enquanto que o Counterparty foi projetado principalmente para a emissão de tokens financeiros.

Inscrições para...

Artistas

As inscrições estão no Bitcoin. O Bitcoin é a moeda digital com o status mais alto e maior chance de sobrevivência a longo prazo. Se você deseja garantir que sua arte sobreviverá no futuro, não há melhor maneira de publicá-la do que como inscrições.

Armazenamento on-chain mais barato. Com o preço do BTC a 20 mil dólares e a taxa de retransmissão mínima de 1 satoshi por vbyte, a publicação de conteúdo de inscrição custa 50 dólares por 1 milhão de bytes.

As inscrições são novas! As inscrições ainda estão em desenvolvimento e ainda não foram lançadas na rede principal. Isso lhe dá a oportunidade de ser um dos primeiros a adotar e explorar este meio à medida que ele evolui.

As inscrições são simples. As inscrições não requerem redação ou compreensão de contratos inteligentes.

As inscrições desbloqueiam nova liquidez. As inscrições são mais acessíveis e atraentes para os detentores de bitcoin, desbloqueando uma classe inteiramente nova de colecionadores.

As inscrições são projetadas para artefatos digitais. As inscrições são projetadas desde o início para oferecer suporte a NFTs e apresentam um modelo de dados melhor e recursos como símbolos globalmente exclusivos e procedência aprimorada.

As inscrições não suportam royalties na rede. Isso é negativo, mas depende apenas de como você olha para isso. Os royalties na rede têm sido uma bênção para os criadores, mas também criaram uma enorme confusão no ecossistema de NFTs do Ethereum. O ecossistema agora enfrenta essa questão e está engajado em uma corrida para o fundo do poço, em direção a um futuro com royalties opcionais. As inscrições não têm suporte para royalties na rede, porque são tecnicamente inviáveis. Se você optar por criar inscrições, haverá muitas maneiras de contornar essa limitação: reter uma parte de suas inscrições para venda futura, para se beneficiar de valorização futura, ou talvez oferecer vantagens para usuários que respeitem royalties opcionais.

Colecionadores

As inscrições são simples, claras e sem surpresas. Elas são sempre imutáveis e on-line, sem necessidade de diligência especial.

As inscrições estão no Bitcoin. Você pode verificar facilmente a localização e as propriedades das inscrições com o nó completo do Bitcoin que você controla.

Bitcoinheiros

Deixe-me começar esta seção dizendo: a coisa mais importante que a rede Bitcoin faz é descentralizar o dinheiro. Todos os outros casos de uso são secundários, incluindo a teoria ordinal. Os desenvolvedores da teoria ordinal entendem e reconhecem isso, e acreditam que a teoria ordinal ajuda, pelo menos em pequena escala, a missão principal do Bitcoin.

Ao contrário de muitas outras coisas no espaço altcoin, os artefatos digitais têm mérito. Existem, é claro, muitas NFTs que são feias, estúpidas e fraudulentas. No entanto, muitos são fantasticamente criativos, e criar e coletar arte tem sido parteda história humana desde o seu início e antecede até mesmo o comércio e o dinheiro, que também são tecnologias antigas.

O Bitcoin fornece uma plataforma incrível para criar e coletar artefatos digitais de forma segura e descentralizada, que protege usuários e artistas da mesma forma que fornece uma plataforma incrível para enviar e receber valor, e pelos mesmos motivos.

Os Ordinals e inscrições aumentam a demanda por espaço de blocos do Bitcoin, o que aumenta o orçamento de segurança do Bitcoin, o que é vital para salvaguardar a transição do Bitcoin para um modelo de segurança dependente de taxas, já que o subsídio de blocos é reduzido pela metade e se torna insignificante.

O conteúdo da inscrição é armazenado na cadeia (on-chain) e, portanto, a demanda por espaço de bloco para uso em inscrições é ilimitada. Isso cria um comprador de último recurso para todos os espaços de blocos do Bitcoin. Isso ajudará a apoiar um mercado de taxas robusto, que garante que o Bitcoin permaneça seguro.

As inscrições também contrariam a narrativa de que o Bitcoin não pode ser estendido ou usado para novos casos de uso. Se você acompanha projetos como DLCs, Fedimint, Lightning, Taro e RGB, você sabe que essa narrativa é falsa, mas as inscrições fornecem um contra-argumento que é fácil de entender e tem como alvo um caso de uso popular e comprovado, as NFTs, o que o torna altamente legível.

Se as inscrições provarem, como os autores esperam, serem artefatos digitais muito procurados com uma história rica, elas servirão como um gancho poderoso para a adoção do Bitcoin: venha pela diversão e arte rica, fique pelo dinheiro digital descentralizado.

As inscrições são uma fonte extremamente benigna de demanda por espaço de bloco. Ao contrário, por exemplo, das stablecoins, que potencialmente dão aos grandes emissores de stablecoin influência sobre o futuro do desenvolvimento do Bitcoin, ou DeFi, que pode centralizar a mineração introduzindo oportunidades para MEV, arte digital e colecionáveis no Bitcoin são improváveis de produzir entidades individuais com poder suficiente para corromper o Bitcoin. A arte é descentralizada.

Os usuários de inscrições e provedores de serviços são incentivados a executar nós completos do Bitcoin, a publicar e rastrear inscrições e, assim, colocar seu peso econômico na cadeia honesta.

A teoria ordinal e as inscrições não afetam significativamente a fungibilidade do Bitcoin. Os usuários do Bitcoin podem ignorar ambas e não serem afetados.

Esperamos que a teoria ordinal fortaleça e enriqueça o bitcoin, e lhe dê outra dimensão de apelo e funcionalidade, permitindo-lhe servir de forma mais eficaz o seu caso de uso principal como reserva descentralizada de valor da humanidade.

Contribuindo para ord

Etapas sugeridas

  1. Encontre um problema no qual deseja trabalhar.
  2. Descubra qual seria um bom primeiro passo para resolver o problema. Isso pode ser na forma de código, pesquisa, uma proposta ou sugestão de que seja encerrado, se estiver desatualizado ou não for uma boa ideia em primeiro lugar.
  3. Comente sobre o problema com um esboço da primeira etapa sugerida e peça feedback. Claro, você pode mergulhar e começar a escrever código ou testes imediatamente, mas isso evita um esforço potencialmente desperdiçado, se o problema estiver desatualizado, não claramente especificado, bloqueado em outra coisa ou de outra forma não pronto para implementação.
  4. Se o problema exigir uma alteração de código ou correção de bug, abra um rascunho de PR com testes e peça feedback. Isso garante que todos estejam na mesma página sobre o que precisa ser feito ou qual deve ser o primeiro passo para resolver o problema. Além disso, como os testes são obrigatórios, escrever os testes primeiro facilita a confirmação de que a alteração pode ser testada facilmente.
  5. Esmague o teclado aleatoriamente até que os testes sejam aprovados e refatore até que o código esteja pronto para ser enviado.
  6. Marque a PR como pronto para revisão.
  7. Revise a PR conforme necessário.
  8. E finalmente, fusões!

Comece pequeno

Pequenas mudanças permitirão que você cause um impacto rapidamente e, se você tomar a atitude errada, não perderá muito tempo.

Ideias para pequenos problemas:

  • Adicione um novo teste ou caso de teste que aumente a cobertura do teste
  • Adicionar ou melhorar a documentação
  • Encontre um problema que precise de mais pesquisa, faça essa pesquisa e resuma em um comentário
  • Encontre um problema desatualizado e comente que ele pode ser resolvido
  • Encontre um problema que não deveria ser resolvido e forneça feedback construtivo detalhando por que você acha que esse é o caso

Mescle cedo e frequentemente

Divida tarefas grandes em várias etapas menores que progridem individualmente. Se houver um bug, você pode abrir uma PR que adiciona um teste ignorado com falha. Isso pode ser mesclado e a próxima etapa pode ser corrigir o bug e ignorar o teste. Faça pesquisas ou testes e relate seus resultados. Divida um recurso em pequenos subrecursos e implemente-os um de cada vez.

Descobrir como dividir uma PR maior em PRs menores, onde cada uma pode ser mesclada, é uma forma de arte que vale a pena praticar. A parte difícil é que cada PR deve ser, por si só, uma melhoria.

Eu mesmo me esforço para seguir esse conselho e sempre fico melhor quando o faço.

Pequenas mudanças são rápidas de escrever, revisar e mesclar, o que é muito mais divertido do que trabalhar em uma única PR gigante que leva uma eternidade para escrever, revisar e mesclar. Pequenas mudanças não levam muito tempo, então se você precisar parar de trabalhar em uma pequena mudança, você não terá perdido muito tempo em comparação com uma mudança maior que representa muitas horas de trabalho. Conseguir uma PR rapidamente melhora o projeto um pouco imediatamente, em vez de ter que esperar muito tempo por melhorias maiores. Pequenas mudanças têm menos probabilidade de acumular conflitos de fusão. Como disseram os atenienses: Os rápidos comprometem o que querem, os lentos fundem o que devem.

Busque ajuda

Se você ficar preso por mais de 15 minutos, peça ajuda, como um Discord de Rust, Stack Exchange ou em um problema ou discussão de projeto.

Pratique a depuração baseada em hipóteses

Formule uma hipótese sobre o que está causando o problema. Descubra como testar essa hipótese. Execute esses testes. Se funcionar, ótimo, você corrigiu o problema ou agora sabe como corrigi-lo. Caso contrário, repita com um nova hipótese.

Preste atenção às mensagens de erro

Leia todas as mensagens de erro e não tolere avisos.

Doações

Ordinals tem código aberto e é financiado pela comunidade. O atual mantenedor principal do ord é raphjaph. O trabalho de Raph no ord é inteiramente financiado por doações. Se você puder, por favor considere doar!

O endereço de doação para bitcoin é bc1q8kt9pyd6r27k2840l8g5d7zshz3cg9v6rfda0m248lva3ve5072q3sxelt. O endereço de doação para inscrições é bc1qn3map8m9hmk5jyqdkkwlwvt335g94zvxwd9aql7q3vdkdw9r5eyqvlvec0.

Ambos os endereços estão em uma carteira multisig 2 de 4 com chaves em poder de raphjaph, erin, rodarmor e ordinally.

As doações recebidas serão destinadas ao financiamento da manutenção e desenvolvimento do ord, bem como aos custos de hospedagem do ordinals.com.

Obrigado por doar!

Guias de teoria ordinal

Veja o índice para obter uma lista de guias, incluindo um guia para o explorador, um guia para caçadores de sat e um guia para inscrições.

JSON-API

By default, the ord server gives access to endpoints that return JSON instead of HTML if you set the HTTP Accept: application/json header. The structure of these objects closely follows what is shown in the HTML. These endpoints are:

Endpoints

GET /address/<ADDRESS>

Description

List all assets of an address. Requires index with --index-addresses flag.

Exemplo

curl -s -H "Accept: application/json" \
  http://0.0.0.0:80/address/bc1pdrm7tcyk4k6c3cdcjwkp49jmfrwmtvt0dvqyy7y4qp79tgks4lmqdpj6rw
{
  "outputs": [
    "ddf44a0e0080f458a1a1b6255a9fa0957f2611883a483c1901ccb0f59e3eb302:0",
    "77c5a00da7dcf2c8f965effd25dda16ec8ec8d6b8937e89bbbdf10a1dc5aeb0d:0",
    "36f5a76644ee3002483e08345feaa97a71c7a210050333a8f02e942af1294227:1434",
    "e2a15acfb519ac6d95bbfd411f1f3dba4692672ea0b0a8f868da8b3f565fb428:0",
    "2b84aab0b4b9869a005ae2571a94064163652f2aeffecd4fedf0397dd6b7cf41:1",
    "e267548a8cc0c6e6033a6f82b355163bc1d041879206d27feb46e605b3e82759:246",
    "f5b586cf0e61b7d89c18a74c47a1f8df9ff530a66ed62c02cec72fde9a23a45a:0",
    "4fd271181e901809f6e2d5f89ce95ddfeb886f8db1582a35c812401af8e77661:42",
    "29f8633939e956b078fb2fa0e1219089bbe2544169e7a2755e97cc254b783cb2:0",
    "7aeca5c346aec84acde229e5927dd09aef680992223cfa57fe6f1ff7698b12da:0",
    "cccc35d597cd5a8079f6fe54bb9c743e5297d9165b0dcfa74e74687514c66be0:0",
    "590745241244d41a90df7e2cf0d7745877e4cedac573525946cc8ac7f18757e8:0",
    "590745241244d41a90df7e2cf0d7745877e4cedac573525946cc8ac7f18757e8:1",
    "590745241244d41a90df7e2cf0d7745877e4cedac573525946cc8ac7f18757e8:2",
    "6b23a6cf6d2850f437a50f1673fc8410ae36146541b3101d8573539871a91bf0:0",
    "fe130d3ca1577c65ac768f4b5b9d12a88d947ddcc31196bcf870ed5ff18403f5:2",
    "5fddcbdc3eb21a93e8dd1dd3f9087c3677f422b82d5ba39a6b1ec37338154af6:0",
    "c63c4910be259007e1119dbbe6fe0d923b207e78058a4f69bd54df6a3a6488f6:0"
  ],
  "inscriptions": [
    "77c5a00da7dcf2c8f965effd25dda16ec8ec8d6b8937e89bbbdf10a1dc5aeb0di0",
    "1417086d6abf96f68287b799b13b0081ec895d0b4a5fb7b70d2fde404eeb8aa1i0",
    "eb6636995ba074472e4193dbf65bb268ef5379509d9fffb20ddd5857039f80abi1",
    "4fd271181e901809f6e2d5f89ce95ddfeb886f8db1582a35c812401af8e77661i42",
    "40ab704e6123c681554102556ae3f37b0525863968311f845322fe2f2403a4c6i0",
    "0b36fa5ebce6c0e028b61647a89f9488a9c9f6ad0b90a215d10eb96ee8aedf9ei0",
    "87a0088e83e43a79e0e9b451037067bca726f5fd3da083e8684996dd1e6b6c70i0",
    "54abce9b4380e2fe90ac0cb49b442afee76838ffd91f1ffcac46f6a6fea790c5i72",
    "54abce9b4380e2fe90ac0cb49b442afee76838ffd91f1ffcac46f6a6fea790c5i768",
    "b4ba20c4eb45425f4960820f493a04a3b1c2e1364927d6001e7dc7dd524cf922i931",
    "781938d9e2e93698d41f30b4d1c7f7bfcd403761bce3c0ab579be47b408809e2i0",
    "fe130d3ca1577c65ac768f4b5b9d12a88d947ddcc31196bcf870ed5ff18403f5i1",
    "26482871f33f1051f450f2da9af275794c0b5f1c61ebf35e4467fb42c2813403i0"
  ],
  "sat_balance": 22635,
  "runes_balances": [
    [
      "RSIC•AUBERGINE",
      "1100000000",
      "🍆"
    ],
    [
      "SPACEY•CODARMOR",
      "279550",
      "🚀"
    ],
    [
      "ISABEL•FOXEN•DUKE",
      "10000",
      "⚡"
    ],
    [
      "EPIC•EPIC•EPIC•EPIC",
      "1000",
      "💥"
    ]
  ]
}
GET /block/<BLOCKHASH>

Description

Returns info about the specified block.

Exemplo

curl -s -H "Accept: application/json" \
  http://0.0.0.0:80/block/000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f
{
  "best_height": 864325,
  "hash": "000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f",
  "height": 0,
  "inscriptions": [],
  "runes": [],
  "target": "00000000ffff0000000000000000000000000000000000000000000000000000",
  "transactions": [
    {
      "version": 1,
      "lock_time": 0,
      "input": [
        {
          "previous_output": "0000000000000000000000000000000000000000000000000000000000000000:4294967295",
          "script_sig": "04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73",
          "sequence": 4294967295,
          "witness": []
        }
      ],
      "output": [
        {
          "value": 5000000000,
          "script_pubkey": "4104678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5fac"
        }
      ]
    }
  ]
}
GET /block/<BLOCKHEIGHT>

Description

Returns info about the specified block.

Exemplo

curl -s -H "Accept: application/json" \
  http://0.0.0.0:80/block/0
  {
    "best_height": 864325,
    "hash": "000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f",
    "height": 0,
    "inscriptions": [],
    "runes": [],
    "target": "00000000ffff0000000000000000000000000000000000000000000000000000",
    "transactions": [
      {
        "version": 1,
        "lock_time": 0,
        "input": [
          {
            "previous_output": "0000000000000000000000000000000000000000000000000000000000000000:4294967295",
            "script_sig": "04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73",
            "sequence": 4294967295,
            "witness": []
          }
        ],
        "output": [
          {
            "value": 5000000000,
            "script_pubkey": "4104678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5fac"
          }
        ]
      }
    ]
  }
GET /blockcount

Description

Returns the height of the latest block.

Exemplo

curl -s -H "Accept: application/json" \
  http://0.0.0.0:80/blockcount
864328
GET /blockhash

Description

Returns blockhash for the latest block.

Exemplo

curl -s -H "Accept: application/json" \
  http://0.0.0.0:80/blockhash
00000000000000000000c82c12a925a224605b1bb767f696ae4ff10332dbe9bc
GET /blockhash/<BLOCKHEIGHT>    

Description

Returns blockhash of specified block.

Exemplo

curl -s -H "Accept: application/json" \
  http://0.0.0.0:80/blockhash/840000
0000000000000000000320283a032748cef8227873ff4872689bf23f1cda83a5
GET /blockheight

Description

Returns the height of the latest block.

Exemplo

curl -s -H "Accept: application/json" \
  http://0.0.0.0:80/blockheight
864330
GET /blocks

Description

Returns the height of the latest block, the blockhashes of the last 100 blocks, and featured inscriptions from them.

Exemplo

curl -s -H "Accept: application/json" \
  http://0.0.0.0:80/blocks
{
  "last": 864335,
  "blocks": [
    "00000000000000000002794398a350a04cc371ee33659296a980214f0f060adc",
    "000000000000000000000470180b94350be751ea1ade67c4235c5b9515380b1f",
    "000000000000000000016e1769c5aa0f3781dd99ce2d5172a696c546d442e481",
    "00000000000000000002043c5ed07ad806a1c7133cf34670333326009d6195a6",
    "000000000000000000017cd6200b2711c024094e64797619263d74433c2bc880",
    "00000000000000000002dd6a13fffde71c09e67855d03340787e6a9b951c44df",
    "00000000000000000000c82c12a925a224605b1bb767f696ae4ff10332dbe9bc",
    "000000000000000000024ea66d1cddf1cfd8a3926a8e691844143da1596526db",
    "00000000000000000001bd9376dfbd9689239e9c5d11d579d6c8885a0efa199c",
    "0000000000000000000081f76cbccc29d92024f07f0e0b7e6b7dd063bed69bcc",
    "00000000000000000000e1ca2bab230aeb6cb75b1bb5b766cb55f1a391a7d408",
    "00000000000000000001fc567723ff6ccf674981202617384ae2152a711710d3",
    "00000000000000000002381ab1fa4661bfecc3429424c415788cef2c62c630bb",
    "000000000000000000022a1cacf15fa28d4d3698506c7b76fc62d7e50053be1f",
    "000000000000000000023b6d0182255bcc633e27ecdf8a86918830fdfd4f9612",
    "00000000000000000001135bd270114428c2c021e6c4161be93ba7ec9dc4e720",
    "0000000000000000000269e44d995970caf720ecc272f3554d923b74c57e84ed",
    "00000000000000000000e0224234536f4724c144c8da5cbaea486f3b26ef808a",
    "0000000000000000000102ae83593c0b5046cc6ec3beadf133e2a9b69fb761da",
    "000000000000000000014d52c9b6d9ca1fd2419562d24ff87214fcdf1688b8c4",
    "00000000000000000001bc24775ec320b6af4c1210395a4092c29b7af265153c",
    "00000000000000000000f4498b608a6a476bed5c4164478f618d19bcc02da3fa",
    "0000000000000000000255810324c89ec4ef87a0d028968dc70aed1817bac8e8",
    "0000000000000000000213bbddd4cce2831bda4865ae7025074b2a30fb228c7c",
    "00000000000000000002b4cf1c7c051fd712df4447ac5e90ecde1d4429a06358",
    "000000000000000000006b39a84f7bfc592293bc044c28fb57dfa660d41acc36",
    "00000000000000000001cd132f83def8f13b87974eb4d2629b11f52e3016c097",
    "00000000000000000001963de3de854dd9da9f384fb2ef753ba94c105cc807c6",
    "00000000000000000000fc1b08733842cb0f2d3dae7f56545805b403aa0d3621",
    "0000000000000000000049464eaf610aa71edaaf33e465c47981811395c3cdc7",
    "0000000000000000000137881c0f7bc6b762daf8370935444fdb13b98ed4572e",
    "00000000000000000001e7cc406d66013c17db6e9f8c90b807c93936fa18f192",
    "0000000000000000000084d8e77f14bcdc71acedf0ba5be6b70562dcf76e2ba2",
    "00000000000000000002e278d6c35e96eebb964694c430527db43301efdf367f",
    "00000000000000000002ace24c94d6f927e4cad8d72839508a275d6a2882c408",
    "00000000000000000002c165514bb47cef5b8eacedbabce070fc7147f6b8a48e",
    "0000000000000000000251f0eabbbf2bb58837cd284a1a44275e76d11b6da62a",
    "00000000000000000000650e34e08c4bc732961ce33a2b9051044ed95e95d82f",
    "00000000000000000000ecd0dfe9c0a52b2a7bcf48edcdcb2df19b827afcbed2",
    "0000000000000000000048131b07192e8f4466e36d025ea773e0dadcf442713f",
    "000000000000000000012eb14a615f799bf628e371ee5e7dd0b518d108fc74cd",
    "0000000000000000000025d47721b228c712aeb50bfd13768d8925274c1015ef",
    "0000000000000000000326c89fe7dfe7737f75368ce78404c1ffb1b08c422641",
    "00000000000000000002ff417f03781bbce1a1082cfaff8cf5c066c9a7547a28",
    "00000000000000000002bd4acc44f416975f25aa719e07abc2c0dd12761e4d17",
    "0000000000000000000188b4408d6131395ef6ca544b35cf37e7575779b15471",
    "00000000000000000003253f74e3f5d35aacbef57aee3225c9e071036309aad6",
    "0000000000000000000322bfda974265420bb6b604cd577410b9ca5cccbeae17",
    "00000000000000000001535fdb2eb0efe673bd505bcec47a9fdedd7b83d22a6c",
    "0000000000000000000169fb1a4daaaf4e08d12fcf670a81ed0f7bb4f5328494",
    "0000000000000000000315eb8d0ea1cbd251c7ea2404041c352823e29a6f376a",
    "000000000000000000021aef6c217e2eae81d1702d1331ab8f91360e55a60c51",
    "00000000000000000000ffb1ee2423e399153433e634db68ca4aad8a829b61da",
    "00000000000000000000a6e99c9e050d4345606016673d674da4aade02a8ff8a",
    "00000000000000000000349de7338756bdb425cc13a3e22e986b4035d00f097b",
    "00000000000000000000045218f05f939e0386ddec2460c815e5c671bfd20892",
    "000000000000000000007f99d51dd0738c42ce7dc83e59061a2b33f971b6d3ab",
    "00000000000000000002fc37d0f7ec804a1063a4ff8613521fcc99f1ab8fe07a",
    "00000000000000000002daff4047da69c658a1badb00d14d7d3e709f76b8bf3b",
    "00000000000000000001a427c71546cda9a5577d5e38bc95a5d3450df7c1d26f",
    "000000000000000000004648af338d38563d26c3a5bef3ca9582ea2ccb72f8ea",
    "00000000000000000001428e153a325e9aa859589a80e8b0271d1ba48e8749c7",
    "000000000000000000005ea10805f8ab474b9888bdc2c2840cd2e5529bbd0d49",
    "00000000000000000002c7b5bcf3372c7441e79bda1310c53f35eb59483b9092",
    "00000000000000000001e2486f12c01ca0f76481b40181bf6f8f48802ade8c49",
    "000000000000000000024590edc9d2d4878b32a4944dfda1a3929a6e4c9c3592",
    "000000000000000000028f255235dca42b10e5da593c2d4eb006cb329a041587",
    "000000000000000000006fb8f4a5d906e9c0112d5a97188f392407ab8e95bd81",
    "00000000000000000002864156220f1093e76caf233009c1b6be9ee0d810ac29",
    "000000000000000000009d28b5b1336abfe552aa8d92e56c1c254a1eee0e0b4b",
    "000000000000000000029ad7c816c8a4f79f93e60defbc6aee7cf25e61b46008",
    "00000000000000000002af0693f1c73282516b97031b7d956d07756a6f8a13d0",
    "00000000000000000001376f75d1785015b1c4717b2612a7c1bc8de69817c768",
    "00000000000000000000cd6e3f3ec308a26831d8866ea51beab6b02d3a5d0812",
    "00000000000000000002cf32a666fabf1789ffa4fa4215f78b52406b716936d2",
    "0000000000000000000310254c2c405a46c9710e52a7a7728bac5079b90e25ba",
    "00000000000000000002cb11925574071edd904390823344b7ca616640971081",
    "000000000000000000022e5bf2570eaee0532c0edee2a2682d4a74488ca0522f",
    "000000000000000000031542e9c2b0dbd43b4e7caa3f24537af0d39bfa3997cf",
    "00000000000000000002215bb1138bbc4a7611826b13e532b51d5b4e82eeac3d",
    "00000000000000000001c3a1c78d27f0072f27dc1d0060273e0ef03f1bfc0ce9",
    "00000000000000000001fe6ba288a1b9a14d15d3e915418cbfb54685595b0cc1",
    "0000000000000000000067f8164cd2e75b3ba172cb98cd00f0894faee5c6f763",
    "000000000000000000018ef9990389ca9052a0c1c93b65f780d3071346e531f3",
    "000000000000000000023e7bee6b1b4647411b0279df23c9ad470d91c1b99081",
    "00000000000000000000a085f77681ddf175c74b897758e9f406a17f1a278030",
    "000000000000000000001bf9c32af2d6a8a4f3d50c40f927e0867d4ad9481fdd",
    "00000000000000000000cde89e34036ece454ca2d07ddd7f71ab46307ca87423",
    "00000000000000000001141c91e70decadd60a93f32b70b08a8ec6d74b270b08",
    "000000000000000000023562ac878ab6f62329a70a15954bd56e088f3a836426",
    "000000000000000000006a4455949ef37cf3c3ee6b4cc2da27137f24445c7058",
    "0000000000000000000297397401eee3019168e761464c3716892951a5e33cbc",
    "000000000000000000015b68955519ab2925858ebbd02f897ff81cfc4a360dd4",
    "000000000000000000018a0932deb92c6bc40d46a34e654f8a2afbd6c745c6a3",
    "00000000000000000001996de65cc72f1fdeaebc3141db0a2a2dd269233c8e56",
    "00000000000000000000d0434cc36c19d49b9e873661ff171d632543d5c2f454",
    "00000000000000000003184a301f7c76332ec629a51bcaab5652f2ba82da55d8",
    "00000000000000000001e47fd13c25e24f8933b02a38c3490c0a430c0b71ea9e",
    "000000000000000000027fe376111297406696afa48be122d6596b13ac15156a",
    "00000000000000000002ab8ba2529a468c0f2781e3afc0f832209c94f95d4f1d"
  ],
  "featured_blocks": {
    "000000000000000000000470180b94350be751ea1ade67c4235c5b9515380b1f": [
      "0ae94b05b21aa6b7f0620075db618a70124cb422fc5ced577bffbd0d103d4ce7i0",
      "65f1922bc83ee43485ed884dbec24c0c1cef6c4f6d999a8ac0c09d7adc8b39dbi0",
      "e87c21c7c8ba8b194bd8e389f6cb9ecb2312c076139aff31c629f93df86b98ffi0",
      "aeb8d90de7e92efc11ffa6b411e829b6dcb0e00b7fd4f912947065b9084d99bai0",
      "6d8f58c7f24e277d614bc6c9bb6648543e47db5431c6c073a6bd5e3be1e47c5ci0",
      "770cde7a5c49ae8a4f109bd83fb364ef9b83bc6f72d3654c793f5452d7b30831i0",
      "65e51357e67da9dd64a65fff1d9d26153c9969f4acfbab028e74b408559dfc07i0",
      "7c63687fabdcd421de925e99b4152b2327328afe51c63903aa4a9cc9fba31872i0"
    ],
    "000000000000000000017cd6200b2711c024094e64797619263d74433c2bc880": [
      "c970b695f491a8812b5293da2673f4e6c9ae3d8be07d9da1fbb9c33a45f6fd1fi0",
      "d001827b7c48e44399587f12e2fa33b2c0b1eb12c309f1c21729f1e3bc95c5fci0",
      "facefc9cd6dec1cc25d7b7321cbbdaed735049a9a3da834a66975d98e23ac4dfi0",
      "09353363c2e95891db553f3742a40a74c5dd1b7668669f732d58e52e7c132b92i0",
      "48f3f7cbf3061957c06f66c0fe66be9ad4ad73df65b9ded1345e05f904e1e63di0",
      "4e65b1d0b36c6727c646d5d6f45f00db35158a49a139282d6544f127734db9adi0",
      "b8c744320e735aaaec18fd6b306d6dd678f99461e88dfa25f178627b8480e483i0",
      "55d27ab1b4321addc5c34c10ef2ac4957add8b8485f465df7f2883315c9cf5f5i0"
    ],
    "000000000000000000016e1769c5aa0f3781dd99ce2d5172a696c546d442e481": [
      "cc2415293c275bea4d73ff8f45f68f269686b819de447f50ec6988ac04a62d1bi0",
      "c642cd4cc7a075c61d3a32b949217990aa91dfc928f12a2cdba1f2f228c699c7i0",
      "5342721d044e9e9999484b988ce9fb71097d9209c77f6549df9e31ec9b344c5bi0",
      "a75f792be155a0b53691289433a6413c1efb1aeaf970f752ee70be3c6e755a06i0",
      "19c0d770abaaeb5b24e718231684d53b768450cc324c8fee435910de65c459e2i0",
      "30eb7c46bf4f5af33e665a119af40dd45d127cb6cdc2596de75e08f094651fa5i0",
      "122631e7b8bab4238582229273a9dbe08544d2d97ad0c9a80b5829ae10ac3f27i0",
      "41c304db88c60a27f45957442b857c0affefdfdca45bdf72ab4cbf9fce4d97a0i0"
    ],
    "00000000000000000002043c5ed07ad806a1c7133cf34670333326009d6195a6": [
      "2f62d6ed309f838bab143cf3a53ba758eb940b43c30c32e22d9dbf6fe7882613i0",
      "83642352c5b670387874995954f79e270cb78b05a9a88b9d4d65e6f94c6df0a3i0",
      "68831e3c8669ad5e8fc3585a9e8a55673123ada4c33a699e98e4d9e0297f1800i0",
      "20fa9d317af18cc976a6b77797ceb5884127ac5dd7e3f131565a18dd712311c6i0",
      "a286d7f705fd410cdd3f1081c4c22f196bdea4c64cfbd963f45302cdec1fe968i0",
      "11eb110f86d880d8dcac852edcca7007904fda34ad031fc01f24a3e6b02ef47ci0",
      "9fbec6d72d71169dc041693e740dae7bb7bb195ccd4a7f40c4c12bd4afbf7354i0",
      "7c823fe74fa783debea8339fbea44b8395805295652749a651aa2133d9a1832di0"
    ],
    "00000000000000000002794398a350a04cc371ee33659296a980214f0f060adc": [
      "2596a275dca4b5cc18cd1060ab92d6df3df5507738b8f2b6b7c18c4ff1d1b36ai0",
      "93256e5da147f0067d6b11e09d853b838ad1d95cf59664cccbcd52859f9ea1aci0",
      "f404b5ebabd4b7fb8b88df52289b983b28f3e36fcbb63e649edea6e7ba62e582i1",
      "f404b5ebabd4b7fb8b88df52289b983b28f3e36fcbb63e649edea6e7ba62e582i0",
      "1bfbd226fded339cbe197153ab8b6da622c9a20e7d4911013abd385da7e05b89i0",
      "af7b8810755bdf7bd62dbb6c5f2639e107a6d9d2c7199ae3650f1e7583d4bd66i0",
      "9c594cb991bfecdf9d2116b644262927365f20f03ccdc8a64cbb640c11a58907i0",
      "29628c91948bc100185605d11cde0aebda572d73b752bd6ed668bd86e455aa8di0"
    ]
  }
}
GET /blocktime

Description

Returns the UNIX timestamp of when the latest block was mined.

Exemplo

curl -s -H "Accept: application/json" \
  http://0.0.0.0:80/blocktime
1728158372
GET /decode/<TRANSCATION_ID>

Description

Decode a transaction, congruent to the ord decode command

Exemplo

curl -s -H "Accept: application/json" \
  http://0.0.0.0:80/decode/6fb976ab49dcec017f1e201e84395983204ae1a7c2abf7ced0a85d692e442799
{
  "inscriptions": [
    {
      "input": 0,
      "offset": 0,
      "payload": {
        "body": [
          137,
          80,
          78,
          71,
          13,
          10,
          26,
          10,
          0,
          0,
          0,
          13,
          73,
          72,
          68,
          82,
          0,
          0,
          0,
          100,
          0,
          0,
          0,
          100,
          1,
          3,
          0,
          0,
          0,
          74,
          44,
          7,
          23,
          0,
          0,
          0,
          6,
          80,
          76,
          84,
          69,
          255,
          255,
          255,
          0,
          0,
          0,
          85,
          194,
          211,
          126,
          0,
          0,
          2,
          206,
          73,
          68,
          65,
          84,
          56,
          203,
          149,
          212,
          75,
          104,
          19,
          65,
          24,
          7,
          240,
          148,
          74,
          19,
          16,
          93,
          20,
          180,
          20,
          105,
          22,
          193,
          179,
          61,
          21,
          11,
          125,
          44,
          228,
          90,
          176,
          39,
          41,
          90,
          75,
          14,
          30,
          74,
          91,
          74,
          43,
          69,
          18,
          250,
          200,
          86,
          60,
          120,
          80,
          154,
          187,
          104,
          5,
          17,
          81,
          170,
          205,
          161,
          96,
          11,
          77,
          178,
          161,
          120,
          145,
          98,
          2,
          30,
          4,
          109,
          147,
          77,
          201,
          33,
          133,
          154,
          221,
          196,
          144,
          108,
          146,
          221,
          157,
          191,
          33,
          51,
          59,
          1,
          193,
          67,
          231,
          246,
          227,
          155,
          239,
          49,
          51,
          236,
          186,
          206,
          184,
          36,
          172,
          181,
          209,
          9,
          212,
          218,
          18,
          178,
          46,
          210,
          214,
          136,
          8,
          161,
          189,
          181,
          14,
          148,
          179,
          60,
          205,
          0,
          108,
          158,
          232,
          214,
          36,
          172,
          91,
          142,
          196,
          180,
          170,
          4,
          100,
          222,
          237,
          80,
          85,
          150,
          101,
          167,
          140,
          172,
          198,
          186,
          21,
          57,
          193,
          4,
          77,
          246,
          39,
          193,
          138,
          118,
          168,
          165,
          198,
          104,
          9,
          11,
          172,
          65,
          24,
          68,
          7,
          25,
          96,
          13,
          194,
          168,
          22,
          64,
          134,
          168,
          4,
          213,
          172,
          84,
          76,
          132,
          152,
          74,
          90,
          161,
          170,
          149,
          8,
          149,
          247,
          38,
          10,
          85,
          104,
          97,
          170,
          222,
          95,
          234,
          92,
          85,
          157,
          13,
          48,
          77,
          162,
          82,
          129,
          49,
          206,
          78,
          167,
          106,
          149,
          138,
          134,
          121,
          58,
          154,
          148,
          55,
          235,
          101,
          211,
          2,
          83,
          29,
          181,
          28,
          202,
          76,
          50,
          113,
          141,
          232,
          107,
          2,
          232,
          216,
          193,
          58,
          146,
          183,
          229,
          114,
          142,
          42,
          16,
          128,
          49,
          9,
          59,
          77,
          53,
          55,
          15,
          243,
          26,
          200,
          15,
          170,
          25,
          213,
          109,
          238,
          89,
          226,
          12,
          139,
          69,
          175,
          219,
          59,
          197,
          167,
          159,
          89,
          222,
          195,
          115,
          171,
          198,
          151,
          75,
          44,
          47,
          152,
          93,
          24,
          54,
          30,
          39,
          88,
          77,
          249,
          32,
          19,
          215,
          35,
          75,
          50,
          213,
          224,
          126,
          195,
          171,
          159,
          63,
          89,
          166,
          179,
          244,
          135,
          177,
          17,
          145,
          72,
          63,
          213,
          224,
          38,
          89,
          215,
          250,
          26,
          123,
          84,
          146,
          128,
          245,
          45,
          137,
          136,
          84,
          189,
          34,
          146,
          154,
          140,
          110,
          246,
          40,
          227,
          24,
          139,
          251,
          109,
          63,
          149,
          32,
          34,
          109,
          200,
          240,
          50,
          9,
          120,
          45,
          74,
          132,
          201,
          189,
          73,
          94,
          25,
          125,
          141,
          40,
          191,
          121,
          69,
          84,
          200,
          16,
          211,
          126,
          67,
          194,
          179,
          147,
          21,
          166,
          131,
          204,
          106,
          119,
          106,
          201,
          81,
          118,
          193,
          54,
          142,
          19,
          22,
          83,
          176,
          211,
          220,
          171,
          117,
          30,
          81,
          117,
          141,
          8,
          166,
          73,
          132,
          231,
          44,
          38,
          195,
          232,
          5,
          142,
          184,
          170,
          23,
          184,
          4,
          25,
          191,
          223,
          1,
          25,
          42,
          17,
          248,
          185,
          45,
          3,
          84,
          18,
          176,
          125,
          87,
          129,
          243,
          42,
          50,
          201,
          223,
          215,
          161,
          210,
          91,
          90,
          133,
          153,
          212,
          150,
          97,
          80,
          25,
          10,
          54,
          116,
          9,
          177,
          108,
          75,
          150,
          10,
          209,
          47,
          98,
          170,
          165,
          142,
          211,
          113,
          226,
          247,
          143,
          217,
          247,
          138,
          45,
          153,
          119,
          106,
          170,
          242,
          160,
          50,
          65,
          101,
          169,
          127,
          82,
          241,
          105,
          76,
          81,
          65,
          169,
          78,
          69,
          191,
          65,
          161,
          58,
          197,
          206,
          98,
          79,
          90,
          105,
          180,
          228,
          170,
          146,
          239,
          75,
          163,
          95,
          231,
          11,
          180,
          67,
          125,
          115,
          160,
          120,
          156,
          123,
          177,
          77,
          21,
          90,
          33,
          110,
          75,
          200,
          167,
          216,
          107,
          62,
          209,
          109,
          131,
          212,
          36,
          42,
          9,
          101,
          211,
          172,
          59,
          103,
          16,
          176,
          146,
          143,
          230,
          85,
          194,
          110,
          130,
          40,
          205,
          57,
          35,
          22,
          85,
          7,
          81,
          136,
          142,
          72,
          209,
          249,
          252,
          82,
          68,
          39,
          139,
          89,
          166,
          91,
          1,
          162,
          219,
          233,
          53,
          166,
          158,
          212,
          225,
          68,
          104,
          145,
          193,
          229,
          141,
          223,
          120,
          27,
          142,
          56,
          186,
          24,
          59,
          52,
          3,
          91,
          142,
          4,
          25,
          64,
          134,
          11,
          0,
          8,
          223,
          169,
          120,
          124,
          34,
          223,
          233,
          14,
          26,
          177,
          220,
          17,
          87,
          224,
          101,
          126,
          184,
          173,
          57,
          143,
          239,
          106,
          91,
          211,
          30,
          223,
          229,
          255,
          197,
          116,
          143,
          207,
          107,
          113,
          205,
          2,
          13,
          30,
          235,
          250,
          208,
          204,
          251,
          200,
          245,
          169,
          153,
          199,
          229,
          126,
          228,
          241,
          93,
          105,
          87,
          49,
          154,
          221,
          121,
          149,
          206,
          221,
          230,
          100,
          187,
          92,
          104,
          78,
          93,
          115,
          212,
          161,
          3,
          164,
          232,
          200,
          101,
          2,
          102,
          150,
          43,
          244,
          230,
          125,
          36,
          193,
          37,
          218,
          227,
          248,
          231,
          63,
          120,
          182,
          245,
          23,
          127,
          181,
          197,
          106,
          45,
          115,
          252,
          75,
          0,
          0,
          0,
          0,
          73,
          69,
          78,
          68,
          174,
          66,
          96,
          130
        ],
        "content_encoding": null,
        "content_type": [
          105,
          109,
          97,
          103,
          101,
          47,
          112,
          110,
          103
        ],
        "delegate": null,
        "duplicate_field": false,
        "incomplete_field": false,
        "metadata": null,
        "metaprotocol": null,
        "parents": [],
        "pointer": null,
        "rune": null,
        "unrecognized_even_field": false
      },
      "pushnum": false,
      "stutter": false
    }
  ],
  "runestone": null
}
GET /inscription/<INSCRIPTION_ID>

Description

Fetch details about a specific inscription by its ID.

Exemplo

curl -s -H "Accept: application/json" /
  http://0.0.0.0:80/inscription/6fb976ab49dcec017f1e201e84395983204ae1a7c2abf7ced0a85d692e442799i0
{
  "address": "bc1ppth27qnr74qhusy9pmcyeaelgvsfky6qzquv9nf56gqmte59vfhqwkqguh",
  "charms": [],
  "children": [
    "681b5373c03e3f819231afd9227f54101395299c9e58356bda278e2f32bef2cdi0",
    "b1ef66c2d1a047cbaa6260b74daac43813924378fe08ef8545da4cb79e8fcf00i0",
    "47c7260764af2ee17aa584d9c035f2e5429aefd96b8016cfe0e3f0bcf04869a3i0"
  ],
  "content_length": 793,
  "content_type": "image/png",
  "effective_content_type": "image/png",
  "fee": 322,
  "height": 767430,
  "id": "6fb976ab49dcec017f1e201e84395983204ae1a7c2abf7ced0a85d692e442799i0",
  "next": "26482871f33f1051f450f2da9af275794c0b5f1c61ebf35e4467fb42c2813403i0",
  "number": 0,
  "parents": [],
  "previous": null,
  "rune": null,
  "sat": null,
  "satpoint": "47c7260764af2ee17aa584d9c035f2e5429aefd96b8016cfe0e3f0bcf04869a3:0:0",
  "timestamp": 1671049920,
  "value": 606
}
GET /inscription/<INSCRIPTION_ID>/<CHILD>

Description

Returns the inscription information for the specified child.

Exemplo

curl -s -H "Accept: application/json" \
  http://0.0.0.0:80/inscription/b1ef66c2d1a047cbaa6260b74daac43813924378fe08ef8545da4cb79e8fcf00i0/0
{
  "address": "bc1pnhyyzpetra3zvm376ng8ncnv9phtt45fczpt7sv2eatedtjj9vjqwhj080",
  "charms": [
    "vindicated"
  ],
  "children": [],
  "content_length": 106268,
  "content_type": "image/avif",
  "effective_content_type": "image/avif",
  "fee": 1470535,
  "height": 839704,
  "id": "ab924ff229beca227bf40221faf492a20b5e2ee4f084524c84a5f98b80fe527fi0",
  "next": "ab924ff229beca227bf40221faf492a20b5e2ee4f084524c84a5f98b80fe527fi1",
  "number": 69994605,
  "parents": [
    "b1ef66c2d1a047cbaa6260b74daac43813924378fe08ef8545da4cb79e8fcf00i0"
  ],
  "previous": "e2619e0fa641ed2dfba083dc57a15ca1d3f195f15d187de353e1576a0cb6e87ci8",
  "rune": null,
  "sat": null,
  "satpoint": "ab924ff229beca227bf40221faf492a20b5e2ee4f084524c84a5f98b80fe527f:1:0",
  "timestamp": 1713399652,
  "value": 10000
}
POST /inscriptions

Description

Fetch details for a list of inscription IDs.

Exemplo

curl -s -X POST \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '["ab924ff229beca227bf40221faf492a20b5e2ee4f084524c84a5f98b80fe527fi1", "ab924ff229beca227bf40221faf492a20b5e2ee4f084524c84a5f98b80fe527fi0"]' \
  http://0.0.0.0:80/inscriptions
[
  {
    "address": "bc1pnhyyzpetra3zvm376ng8ncnv9phtt45fczpt7sv2eatedtjj9vjqwhj080",
    "charms": [
      "vindicated"
    ],
    "children": [],
    "content_length": 116597,
    "content_type": "image/avif",
    "effective_content_type": "image/avif",
    "fee": 1470535,
    "height": 839704,
    "id": "ab924ff229beca227bf40221faf492a20b5e2ee4f084524c84a5f98b80fe527fi1",
    "next": "ab924ff229beca227bf40221faf492a20b5e2ee4f084524c84a5f98b80fe527fi2",
    "number": 69994606,
    "parents": [
      "b1ef66c2d1a047cbaa6260b74daac43813924378fe08ef8545da4cb79e8fcf00i0"
    ],
    "previous": "ab924ff229beca227bf40221faf492a20b5e2ee4f084524c84a5f98b80fe527fi0",
    "rune": null,
    "sat": null,
    "satpoint": "ab924ff229beca227bf40221faf492a20b5e2ee4f084524c84a5f98b80fe527f:2:0",
    "timestamp": 1713399652,
    "value": 10000
  },
  {
    "address": "bc1pnhyyzpetra3zvm376ng8ncnv9phtt45fczpt7sv2eatedtjj9vjqwhj080",
    "charms": [
      "vindicated"
    ],
    "children": [],
    "content_length": 106268,
    "content_type": "image/avif",
    "effective_content_type": "image/avif",
    "fee": 1470535,
    "height": 839704,
    "id": "ab924ff229beca227bf40221faf492a20b5e2ee4f084524c84a5f98b80fe527fi0",
    "next": "ab924ff229beca227bf40221faf492a20b5e2ee4f084524c84a5f98b80fe527fi1",
    "number": 69994605,
    "parents": [
      "b1ef66c2d1a047cbaa6260b74daac43813924378fe08ef8545da4cb79e8fcf00i0"
    ],
    "previous": "e2619e0fa641ed2dfba083dc57a15ca1d3f195f15d187de353e1576a0cb6e87ci8",
    "rune": null,
    "sat": null,
    "satpoint": "ab924ff229beca227bf40221faf492a20b5e2ee4f084524c84a5f98b80fe527f:1:0",
    "timestamp": 1713399652,
    "value": 10000
  }
]
GET /inscriptions

Description

Get a list of the latest 100 inscriptions.

Exemplo

curl -s -H "Accept: application/json" \
  http://0.0.0.0:80/inscriptions
{
  "ids": [
    "dca3da701a2607de6c89dd0bfe6106532dcefe279d13b105301a2d85eb4ffaafi0",
    "0e50a465fc0ca415f3cb8a4aac1555b12a4bf3f33bc039f2a4d39f809e83af7ai0",
    "934905624f847731e7f173ba70bfa3a1389b0a7fe2a4ffce8793eef2730b9ab9i0",
    "50a42e51e6ce0ef76699f017a1017d7b5b6203e67d283c625ba7d1567b2e43bai0",
    "65a78bdbc1e01ac02cda181a71304a8d82305bc2a24bf01e62bea4cfff3e2dd8i0",
    "05ab6d843099fb30a1da1bbfe31117cb56466b3ba40a4b3f389cc37174d339b8i0",
    "47825a32dd6e3de5fd7d97488d755e6d1005e5c8552b9ede5bc67900b074d09bi0",
    "737552653d4424a523f8c652710d0f9416561ea67ee25242f8606b49fb428d9ai0",
    "1d7d15ab48fccf7011435584556ee9106be71f7073a857689594c143d7899333i0",
    "321e4f598ae0f4841af04d1a84f3abafa44802c7d35315ead91b32ffed0f400di0",
    "eb1578eaca0a04eaf174296382fc5d77530f0feceb7747938b29c433c21d1afdi0",
    "70d6136e949b5f07b6ac7d50aa9aea1fa6573e1b0e4f490170235ac74738bf5ai0",
    "aab2c8514876fb81cb28f0f0516620cf189222e0ffc6fe6282863bb846955409i0",
    "ef36dd247b98f12d19d15bab92ea7f8491b0766fb0b8074b7606614dbbab6c13i0",
    "cec42963619240ede36fb03cd95d8fba883c9c1af72b1e2fc9746151a60729dci0",
    "3124d086c59ce2205f52a108e21380e2c98b1ac6a21fc2f457fb5750317997d2i0",
    "c2d19ab0d9e508ed20eb6620a4ed6b5700bcee835278eb171ad15e3d9e9cf3cci0",
    "6aa9e8efbc0410adebca732a2baa6812bd4d9678771023503d20c8e90f632853i0",
    "96fd8d9b06c9d55d57c926889716b05f03e508d05320ffbe052aed38f49a8a4fi0",
    "9429a355eecc994380920e8c9a2fd17adcb2e745bc1c8a460ed016d37e02d11ei0",
    "196fa44615bd2215e17f428d9cb6ea5de62e4fc6635e45089623f757189cc3b1i0",
    "077ccaf7424917873fe217bc45cfe923d20a9732373fc2b08749106569a198a8i0",
    "ea5d4f47955e9ac306113ebd616587d2eaef3fb242474fb5819562ec007db32fi0",
    "db377bb1c8ad40dfa6bf69b2ff8f5417b419ee6b0657e75060e088b1ec8b1c93i0",
    "3c9720eeaad27cad478404905c9d5dcd332878f95dd65fc9912bfd598041af0bi0",
    "61ef119d102389c3daaa5c057514f30cf1cd410b7d5c41a28c58a9a902cb265ai0",
    "f971ea01b40b35b8548a902e013a3a1b799d4c2c1613d37ef3a994120d65c10ei0",
    "6021306cf760dfbb0da58bce59ffbc703db5c7d9b180a3ae5268ce4c5341bf34i0",
    "10aebd52ccd20124d5aa1c7d3e52fa81776ac6a3fb79ada582495328fa968ca4i0",
    "9ed8d1fc12ab4d4b50c869bda1a38bb0e82b6eb18d2c14ef880aa2bb1757dbf7i0",
    "5f5db3b301aa766f1a22f796248b2cceb8c111419bcefb4a3365d8bb1ff6ca05i0",
    "15737d13a3583ef3559090431d5ea846e5126963046041b1f4d42b2fcc9a03eci0",
    "05fdf04307e006eefec908ef93806f96c472af9e073837f4b1f5ad52e1d719a9i0",
    "559280eb5ceefadee232a5b4dcc2c05dddfc1f123293482fef30ab7632855b85i0",
    "76939794300cac687832e68253640e69993b46e0b75e5af4678b3c4b2037bb4bi0",
    "1967e5170c27e707545ec05624db313735799fc58142e2bd2b475b088b761022i0",
    "b320472502a8750fc6b3cb87ac6a0b3eaef402fa5f218f1153f658642e3d1b3di0",
    "456b48e7ef556004e4a9a8b98aee8c797d75e1027dc56982ef6936f8627eeda7i0",
    "02fb3081fc7317cbec7adc63761ea373ec239c7703a13f5752c3344acf6312eei0",
    "75e567e30b84205ca9f5b6280b29581310bed27504949996b64858110d38c5e8i0",
    "47214c34652fda5745b56ac80512e7d353db9d949fac9e0e5a6d8b27507fe4c6i0",
    "c3ccc1508fb08a6bc487b25e4d5a994ff73cb44251749619c53d87c7626d74c6i0",
    "a8ce87da5b67d9782846d2f718058873c51bcdbbee536540266f868bb5376c8fi0",
    "47dd14ebf43bc35ff753cb5acf8335eb1acb788d05a2b0b9d83302e16170127bi0",
    "ae7c0ebe825c2bf0d5820bc28da095cfa1cb6913a5913142bc327ab985b3dd7ai0",
    "cf68e9b9d1967859b7d832a9c815ae3c837c94031dc8e56d848d151ae24e4776i0",
    "0fe7d513cf8c19734f84321a3c49d0e0e39255702ba18546740c2bb1a95c5170i0",
    "e760f5028719b2130e0d2305c3531174f4f6167282251adebfc968d127b79369i0",
    "aa81f43a1412b0d04c2ef825c3829707aa32cf4cca3452077c2819f012905b5ci0",
    "cd3675b40f8056c7b816c02a537a6d997912a26302f77cd3d0ad83b657d24e4bi0",
    "3f8bf38d3cd3e50693b9bf187e1a374ff9990ba8e8f6337829f0d7312805741bi0",
    "415a9516e1dcad84a60cc7d012c2475361d575f713b1d3aa16f982d2e43e330di0",
    "6db363228406a71744cbf9b86e2b58c21b4f2dd0a0ad0affa211b32af20e8809i0",
    "ff1aa5bec2a626c8b6f90e6765ceb227d44565a90f9e54cf05f5360ef6e33708i0",
    "161191b5de6a1b1ed53e816545176d47e214c50711474b1a4e3ab34d70634189i0",
    "f3f7488bc66000965a36f4ddf000c3d3ca3cf94d7cd4defaf3ca0b68e86b3af8i0",
    "b2fb38073ade49a3f0f2522a15f4f63122a60d03a9eaed5c1c4198d339a32a1ei0",
    "2f99c317739ca8cb6eb904915648ac2044f815d01ecfae6762ecf3885ee3778ai0",
    "9d30636a2c5b6e064e6868fe796986014ac4cf9ea7a859d12e2dea07128c04f5i0",
    "62ea57535dbe1c748d79c693e507d787af60076eaec7629365c31f52607f1279i0",
    "9540b2f1d24ad5750f155ee232b03e4bfe258fde8c396844471bd595cbf0d4e9i0",
    "98bfe331d267749357857e86433f974595bdb1d76ff60d35e576b217d7eae4e3i0",
    "00bea5fcc8723ce5d177ca1cd4e87f7f2792fa3043231554d584b869d791a9e0i0",
    "2ca9e9aedb2bf622c5c499701ce74a1dae456569082704ade20ba125019ea5f9i0",
    "83290426401ac68ce29306f6a1ec5c86c69ce66049a1d85fefa49088a0f5a11fi0",
    "ebc452becb7438e43281317045ab5c675376486a9344625b5dec09d5a65a9905i8",
    "ebc452becb7438e43281317045ab5c675376486a9344625b5dec09d5a65a9905i7",
    "ebc452becb7438e43281317045ab5c675376486a9344625b5dec09d5a65a9905i6",
    "ebc452becb7438e43281317045ab5c675376486a9344625b5dec09d5a65a9905i5",
    "ebc452becb7438e43281317045ab5c675376486a9344625b5dec09d5a65a9905i4",
    "ebc452becb7438e43281317045ab5c675376486a9344625b5dec09d5a65a9905i3",
    "ebc452becb7438e43281317045ab5c675376486a9344625b5dec09d5a65a9905i2",
    "ebc452becb7438e43281317045ab5c675376486a9344625b5dec09d5a65a9905i1",
    "ebc452becb7438e43281317045ab5c675376486a9344625b5dec09d5a65a9905i0",
    "d431778a7290951d463f356f637a801c4c8b77767f2f53686176202bfd3a1af7i0",
    "8bc9f9d88f91d851eeb84481fb33baabd6ea172c0c5152e5b8d4140f8102671ai0",
    "12454b1620904b63e8c47f31e17939735515923e674fc42f299b5466258b640ai0",
    "a67d21421a27918ab052c4dee3dcca86ad0610ccf4a449f98d3316008953d54ci0",
    "920512aa32b5d525495832a3146f32efb0bfa308519bc3e1d5bc151ec6c9412ai0",
    "8defe7abfd7d4f9dc94be83ca0b2f823f196a80ea37ebe217702368ffd2c7807i0",
    "6b26e994bdabb558d41f5824b3d427ec628e7a1e7596ac20dcf05e889a994fd2i0",
    "327610662171136ee252724b6860d0b64b45f81cb2bf8a0606256db730946a39i0",
    "e01ec43055caa4bdb73f300076501deb85780891181d07773231db700a7d2099i0",
    "9c2dc67e959bf949396d31157f16b6d60e4469ff43ba1ed44957d197f3ebf78bi0",
    "89126f596c644721edc65ef293730078f16f0894baf29a1d807aab4afc013d72i0",
    "3ea79b7a166ed230046e3d890d6c39a7c64dec8443de933860534449fa3180a0i0",
    "2f1b248a957dcfb442b89c4684f65ba7bab7061cd0dfa4eaae8f5c65d7b41985i0",
    "ac0fb3d3d301a28d3d979ca7f522eb4fdf0b0fed9d8062ff4944d5dac353092fi0",
    "d0ebf39a32d409eb92bdefb354a99408367709830d03d4c6bc36786e79782720i0",
    "7bfa54eb0141a93cd9cd2d3a6a52de5c1116653035bd8179608e115c823b7574i0",
    "14fbc773b0b7635c4fd598c102a0a5019aee75a1184ac8d189c59478931ba6e9i0",
    "0101a253d50138b4ef67c4036246df3e2a74d70874ad3c8f943af54e4b37648ci0",
    "d5b41d45f3c45e2bdf36a415d9ece493cca23e762ff5de34a6abcf79936fc614i0",
    "4c92503dc1f38bf77c2b1219504bb6eb82dd1d8af172f84d86d433f7bc557d4fi0",
    "7b6df715cf052fdf28dbe213fada59b910c9e339137f0bd35698f23d0140a826i0",
    "da06b7b4d298c837566b8daafae7cba1d4be19ca3b9e63d867cc2a9f06dd6315i0",
    "958655c68793fe9e4dc6c8155c28c6b14c0ed58c5aa340d6bd6ef085134d3fb7i0",
    "f8dbba73e65bf996e7cd8388ad85f7303f2caa52acf1ce793d8141dd9f70f6e6i0",
    "8d166e2e3ea2a9e5d6460964d533b61656b6a3d671e5f046030319bb73f93e9fi0",
    "2a60d61dff2ba192ca81614f8f0bda6c24eaac2c45f879ef84302e8c4c859bc9i2"
  ],
  "more": true,
  "page_index": 0
}
GET /inscriptions/<PAGE>

Description

Pagination allows you to choose which page of 100 inscriptions to return.

Exemplo

curl -s -H "Accept: application/json" \
  http://0.0.0.0:80/inscriptions/9
{
  "ids": [
    "6fa8b4d1840fdd2172b51a40bde3c8b88ff2ca8b668e56fe05edb1d5eec91fc7i0",
    "c6f11a3269e7ea108abb9d596c4273067f33f7e951bb4762b915a6c3c3e1ebc6i0",
    "24829232f529c1c4d1bfc5c1c1410313c6388c1db14137fdc351f8659eab72c6i0",
    "c068402416ec57e773d9d072ad51950b77359eddbf515a775bc6c70bf75869c6i0",
    "3ffdf269a5a6a306c6e2e03b73b505a4f2dac3e0708257bca37c12d2ceec3ac6i0",
    "f505cc5a01e603bee41e3986c0bfe020cd4054cbdfd0a35b57d89e375ba1e6c5i0",
    "3caeb09bc1a6c7e3ac33528f69b9b10755072aac2c7b6b4f58878df45572ccc5i0",
    "2233ee78d07be90ae18d12d51cc89734eb691b550b687c1547b0791de668b2c5i0",
    "86475391a0e7f13f3b475e3b4aedb8ada36b63bf9bc4f9ac9203fb083a39a2c5i0",
    "18fa7b8a0949b57fa4798ccf48e4ba4a16ecb14651edd5a5adc3806eaea0c9c4i0",
    "fb6a338c0de40e88e03e7ae5231b036e5f452343db128b849049c2e63d0bc6c4i0",
    "374e71e371dfedcfa2f9ac1d6f2d0664effe46ca27907792e396a3176a82a3c4i0",
    "bc2b2fef1231c07232cd1333978366255e317e000a04c050262a7d71eaab0cc4i0",
    "d627b48539c497f768279669be7690af5af8f302bfb2641989dacce8c4eed8c3i0",
    "632cf2db36977e4e091ed50d61185ad78d97e7a6c6ba468b844bfd7ac9b8aec3i0",
    "2fc44592a0d8924c8f48c9fcea8b189f9008f2795380446c0d13a9e452f284c3i0",
    "2e84632f9f2965d8648a36e2695070e3f9a06fab1fa72176d95652a19d6d3dc3i0",
    "c78e74a90bb23e55d23b221d6f184581d75f0e97acd94b6ab9c2536bae79f2c2i0",
    "b4eb0dc05c24f48105d80c38c2ced8789c7910960d07db3e7326cbfae5ded9c2i0",
    "5f166abe3f70f72479518451f11d67b6217a67e539c08440f844c6f71f2ea1c2i0",
    "32c2d37d9bd7f6a019e48bc8bbcd0b07cee07314724f517935b1e0ff490e5cc2i0",
    "0876e126bf57724045c799b0f1f6ae206d2bd15c4533212ec243951f03d834c2i0",
    "6492faedbf75e28c4637b6a1e518d063c0da130c461bb193bf7215364c7bf5c1i0",
    "be6f1f3e8ac1841f05dc0d67b650890dc845fbfd2d3833f48a0adb5016a6a2c1i0",
    "1cb2cb5519aea30e3921d59862bb1ca7d2a61430fdf6b64dc2d84a35fcc52dc1i0",
    "00d0f2dab82c0f1ba5208cd95cf204505617cdbaab854675875035f584fc0fc1i0",
    "4fd6ea5ecc0660d4b238deeeef7c7a238ed324a5343e5a83d0cd34d0cba7f0c0i0",
    "cb1d5b0b9c88e1cd2646939e2809119ba857770e0aacfa069ecf992745435bc0i0",
    "30394ffad8c25f93083e9044b3faca9fdcce9610af522a3d72c8bf6478e612c0i0",
    "2c80a5b7628e1cba9b890d4946d202fa9d534e0d4edb575ca18fc8fede1d05c0i0",
    "e3bca997a4494d2c43b441eefda53ec1c63277fb79e93204787d3733bf9f91bfi0",
    "7efeed6060c4a0749bd537b36d469fd874e66914b661de992a053e4702d618bfi0",
    "39cc481cad92dfbe5a7db974a8f40f0b945ec0a10cf0e525a1e40214ae9b9ebei0",
    "776725263fec5b995932dde0c79a511838b2f4da976d767ec357490d8e5142bei0",
    "01d5456b25bf80cf0bc661f5fe65167382cb67c324ab88f9a622c0722f3934bei0",
    "6cd9d02f08c818eca61fd40362855dce8157af0708460023710b2982053b2fbei0",
    "ff4f062a8e1fba6d5089a7517bfadf996a24a79181cfffa479fb5142227c0bbei0",
    "da23c5f3ca73c51fecdbfb7a77f028eb269bc438192e08fa7828850f7907b9bdi0",
    "804a382fe000066845dd2f53bb33d880dce201b0595da73843f115d85f789dbdi0",
    "3a837c80348691f965dbacf9414498c19eea184be8872509830ddc8e555611bdi0",
    "d87bdf8547ff587af6ab4e9ba58cfabd81e9dbae29ebee7f91ee4ce504b1e7bci0",
    "47f448eab72fa27e3ecd48cd9366f3900e13e3f385081a63027c3252452dcebci0",
    "f98248bd62d1893623d07789d2b77c76c726343272fe33cffd0598496792bfbci0",
    "9f4f89d78bf18eec65fad5a7e1e4b48023733678df1f831f762713aa28a7adbci0",
    "99603a91e9c394b8a08e41292afa612773054a1852ad50b70b926e8ed5ff98bci0",
    "ab9a8bc85f80436eb801f0b44525e735949b702b88165f276d9d5370a08792bci0",
    "68a66f966af6a8df8a697d026f53ac3d1bbf16fe60e4c00046c38ca42e4c6abci0",
    "f85395c84a44416973091c7b5b54093511a4e420d79b8a95f25392f60ee164bci0",
    "0d94b03575c0abcd9b50463402c57c05a8fb13fdc4838b3ea38fdb4214a93fbci0",
    "9101836abf01e3c2ec3b131bd392063aab15aafc15c83331e33bd5f27bddeabbi0",
    "a6b1b98105d3a8b6552e191e0bc300ac432bdba02b87d7e69cca7a5f22e9cebbi0",
    "38031a62f117119561f095109367359b1ec5b513cce605e99d3ad4fb3d73ccbbi0",
    "518505a149382542af4a249a0ea3e8393eb11baaf1e607bb7fa089ccb0acb7bbi0",
    "d6033366e191c597b5d060ccd11213625f7ca276a8dd3649db9463c401d654bbi0",
    "23c94df33db29f2068237528c50bccb9af14dabeb1b4c370c1ce2cfaf2bb12bbi0",
    "11407eeb6ecd4b5f721d3bdbb24d80c57bf978438466d44a37f4400dcf40dcbai0",
    "26fd15fe036f3ff842e060207150594d5327963a5af729d9d7bb37f9b27cc9bai0",
    "c85d49988d0a9e63b57a42b0f43b085ac848b4eec3c7567c6ff9835b28b7bfbai0",
    "6f9d8c063ebd8777d42609563d5a2753739ba9822afdbd3f30248aa3622c1bbai0",
    "59a5c6c8ebf33e8af27c5ca3a1fc34c6ec4a3933024431d74a7107c4cdb518bai0",
    "113a792a0665cc766fe1725e94da88af51d637f0b4b2d8bab8acefc60a7fa2b9i0",
    "74f75991f2f1f877c01834c8840778a67a66403ec6fe6db4889bd773a0c8f2b8i0",
    "1aea70b0b26f38543f5ac323c88287b8b128f275eac1b26e316a86e14bf6c4b8i0",
    "fb24445c829b8e9739be2153bf44f8962191c9ef470fa5a0a8cf6014d3939ab8i0",
    "4f7bd6fb95500aad569bd9772f49545f997ffed98782938e6d030d1f0ea482b8i0",
    "340716bc1585d9b57fc6c21e298caed04c84b27bd45873799b31b63d7fb965b8i0",
    "cc515eb5a3125b80a8d7a2ac8e0ba54206185715332ebe6434dfbc86661053b8i0",
    "e1ad8b866a5b25b67ccaf2b4e63eddb02b24e2a7abd8c3fd2c5d4ae488f83bb8i0",
    "bd723e4bc055e8a43d52e80041664b94dd24a7e1a1c4aa02f39841596a0d76b7i0",
    "45efc579e0fbbc539eeaf6fedc30fdd156fca6e32d7d0fff87c568b411a651b7i0",
    "6ff468ac685ea84a44977322e23371aee5c6eb75d35207a60dd8b43d32632db7i0",
    "9adda4d80df93b592ed215aee39da04fe4a43aec06a97f7228b483a747f4ebb6i0",
    "adf97725b496134ebfd0eaaceb63f23d94052a585f557206f33443c2d659e6b6i0",
    "41565db258d48adc4e0ff3467534890ee6a12beaed5378847667735affb8e2b6i0",
    "fab5be5f8860e29eb394e56bd0a668752c346d1bdda73dc6a2fc2e824a17dbb6i0",
    "1307d9531f2759ffcd125bdaf31ed9116c103a991a17d5b43b2e41a7e17460b6i0",
    "5494d587b738c901b727c39628d94eb021a836bd78e82b20f6e331ed5c2850b6i0",
    "6e98fb69311cf79bd271b13411df9e6b6138705fd08db20fe36a897eb4b513b6i0",
    "f6f5d494bd9211ec6b71e9270f4a87237647e7f655ce7c10392fe1c80d8affb5i0",
    "7fe37c78b2be6788af0fe810d5b6aedb1bb9c166b70667105e43de13234ee6b5i0",
    "8093e0684c094a22b23f328b1dbd50c487c3ab37bc230de456a12b7fde95bcb5i0",
    "7511c5ef23ab23f8e009e368b7954c4ed7e67a7a1cd94bae99b7d93a192a90b5i0",
    "c98658f7731c9b5342c6a51f0860fec09fbcab9867b986d4704736abf1b0f6b4i0",
    "b56001aa7fc59eb40068ea41e0f35a54f4d73c3483cd69ae0c26bb95dfc9e9b4i0",
    "4147fbe40586287b1e6144c066731e43959e1aa7d3c7c8ea301ee44fd0b37fb4i0",
    "3d43b7b45e4c0e062b21147be0ebdd68f9094f4e9c7b8a686aeb2948b40fbfb3i0",
    "6e66c9e03e18250806515a3a60e4a6012f37e87aa1446a679ade384c7e55a3b3i0",
    "8215caa5d781be0d5fae9ce7cb1a04efa17f82fb66cb2fa99e4c7bb1a2f479b3i0",
    "ce288cac29042474740fa477163767a0fcf74b228e48748630ac7193118429b3i0",
    "6d35d614a3574e85d80e27fdc5854a055c484dbf09f155411e279a839aa8ddb2i0",
    "906804e50f92a51329b5009d65e5f6e3c32e512279c835c3171ea6765eaca6b2i0",
    "70bd0c3531d62ab836187dd956e1e3fb7ef9903124b818a78e5ecd5198f5a3b2i0",
    "92c2668efad88467edded7ffc50fb05a063e7b2b555ccc2073f41d599bb037b2i0",
    "e97700fc461598ac01bcb2b74cde9ee31e608bfc7f53047e9e494697509f1fb2i0",
    "f9d7f767ae23e67ccb9ffd21d9f83ef9a7b6617f5988a08481e1f722de05d1b1i0",
    "262f07835303d1e3a8dce57c93488ed1512ad8ed633c9f129c1bc82535c99ab1i0",
    "4ea5e8e9cc2c7414d2652c8db87ef556b48e61d60f68cef9c319eb87566e3db1i0",
    "acfae264071fa0bb8bd7875e2d607ad48fac549c0817c2dba40858ee95571eb1i0",
    "ed150d8980b923b214b8ea115a31933bbebf82666f93c68a1e11ebd3fee3d9b0i0",
    "d9ea50a1c374d2feaf87a4ba82967aab419c1ecc4caac3964f69dac7323ca0b0i0"
  ],
  "more": true,
  "page_index": 9
}
GET /inscriptions/block/<BLOCKHEIGHT>

Description

Get inscriptions for a specific block.

Exemplo

curl -s -H "Accept: application/json" \
  http://0.0.0.0:80/inscriptions/block/767430
{
  "ids": [
    "6fb976ab49dcec017f1e201e84395983204ae1a7c2abf7ced0a85d692e442799i0"
  ],
  "more": false,
  "page_index": 0
}
GET /install.sh

Description

Installs the latest pre-built binary of ord

Exemplo

See wallet.md

GET /output/<OUTPOINT>

Description

Returns information about a UTXO, including inscriptions within it.

Exemplo

curl -s -H "Accept: application/json" \
  http://0.0.0.0:80/output/bc4c30829a9564c0d58e6287195622b53ced54a25711d1b86be7cd3a70ef61ed:0
{
  "address": "bc1pz4kvfpurqc2hwgrq0nwtfve2lfxvdpfcdpzc6ujchyr3ztj6gd9sfr6ayf",
  "indexed": false,
  "inscriptions": [],
  "outpoint": "bc4c30829a9564c0d58e6287195622b53ced54a25711d1b86be7cd3a70ef61ed:0",
  "runes": {},
  "sat_ranges": null,
  "script_pubkey": "OP_PUSHNUM_1 OP_PUSHBYTES_32 156cc4878306157720607cdcb4b32afa4cc6853868458d7258b907112e5a434b",
  "spent": true,
  "transaction": "bc4c30829a9564c0d58e6287195622b53ced54a25711d1b86be7cd3a70ef61ed",
  "value": 10000
}
POST /outputs

Description

List information from a list of outputs.

Exemplo

curl -s -X POST \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '["bc4c30829a9564c0d58e6287195622b53ced54a25711d1b86be7cd3a70ef61ed:0", "bc4c30829a9564c0d58e6287195622b53ced54a25711d1b86be7cd3a70ef61ed:1"]' \
  http://0.0.0.0:80/outputs
[
  {
    "address": "bc1pz4kvfpurqc2hwgrq0nwtfve2lfxvdpfcdpzc6ujchyr3ztj6gd9sfr6ayf",
    "indexed": false,
    "inscriptions": [],
    "outpoint": "bc4c30829a9564c0d58e6287195622b53ced54a25711d1b86be7cd3a70ef61ed:0",
    "runes": {},
    "sat_ranges": null,
    "script_pubkey": "OP_PUSHNUM_1 OP_PUSHBYTES_32 156cc4878306157720607cdcb4b32afa4cc6853868458d7258b907112e5a434b",
    "spent": true,
    "transaction": "bc4c30829a9564c0d58e6287195622b53ced54a25711d1b86be7cd3a70ef61ed",
    "value": 10000
  },
  {
    "address": "bc1pkc2cdnm6xermt2vzxg9wwcur5prgpl6pms3xf9ydtyax5pnqsgwqvuu5cq",
    "indexed": false,
    "inscriptions": [],
    "outpoint": "bc4c30829a9564c0d58e6287195622b53ced54a25711d1b86be7cd3a70ef61ed:1",
    "runes": {},
    "sat_ranges": null,
    "script_pubkey": "5120b61586cf7a3647b5a982320ae76383a04680ff41dc2264948d593a6a0660821c",
    "spent": true,
    "transaction": "bc4c30829a9564c0d58e6287195622b53ced54a25711d1b86be7cd3a70ef61ed",
    "value": 483528
  }
]
GET /outputs/<ADDRESS>

Description

Get UTXOs held by <ADDRESS>.

Query Parameters

type (optional)

ValorDescription
anyreturn all UTXOs
cardinalreturn UTXOs not containing inscriptions or runes
inscribedreturn UTXOs containing inscriptions
runicreturn UTXOs containing runes

Exemplo

curl -s -H "Accept: application/json" \
  "http://0.0.0.0:80/outputs/358mMRwcxuCSkKheuVWaXHJBGKrXo3f6JW?type=cardinal"
[
  {
    "address": "358mMRwcxuCSkKheuVWaXHJBGKrXo3f6JW",
    "indexed": true,
    "inscriptions": [],
    "outpoint": "6737d77ee9fba5f37e5f4128b03479209030bf44f78ffa3f4e94bf9783691b00:0",
    "runes": {},
    "sat_ranges": [
      [
        567775159437503,
        567775159443555
      ],
      [
        1266853954166100,
        1266853954177531
      ],
      [
        1210436862054339,
        1210436862084993
      ],
      [
        690914221328806,
        690914221362332
      ],
      [
        957021421066680,
        957021421075017
      ]
    ],
    "script_pubkey": "a91425c70777dfcf84ba7479483e262e1bc7bb0bf4d587",
    "spent": false,
    "transaction": "6737d77ee9fba5f37e5f4128b03479209030bf44f78ffa3f4e94bf9783691b00",
    "value": 90000
  },
  {
    "address": "358mMRwcxuCSkKheuVWaXHJBGKrXo3f6JW",
    "indexed": true,
    "inscriptions": [],
    "outpoint": "0cfa3e55f14812c119e47936d95abbb4e04f3094f6d86ac16c6e10018b0b2900:0",
    "runes": {},
    "sat_ranges": [
      [
        1773029001419378,
        1773029001509378
      ]
    ],
    "script_pubkey": "a91425c70777dfcf84ba7479483e262e1bc7bb0bf4d587",
    "spent": false,
    "transaction": "0cfa3e55f14812c119e47936d95abbb4e04f3094f6d86ac16c6e10018b0b2900",
    "value": 90000
  }
]
GET /rune/<RUNE>

Description

Returns details about the specified rune. Requires index with --index-runes flag.

Exemplo

curl -s -H "Accept: application/json" \
  http://localhost/rune/UNCOMMONGOODS
{
  "entry": {
    "block": 1,
    "burned": 139,
    "divisibility": 0,
    "etching": "0000000000000000000000000000000000000000000000000000000000000000",
    "mints": 33891693,
    "number": 0,
    "premine": 0,
    "spaced_rune": "UNCOMMON•GOODS",
    "symbol": "⧉",
    "terms": {
      "amount": 1,
      "cap": 340282366920938463463374607431768211455,
      "height": [
        840000,
        1050000
      ],
      "offset": [
        null,
        null
      ]
    },
    "timestamp": 0,
    "turbo": true
  },
  "id": "1:0",
  "mintable": true,
  "parent": null
}
GET /runes

Description

Returns details for last 100 inscribed runes. Requires index with --index-runes flag.

Exemplo

curl -s -H "Accept: application/json" \
  http://0.0.0.0:80/runes
{
  "entries": [
    [
      "864348:823",
      {
        "block": 864348,
        "burned": 0,
        "divisibility": 0,
        "etching": "645431123f5ff8b92d057803f2ba786689fd04f2d968d8fb6a4162b63cabc4fd",
        "mints": 0,
        "number": 119793,
        "premine": 0,
        "spaced_rune": "ZKSKOOUGYPXB",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 87187755,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728166072,
        "turbo": false
      }
    ],
    [
      "864348:822",
      {
        "block": 864348,
        "burned": 0,
        "divisibility": 0,
        "etching": "9d3a1200adfcb2e0ef07e4975120980befcc265cd85b9f2300bc12d4a1ab1beb",
        "mints": 0,
        "number": 119792,
        "premine": 0,
        "spaced_rune": "VEMRWZCGQRLL",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 183543298,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728166072,
        "turbo": false
      }
    ],
    [
      "864346:427",
      {
        "block": 864346,
        "burned": 0,
        "divisibility": 0,
        "etching": "2acaba44a6dc31cc5f8a8f4ee3a10eb9ca74e47d62975709cb8e81723d91a20d",
        "mints": 0,
        "number": 119791,
        "premine": 0,
        "spaced_rune": "LBQPCHACURXD",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 12894945,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728165011,
        "turbo": false
      }
    ],
    [
      "864343:2413",
      {
        "block": 864343,
        "burned": 0,
        "divisibility": 0,
        "etching": "6698cd13f630107ccc4b3058cc09b1718aa435e8f9c4eba6b08eea5d13ee809b",
        "mints": 0,
        "number": 119790,
        "premine": 1000000000,
        "spaced_rune": "BABY•LEN•SASSAMAN",
        "symbol": "Ⱡ",
        "terms": {
          "amount": 100000,
          "cap": 11000,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728162943,
        "turbo": false
      }
    ],
    [
      "864342:2591",
      {
        "block": 864342,
        "burned": 0,
        "divisibility": 1,
        "etching": "095513866c6e7aca84a39f403caac493eaa2f53eda848aaee3e96463571ec6d6",
        "mints": 0,
        "number": 119789,
        "premine": 30000,
        "spaced_rune": "COMPLETED•IT•MATE",
        "symbol": "⚽",
        "terms": {
          "amount": 100,
          "cap": 299999700,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728162376,
        "turbo": true
      }
    ],
    [
      "864338:4768",
      {
        "block": 864338,
        "burned": 0,
        "divisibility": 0,
        "etching": "0d04505188efc69d4e2cb389607663ff556c062e1e2f8c890bfc598c637700ab",
        "mints": 0,
        "number": 119788,
        "premine": 0,
        "spaced_rune": "IJEIKMFKELRFRGRGRGEFREFGR",
        "symbol": "d",
        "terms": {
          "amount": 211,
          "cap": 554553,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728160156,
        "turbo": false
      }
    ],
    [
      "864338:4767",
      {
        "block": 864338,
        "burned": 0,
        "divisibility": 0,
        "etching": "e0490721505254c83a69ce1411b1659b6ecd0690751cf43ac45240ca7d3ab4fb",
        "mints": 0,
        "number": 119787,
        "premine": 0,
        "spaced_rune": "CQHMUFFTWWPF",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 14372222,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728160156,
        "turbo": false
      }
    ],
    [
      "864338:4766",
      {
        "block": 864338,
        "burned": 0,
        "divisibility": 0,
        "etching": "ada836a0e9c834977161543ba7bace0b552e55f88da0398626b1c49a170502dd",
        "mints": 0,
        "number": 119786,
        "premine": 0,
        "spaced_rune": "KJMKPVMKREMVBVBFBVFD",
        "symbol": "3",
        "terms": {
          "amount": 332,
          "cap": 211222,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728160156,
        "turbo": false
      }
    ],
    [
      "864337:4402",
      {
        "block": 864337,
        "burned": 0,
        "divisibility": 0,
        "etching": "ed45aaf2e9b82d55e35a8d0654d0bb044d1d3e2fdd3eb8787d572854316c53c2",
        "mints": 0,
        "number": 119785,
        "premine": 0,
        "spaced_rune": "JNJKMLKMNJCMPMCESCVDSV•DV",
        "symbol": "2",
        "terms": {
          "amount": 3222,
          "cap": 1111111,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728160097,
        "turbo": false
      }
    ],
    [
      "864335:913",
      {
        "block": 864335,
        "burned": 0,
        "divisibility": 0,
        "etching": "435cc412c946ced0a5ae5a50ee41d2b541f06f09b6f587619507dfbcc61b8842",
        "mints": 0,
        "number": 119784,
        "premine": 0,
        "spaced_rune": "UOBYCVAGPLNO",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 194090811,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728158372,
        "turbo": false
      }
    ],
    [
      "864335:912",
      {
        "block": 864335,
        "burned": 0,
        "divisibility": 0,
        "etching": "79d77e44d66af6ec82ff7970eb3f15b9537408e3888ed0348a265810e99ddd3a",
        "mints": 0,
        "number": 119783,
        "premine": 0,
        "spaced_rune": "YNJMQPGPUGWN",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 71782828,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728158372,
        "turbo": false
      }
    ],
    [
      "864335:910",
      {
        "block": 864335,
        "burned": 0,
        "divisibility": 0,
        "etching": "b014db8f651ec05a1f261f3569c66973318787ad4c7410d6677fc6fcc45e5cfe",
        "mints": 0,
        "number": 119782,
        "premine": 0,
        "spaced_rune": "FDLQGMGRYAMF",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 135966360,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728158372,
        "turbo": false
      }
    ],
    [
      "864335:909",
      {
        "block": 864335,
        "burned": 0,
        "divisibility": 0,
        "etching": "bd649ba830b262ddcf24b0d6da5091f2dbf1276af26ad0809b65a95c42ddbec2",
        "mints": 0,
        "number": 119781,
        "premine": 0,
        "spaced_rune": "LBPOUDNUAIDK",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 128338720,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728158372,
        "turbo": false
      }
    ],
    [
      "864335:908",
      {
        "block": 864335,
        "burned": 0,
        "divisibility": 0,
        "etching": "4ee02e12ba76c8c85208510e078810efbb3843fdaa1323d4e84f40a753d97380",
        "mints": 0,
        "number": 119780,
        "premine": 0,
        "spaced_rune": "RNVHGUYHAUCM",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 3346818,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728158372,
        "turbo": false
      }
    ],
    [
      "864335:907",
      {
        "block": 864335,
        "burned": 0,
        "divisibility": 0,
        "etching": "c9b47a71a2a552450f6259262fc0c23c45148fccb52ee32cd5bb668a467a9f5d",
        "mints": 0,
        "number": 119779,
        "premine": 0,
        "spaced_rune": "RTSQQFKTEEBX",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 85692692,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728158372,
        "turbo": false
      }
    ],
    [
      "864335:906",
      {
        "block": 864335,
        "burned": 0,
        "divisibility": 0,
        "etching": "df772301fef3107549d200fea54f47e46d6aae197f85e93b0068749640028055",
        "mints": 0,
        "number": 119778,
        "premine": 0,
        "spaced_rune": "IWHXSPKPYQOX",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 166869547,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728158372,
        "turbo": false
      }
    ],
    [
      "864335:905",
      {
        "block": 864335,
        "burned": 0,
        "divisibility": 0,
        "etching": "186049ed6091d0a4d9e1abf6d436a6af7bc7603a33c71031b8bb0ba02f386b3a",
        "mints": 0,
        "number": 119777,
        "premine": 0,
        "spaced_rune": "OHDKZWZHYLVL",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 189310557,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728158372,
        "turbo": false
      }
    ],
    [
      "864335:904",
      {
        "block": 864335,
        "burned": 0,
        "divisibility": 0,
        "etching": "74e72d9c58ce6300807d1ca6343fa95f5fa34f3d7e29fc95a94b553ff4c66b36",
        "mints": 0,
        "number": 119776,
        "premine": 0,
        "spaced_rune": "NSZNPZDDFYCT",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 72959668,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728158372,
        "turbo": false
      }
    ],
    [
      "864335:386",
      {
        "block": 864335,
        "burned": 0,
        "divisibility": 0,
        "etching": "76e81c2a204074d61869f58ce86bf8ecfe66f1213bd444c4f22c6f638a401ef9",
        "mints": 0,
        "number": 119775,
        "premine": 0,
        "spaced_rune": "NTOOWMNTOOWMNTOOWM",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 1000000,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728158372,
        "turbo": false
      }
    ],
    [
      "864334:4073",
      {
        "block": 864334,
        "burned": 0,
        "divisibility": 0,
        "etching": "6c132c6b69ff19d3dbbd0165bcf2fb5db9bba717824a3ff93e94e976b7da5f9e",
        "mints": 0,
        "number": 119774,
        "premine": 0,
        "spaced_rune": "HIDDEN•SELDOM•DISEASE•WISE",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 1127,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728158138,
        "turbo": false
      }
    ],
    [
      "864334:4070",
      {
        "block": 864334,
        "burned": 0,
        "divisibility": 0,
        "etching": "adcbc4dc91e0b354baacb37be52e187fab2cf619c43f0675b26c5e7d58ad1ded",
        "mints": 0,
        "number": 119773,
        "premine": 0,
        "spaced_rune": "TYDSJXISYECCOQYYSS",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 2361833545833,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728158138,
        "turbo": false
      }
    ],
    [
      "864334:762",
      {
        "block": 864334,
        "burned": 0,
        "divisibility": 0,
        "etching": "259fc5e99770c5d2ed0547571981ad191554282e6ab4b2a6eb4083c392edc1cb",
        "mints": 0,
        "number": 119772,
        "premine": 0,
        "spaced_rune": "BEGCOAJVXEHW",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 38385326,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728158138,
        "turbo": false
      }
    ],
    [
      "864334:433",
      {
        "block": 864334,
        "burned": 0,
        "divisibility": 0,
        "etching": "4d324233f38c0cbf36bf1a76e161cbe0ff9f0efb6ee78d94dffdd5f16ec7e8ba",
        "mints": 0,
        "number": 119771,
        "premine": 0,
        "spaced_rune": "BEDIALAMDARBEDIALAMDAR",
        "symbol": null,
        "terms": {
          "amount": 5,
          "cap": 100000,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728158138,
        "turbo": false
      }
    ],
    [
      "864334:432",
      {
        "block": 864334,
        "burned": 0,
        "divisibility": 0,
        "etching": "f7b804462b33fd468ef3b171071094f3498968b0a488d08489e16058d470d809",
        "mints": 0,
        "number": 119770,
        "premine": 0,
        "spaced_rune": "RUTHMARTINRUTHMARTIN",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 999999,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728158138,
        "turbo": false
      }
    ],
    [
      "864334:431",
      {
        "block": 864334,
        "burned": 0,
        "divisibility": 0,
        "etching": "51ce542a9557a4894b0dfd705d13268682aa16c83e5eee9c5b1ba4d67113def8",
        "mints": 0,
        "number": 119769,
        "premine": 0,
        "spaced_rune": "ULTIVERSEULTIVERSE",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 7777777,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728158138,
        "turbo": false
      }
    ],
    [
      "864334:182",
      {
        "block": 864334,
        "burned": 0,
        "divisibility": 0,
        "etching": "195dc952cb7c9e8a5c370fe098b4aa1d8bba8225bb4706ee7243b8e3c43f2b32",
        "mints": 0,
        "number": 119768,
        "premine": 0,
        "spaced_rune": "NUQHRKVWSYEA",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 3063483,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728158138,
        "turbo": false
      }
    ],
    [
      "864333:3461",
      {
        "block": 864333,
        "burned": 0,
        "divisibility": 0,
        "etching": "65078629f16f0ce11a91da3de877a0ac5a25b5ed4c68d0ba3f6a8e75eab5f871",
        "mints": 0,
        "number": 119767,
        "premine": 0,
        "spaced_rune": "FMTJRFVGNHVZNUCB",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 5541274870406,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728157837,
        "turbo": false
      }
    ],
    [
      "864333:3458",
      {
        "block": 864333,
        "burned": 0,
        "divisibility": 0,
        "etching": "8471194b68cfab89a9d6112caf62f97819172d397e91674ec5413ad8f27b2828",
        "mints": 0,
        "number": 119766,
        "premine": 0,
        "spaced_rune": "WEELZZLGHGDRTO",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 507317119633,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728157837,
        "turbo": false
      }
    ],
    [
      "864333:3440",
      {
        "block": 864333,
        "burned": 0,
        "divisibility": 0,
        "etching": "90d530d1daf7f1f6ece388a846fe8173a427f71b7e1c5cfc1c035dcd1fc0b017",
        "mints": 0,
        "number": 119765,
        "premine": 0,
        "spaced_rune": "MIIOBBPODENFJ",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 503174265447,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728157837,
        "turbo": false
      }
    ],
    [
      "864333:3437",
      {
        "block": 864333,
        "burned": 0,
        "divisibility": 0,
        "etching": "5c0d2bbf9543cd50293fd6671d94502fa08c8c6d11431e0eee4ac3aedbdbc5bc",
        "mints": 0,
        "number": 119764,
        "premine": 0,
        "spaced_rune": "TASTE•RISING•FULL",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 4812,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728157837,
        "turbo": false
      }
    ],
    [
      "864333:3434",
      {
        "block": 864333,
        "burned": 0,
        "divisibility": 0,
        "etching": "1766810d3f53cfce81a4e0620c21e8e4643c7a40936dbafa6e88339c025fb5f6",
        "mints": 0,
        "number": 119763,
        "premine": 0,
        "spaced_rune": "REGION•MARK•LOW",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 2470,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728157837,
        "turbo": false
      }
    ],
    [
      "864333:3433",
      {
        "block": 864333,
        "burned": 0,
        "divisibility": 0,
        "etching": "f2a6805462cebffc6eb5855d1205dedf9c7f746a7dfd420c153011bb572f58ba",
        "mints": 0,
        "number": 119762,
        "premine": 0,
        "spaced_rune": "QHKKEWPTDMNB",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 53660832,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728157837,
        "turbo": false
      }
    ],
    [
      "864333:3432",
      {
        "block": 864333,
        "burned": 0,
        "divisibility": 0,
        "etching": "5d2127d84533fc9d486eaec1a2b76b2d349fe63a06a9d14847b667d360af6e19",
        "mints": 0,
        "number": 119761,
        "premine": 0,
        "spaced_rune": "IWLUKGYIWMBP",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 94339731,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728157837,
        "turbo": false
      }
    ],
    [
      "864333:3431",
      {
        "block": 864333,
        "burned": 0,
        "divisibility": 0,
        "etching": "ac4668d63f66c94515dbc2a74faa9152018758a75432cc085a7e7638a24cbc12",
        "mints": 0,
        "number": 119760,
        "premine": 0,
        "spaced_rune": "KWUFVEOJVKGQ",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 196312580,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728157837,
        "turbo": false
      }
    ],
    [
      "864333:2714",
      {
        "block": 864333,
        "burned": 0,
        "divisibility": 0,
        "etching": "c642cd4cc7a075c61d3a32b949217990aa91dfc928f12a2cdba1f2f228c699c7",
        "mints": 26,
        "number": 119759,
        "premine": 210000,
        "spaced_rune": "BOUNCE•THE•BITCOIN•CAT",
        "symbol": "🐱",
        "terms": {
          "amount": 1000,
          "cap": 20790,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728157837,
        "turbo": true
      }
    ],
    [
      "864333:2482",
      {
        "block": 864333,
        "burned": 0,
        "divisibility": 0,
        "etching": "cc2415293c275bea4d73ff8f45f68f269686b819de447f50ec6988ac04a62d1b",
        "mints": 0,
        "number": 119758,
        "premine": 30000000,
        "spaced_rune": "BITCAT•IS•IN•CONTROL",
        "symbol": "🐈",
        "terms": {
          "amount": 5000,
          "cap": 194000,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728157837,
        "turbo": true
      }
    ],
    [
      "864333:2462",
      {
        "block": 864333,
        "burned": 0,
        "divisibility": 0,
        "etching": "a75f792be155a0b53691289433a6413c1efb1aeaf970f752ee70be3c6e755a06",
        "mints": 0,
        "number": 119757,
        "premine": 0,
        "spaced_rune": "FIRST•CAT•EATING•BITCOINER",
        "symbol": "🙀",
        "terms": {
          "amount": 1000,
          "cap": 21000,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728157837,
        "turbo": true
      }
    ],
    [
      "864333:1142",
      {
        "block": 864333,
        "burned": 0,
        "divisibility": 0,
        "etching": "7488c2909e2bb5f39fb836ee1e18c23487d078e48e2420cc11776c8d7931fea5",
        "mints": 0,
        "number": 119756,
        "premine": 0,
        "spaced_rune": "AI•CRYPTO•AI•CRYPTO",
        "symbol": "A",
        "terms": {
          "amount": 1000,
          "cap": 1,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728157837,
        "turbo": false
      }
    ],
    [
      "864333:1140",
      {
        "block": 864333,
        "burned": 0,
        "divisibility": 0,
        "etching": "a024e2d4c4e15eab941376a954bb9176bc95990ba6b2a6d31e5b7c26cd8d7e7c",
        "mints": 0,
        "number": 119755,
        "premine": 0,
        "spaced_rune": "SACMKSOKCMPOKMWCLWMCLWCDWC",
        "symbol": "c",
        "terms": {
          "amount": 221,
          "cap": 2111111,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728157837,
        "turbo": false
      }
    ],
    [
      "864333:1136",
      {
        "block": 864333,
        "burned": 0,
        "divisibility": 0,
        "etching": "d6358e0601130c5ebbdb535aa93bbe2e752fd7fd6eee8601fe5af29e7ff179e1",
        "mints": 0,
        "number": 119754,
        "premine": 0,
        "spaced_rune": "XQOFVAHHLCQR",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 94964916,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728157837,
        "turbo": false
      }
    ],
    [
      "864333:1135",
      {
        "block": 864333,
        "burned": 0,
        "divisibility": 0,
        "etching": "62aa2bd48b0eb8a1c3bb090c6129bdc52a2348f3b8e25a2e2eeaa27313e242af",
        "mints": 0,
        "number": 119753,
        "premine": 0,
        "spaced_rune": "YEPWCVNODTII",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 39185064,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728157837,
        "turbo": false
      }
    ],
    [
      "864333:1134",
      {
        "block": 864333,
        "burned": 0,
        "divisibility": 0,
        "etching": "e3e6a144d3ac57d35f7f141f79ea818bd26a78bf900c2d0aeaa2a95ce68f8c9e",
        "mints": 0,
        "number": 119752,
        "premine": 0,
        "spaced_rune": "SDFGJUJTYHTGRSFAD",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 5,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728157837,
        "turbo": false
      }
    ],
    [
      "864333:1133",
      {
        "block": 864333,
        "burned": 0,
        "divisibility": 0,
        "etching": "97600a89179c0bfd4b7c69bc5f4e9fc2f206124fbc08d4872f18ac6be29a525e",
        "mints": 0,
        "number": 119751,
        "premine": 0,
        "spaced_rune": "XQEKAAGEYDXY",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 147617461,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728157837,
        "turbo": false
      }
    ],
    [
      "864333:1131",
      {
        "block": 864333,
        "burned": 0,
        "divisibility": 0,
        "etching": "8ecabca3a2b1518c67c5ee41c93e7874d1117edfd0b36e46ea68eb83e6f9eaad",
        "mints": 0,
        "number": 119750,
        "premine": 0,
        "spaced_rune": "XFHSGMZJEUML",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 1014672,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728157837,
        "turbo": false
      }
    ],
    [
      "864333:1130",
      {
        "block": 864333,
        "burned": 0,
        "divisibility": 0,
        "etching": "77b1518d7ad77d89118eeb8eb92c120e1732d2e7ce9d6780cda180f5f4968df6",
        "mints": 0,
        "number": 119749,
        "premine": 0,
        "spaced_rune": "DJLNUHRYYTGR",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 146717679,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728157837,
        "turbo": false
      }
    ],
    [
      "864333:1129",
      {
        "block": 864333,
        "burned": 0,
        "divisibility": 0,
        "etching": "4da09c158447950fabd281c7910c6e3f251b9b9a98ab7058e2f4b26304e332ee",
        "mints": 0,
        "number": 119748,
        "premine": 0,
        "spaced_rune": "CBAQVALKVMYP",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 181932658,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728157837,
        "turbo": false
      }
    ],
    [
      "864333:1128",
      {
        "block": 864333,
        "burned": 0,
        "divisibility": 0,
        "etching": "b947075130f5a5f93a5cdfa9a216c76b761ff7cd2fb7ca677b3d00a3ca5d53e0",
        "mints": 0,
        "number": 119747,
        "premine": 0,
        "spaced_rune": "POJSRGWQBBWQ",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 100105873,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728157837,
        "turbo": false
      }
    ],
    [
      "864333:1127",
      {
        "block": 864333,
        "burned": 0,
        "divisibility": 0,
        "etching": "a356dd06600bb163cb4d68bbe601f83d987c3c2cd456e3784616ab297d1843c0",
        "mints": 0,
        "number": 119746,
        "premine": 0,
        "spaced_rune": "FMPQPSLKENKY",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 82531312,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728157837,
        "turbo": false
      }
    ],
    [
      "864333:1126",
      {
        "block": 864333,
        "burned": 0,
        "divisibility": 0,
        "etching": "b6ecdb27bb269949f58ace2ba162726483070e80c140dc60329b5fdbbd3e6395",
        "mints": 0,
        "number": 119745,
        "premine": 0,
        "spaced_rune": "GOARBTCEASGJ",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 99967467,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728157837,
        "turbo": false
      }
    ],
    [
      "864333:1125",
      {
        "block": 864333,
        "burned": 0,
        "divisibility": 0,
        "etching": "abf680ed211d18428ddda208f164539fbf662705bd88d4041575c53e655ed794",
        "mints": 0,
        "number": 119744,
        "premine": 0,
        "spaced_rune": "MNBIUEEAKPBJ",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 168164931,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728157837,
        "turbo": false
      }
    ],
    [
      "864333:1124",
      {
        "block": 864333,
        "burned": 0,
        "divisibility": 0,
        "etching": "74e290bc2ed6b39c887ab3b456f86d91edbadb829936c63bb166d42233527491",
        "mints": 0,
        "number": 119743,
        "burned": 0,
        "divisibility": 0,
        "etching": "74e290bc2ed6b39c887ab3b456f86d91edbadb829936c63bb166d42233527491",
        "mints": 0,
        "number": 119743,
        "divisibility": 0,
        "etching": "74e290bc2ed6b39c887ab3b456f86d91edbadb829936c63bb166d42233527491",
        "mints": 0,
        "number": 119743,
        "premine": 0,
        "spaced_rune": "CWTYCFSOTBSU",
        "symbol": null,
        "etching": "74e290bc2ed6b39c887ab3b456f86d91edbadb829936c63bb166d42233527491",
        "mints": 0,
        "number": 119743,
        "premine": 0,
        "spaced_rune": "CWTYCFSOTBSU",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 29807122,
        "mints": 0,
        "number": 119743,
        "premine": 0,
        "spaced_rune": "CWTYCFSOTBSU",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 29807122,
        "premine": 0,
        "spaced_rune": "CWTYCFSOTBSU",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 29807122,
          "height": [
            null,
            null
        "terms": {
          "amount": 1,
          "cap": 29807122,
          "height": [
            null,
            null
          "height": [
            null,
            null
            null
          ],
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728157837,
        "turbo": false
      }
    ]
  ],
  "more": true,
  "prev": null,
  "next": 1
}
GET /runes/<PAGE>

Description

Pagination allows you to specify which page of 100 runes you'd like to return.

Exemplo

curl -s -H "Accept: application/json" \
  http://0.0.0.0:80/runes/0
{
  "entries": [
    [
      "864348:823",
      {
        "block": 864348,
        "burned": 0,
        "divisibility": 0,
        "etching": "645431123f5ff8b92d057803f2ba786689fd04f2d968d8fb6a4162b63cabc4fd",
        "mints": 0,
        "number": 119793,
        "premine": 0,
        "spaced_rune": "ZKSKOOUGYPXB",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 87187755,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728166072,
        "turbo": false
      }
    ],
    [
      "864348:822",
      {
        "block": 864348,
        "burned": 0,
        "divisibility": 0,
        "etching": "9d3a1200adfcb2e0ef07e4975120980befcc265cd85b9f2300bc12d4a1ab1beb",
        "mints": 0,
        "number": 119792,
        "premine": 0,
        "spaced_rune": "VEMRWZCGQRLL",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 183543298,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728166072,
        "turbo": false
      }
    ],
    [
      "864346:427",
      {
        "block": 864346,
        "burned": 0,
        "divisibility": 0,
        "etching": "2acaba44a6dc31cc5f8a8f4ee3a10eb9ca74e47d62975709cb8e81723d91a20d",
        "mints": 0,
        "number": 119791,
        "premine": 0,
        "spaced_rune": "LBQPCHACURXD",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 12894945,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728165011,
        "turbo": false
      }
    ],
    [
      "864343:2413",
      {
        "block": 864343,
        "burned": 0,
        "divisibility": 0,
        "etching": "6698cd13f630107ccc4b3058cc09b1718aa435e8f9c4eba6b08eea5d13ee809b",
        "mints": 0,
        "number": 119790,
        "premine": 1000000000,
        "spaced_rune": "BABY•LEN•SASSAMAN",
        "symbol": "Ⱡ",
        "terms": {
          "amount": 100000,
          "cap": 11000,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728162943,
        "turbo": false
      }
    ],
    [
      "864342:2591",
      {
        "block": 864342,
        "burned": 0,
        "divisibility": 1,
        "etching": "095513866c6e7aca84a39f403caac493eaa2f53eda848aaee3e96463571ec6d6",
        "mints": 0,
        "number": 119789,
        "premine": 30000,
        "spaced_rune": "COMPLETED•IT•MATE",
        "symbol": "⚽",
        "terms": {
          "amount": 100,
          "cap": 299999700,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728162376,
        "turbo": true
      }
    ],
    [
      "864338:4768",
      {
        "block": 864338,
        "burned": 0,
        "divisibility": 0,
        "etching": "0d04505188efc69d4e2cb389607663ff556c062e1e2f8c890bfc598c637700ab",
        "mints": 0,
        "number": 119788,
        "premine": 0,
        "spaced_rune": "IJEIKMFKELRFRGRGRGEFREFGR",
        "symbol": "d",
        "terms": {
          "amount": 211,
          "cap": 554553,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728160156,
        "turbo": false
      }
    ],
    [
      "864338:4767",
      {
        "block": 864338,
        "burned": 0,
        "divisibility": 0,
        "etching": "e0490721505254c83a69ce1411b1659b6ecd0690751cf43ac45240ca7d3ab4fb",
        "mints": 0,
        "number": 119787,
        "premine": 0,
        "spaced_rune": "CQHMUFFTWWPF",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 14372222,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728160156,
        "turbo": false
      }
    ],
    [
      "864338:4766",
      {
        "block": 864338,
        "burned": 0,
        "divisibility": 0,
        "etching": "ada836a0e9c834977161543ba7bace0b552e55f88da0398626b1c49a170502dd",
        "mints": 0,
        "number": 119786,
        "premine": 0,
        "spaced_rune": "KJMKPVMKREMVBVBFBVFD",
        "symbol": "3",
        "terms": {
          "amount": 332,
          "cap": 211222,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728160156,
        "turbo": false
      }
    ],
    [
      "864337:4402",
      {
        "block": 864337,
        "burned": 0,
        "divisibility": 0,
        "etching": "ed45aaf2e9b82d55e35a8d0654d0bb044d1d3e2fdd3eb8787d572854316c53c2",
        "mints": 0,
        "number": 119785,
        "premine": 0,
        "spaced_rune": "JNJKMLKMNJCMPMCESCVDSV•DV",
        "symbol": "2",
        "terms": {
          "amount": 3222,
          "cap": 1111111,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728160097,
        "turbo": false
      }
    ],
    [
      "864335:913",
      {
        "block": 864335,
        "burned": 0,
        "divisibility": 0,
        "etching": "435cc412c946ced0a5ae5a50ee41d2b541f06f09b6f587619507dfbcc61b8842",
        "mints": 0,
        "number": 119784,
        "premine": 0,
        "spaced_rune": "UOBYCVAGPLNO",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 194090811,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728158372,
        "turbo": false
      }
    ],
    [
      "864335:912",
      {
        "block": 864335,
        "burned": 0,
        "divisibility": 0,
        "etching": "79d77e44d66af6ec82ff7970eb3f15b9537408e3888ed0348a265810e99ddd3a",
        "mints": 0,
        "number": 119783,
        "premine": 0,
        "spaced_rune": "YNJMQPGPUGWN",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 71782828,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728158372,
        "turbo": false
      }
    ],
    [
      "864335:910",
      {
        "block": 864335,
        "burned": 0,
        "divisibility": 0,
        "etching": "b014db8f651ec05a1f261f3569c66973318787ad4c7410d6677fc6fcc45e5cfe",
        "mints": 0,
        "number": 119782,
        "premine": 0,
        "spaced_rune": "FDLQGMGRYAMF",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 135966360,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728158372,
        "turbo": false
      }
    ],
    [
      "864335:909",
      {
        "block": 864335,
        "burned": 0,
        "divisibility": 0,
        "etching": "bd649ba830b262ddcf24b0d6da5091f2dbf1276af26ad0809b65a95c42ddbec2",
        "mints": 0,
        "number": 119781,
        "premine": 0,
        "spaced_rune": "LBPOUDNUAIDK",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 128338720,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728158372,
        "turbo": false
      }
    ],
    [
      "864335:908",
      {
        "block": 864335,
        "burned": 0,
        "divisibility": 0,
        "etching": "4ee02e12ba76c8c85208510e078810efbb3843fdaa1323d4e84f40a753d97380",
        "mints": 0,
        "number": 119780,
        "premine": 0,
        "spaced_rune": "RNVHGUYHAUCM",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 3346818,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728158372,
        "turbo": false
      }
    ],
    [
      "864335:907",
      {
        "block": 864335,
        "burned": 0,
        "divisibility": 0,
        "etching": "c9b47a71a2a552450f6259262fc0c23c45148fccb52ee32cd5bb668a467a9f5d",
        "mints": 0,
        "number": 119779,
        "premine": 0,
        "spaced_rune": "RTSQQFKTEEBX",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 85692692,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728158372,
        "turbo": false
      }
    ],
    [
      "864335:906",
      {
        "block": 864335,
        "burned": 0,
        "divisibility": 0,
        "etching": "df772301fef3107549d200fea54f47e46d6aae197f85e93b0068749640028055",
        "mints": 0,
        "number": 119778,
        "premine": 0,
        "spaced_rune": "IWHXSPKPYQOX",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 166869547,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728158372,
        "turbo": false
      }
    ],
    [
      "864335:905",
      {
        "block": 864335,
        "burned": 0,
        "divisibility": 0,
        "etching": "186049ed6091d0a4d9e1abf6d436a6af7bc7603a33c71031b8bb0ba02f386b3a",
        "mints": 0,
        "number": 119777,
        "premine": 0,
        "spaced_rune": "OHDKZWZHYLVL",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 189310557,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728158372,
        "turbo": false
      }
    ],
    [
      "864335:904",
      {
        "block": 864335,
        "burned": 0,
        "divisibility": 0,
        "etching": "74e72d9c58ce6300807d1ca6343fa95f5fa34f3d7e29fc95a94b553ff4c66b36",
        "mints": 0,
        "number": 119776,
        "premine": 0,
        "spaced_rune": "NSZNPZDDFYCT",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 72959668,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728158372,
        "turbo": false
      }
    ],
    [
      "864335:386",
      {
        "block": 864335,
        "burned": 0,
        "divisibility": 0,
        "etching": "76e81c2a204074d61869f58ce86bf8ecfe66f1213bd444c4f22c6f638a401ef9",
        "mints": 0,
        "number": 119775,
        "premine": 0,
        "spaced_rune": "NTOOWMNTOOWMNTOOWM",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 1000000,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728158372,
        "turbo": false
      }
    ],
    [
      "864334:4073",
      {
        "block": 864334,
        "burned": 0,
        "divisibility": 0,
        "etching": "6c132c6b69ff19d3dbbd0165bcf2fb5db9bba717824a3ff93e94e976b7da5f9e",
        "mints": 0,
        "number": 119774,
        "premine": 0,
        "spaced_rune": "HIDDEN•SELDOM•DISEASE•WISE",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 1127,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728158138,
        "turbo": false
      }
    ],
    [
      "864334:4070",
      {
        "block": 864334,
        "burned": 0,
        "divisibility": 0,
        "etching": "adcbc4dc91e0b354baacb37be52e187fab2cf619c43f0675b26c5e7d58ad1ded",
        "mints": 0,
        "number": 119773,
        "premine": 0,
        "spaced_rune": "TYDSJXISYECCOQYYSS",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 2361833545833,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728158138,
        "turbo": false
      }
    ],
    [
      "864334:762",
      {
        "block": 864334,
        "burned": 0,
        "divisibility": 0,
        "etching": "259fc5e99770c5d2ed0547571981ad191554282e6ab4b2a6eb4083c392edc1cb",
        "mints": 0,
        "number": 119772,
        "premine": 0,
        "spaced_rune": "BEGCOAJVXEHW",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 38385326,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728158138,
        "turbo": false
      }
    ],
    [
      "864334:433",
      {
        "block": 864334,
        "burned": 0,
        "divisibility": 0,
        "etching": "4d324233f38c0cbf36bf1a76e161cbe0ff9f0efb6ee78d94dffdd5f16ec7e8ba",
        "mints": 0,
        "number": 119771,
        "premine": 0,
        "spaced_rune": "BEDIALAMDARBEDIALAMDAR",
        "symbol": null,
        "terms": {
          "amount": 5,
          "cap": 100000,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728158138,
        "turbo": false
      }
    ],
    [
      "864334:432",
      {
        "block": 864334,
        "burned": 0,
        "divisibility": 0,
        "etching": "f7b804462b33fd468ef3b171071094f3498968b0a488d08489e16058d470d809",
        "mints": 0,
        "number": 119770,
        "premine": 0,
        "spaced_rune": "RUTHMARTINRUTHMARTIN",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 999999,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728158138,
        "turbo": false
      }
    ],
    [
      "864334:431",
      {
        "block": 864334,
        "burned": 0,
        "divisibility": 0,
        "etching": "51ce542a9557a4894b0dfd705d13268682aa16c83e5eee9c5b1ba4d67113def8",
        "mints": 0,
        "number": 119769,
        "premine": 0,
        "spaced_rune": "ULTIVERSEULTIVERSE",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 7777777,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728158138,
        "turbo": false
      }
    ],
    [
      "864334:182",
      {
        "block": 864334,
        "burned": 0,
        "divisibility": 0,
        "etching": "195dc952cb7c9e8a5c370fe098b4aa1d8bba8225bb4706ee7243b8e3c43f2b32",
        "mints": 0,
        "number": 119768,
        "premine": 0,
        "spaced_rune": "NUQHRKVWSYEA",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 3063483,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728158138,
        "turbo": false
      }
    ],
    [
      "864333:3461",
      {
        "block": 864333,
        "burned": 0,
        "divisibility": 0,
        "etching": "65078629f16f0ce11a91da3de877a0ac5a25b5ed4c68d0ba3f6a8e75eab5f871",
        "mints": 0,
        "number": 119767,
        "premine": 0,
        "spaced_rune": "FMTJRFVGNHVZNUCB",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 5541274870406,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728157837,
        "turbo": false
      }
    ],
    [
      "864333:3458",
      {
        "block": 864333,
        "burned": 0,
        "divisibility": 0,
        "etching": "8471194b68cfab89a9d6112caf62f97819172d397e91674ec5413ad8f27b2828",
        "mints": 0,
        "number": 119766,
        "premine": 0,
        "spaced_rune": "WEELZZLGHGDRTO",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 507317119633,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728157837,
        "turbo": false
      }
    ],
    [
      "864333:3440",
      {
        "block": 864333,
        "burned": 0,
        "divisibility": 0,
        "etching": "90d530d1daf7f1f6ece388a846fe8173a427f71b7e1c5cfc1c035dcd1fc0b017",
        "mints": 0,
        "number": 119765,
        "premine": 0,
        "spaced_rune": "MIIOBBPODENFJ",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 503174265447,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728157837,
        "turbo": false
      }
    ],
    [
      "864333:3437",
      {
        "block": 864333,
        "burned": 0,
        "divisibility": 0,
        "etching": "5c0d2bbf9543cd50293fd6671d94502fa08c8c6d11431e0eee4ac3aedbdbc5bc",
        "mints": 0,
        "number": 119764,
        "premine": 0,
        "spaced_rune": "TASTE•RISING•FULL",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 4812,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728157837,
        "turbo": false
      }
    ],
    [
      "864333:3434",
      {
        "block": 864333,
        "burned": 0,
        "divisibility": 0,
        "etching": "1766810d3f53cfce81a4e0620c21e8e4643c7a40936dbafa6e88339c025fb5f6",
        "mints": 0,
        "number": 119763,
        "premine": 0,
        "spaced_rune": "REGION•MARK•LOW",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 2470,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728157837,
        "turbo": false
      }
    ],
    [
      "864333:3433",
      {
        "block": 864333,
        "burned": 0,
        "divisibility": 0,
        "etching": "f2a6805462cebffc6eb5855d1205dedf9c7f746a7dfd420c153011bb572f58ba",
        "mints": 0,
        "number": 119762,
        "premine": 0,
        "spaced_rune": "QHKKEWPTDMNB",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 53660832,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728157837,
        "turbo": false
      }
    ],
    [
      "864333:3432",
      {
        "block": 864333,
        "burned": 0,
        "divisibility": 0,
        "etching": "5d2127d84533fc9d486eaec1a2b76b2d349fe63a06a9d14847b667d360af6e19",
        "mints": 0,
        "number": 119761,
        "premine": 0,
        "spaced_rune": "IWLUKGYIWMBP",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 94339731,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728157837,
        "turbo": false
      }
    ],
    [
      "864333:3431",
      {
        "block": 864333,
        "burned": 0,
        "divisibility": 0,
        "etching": "ac4668d63f66c94515dbc2a74faa9152018758a75432cc085a7e7638a24cbc12",
        "mints": 0,
        "number": 119760,
        "premine": 0,
        "spaced_rune": "KWUFVEOJVKGQ",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 196312580,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728157837,
        "turbo": false
      }
    ],
    [
      "864333:2714",
      {
        "block": 864333,
        "burned": 0,
        "divisibility": 0,
        "etching": "c642cd4cc7a075c61d3a32b949217990aa91dfc928f12a2cdba1f2f228c699c7",
        "mints": 26,
        "number": 119759,
        "premine": 210000,
        "spaced_rune": "BOUNCE•THE•BITCOIN•CAT",
        "symbol": "🐱",
        "terms": {
          "amount": 1000,
          "cap": 20790,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728157837,
        "turbo": true
      }
    ],
    [
      "864333:2482",
      {
        "block": 864333,
        "burned": 0,
        "divisibility": 0,
        "etching": "cc2415293c275bea4d73ff8f45f68f269686b819de447f50ec6988ac04a62d1b",
        "mints": 0,
        "number": 119758,
        "premine": 30000000,
        "spaced_rune": "BITCAT•IS•IN•CONTROL",
        "symbol": "🐈",
        "terms": {
          "amount": 5000,
          "cap": 194000,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728157837,
        "turbo": true
      }
    ],
    [
      "864333:2462",
      {
        "block": 864333,
        "burned": 0,
        "divisibility": 0,
        "etching": "a75f792be155a0b53691289433a6413c1efb1aeaf970f752ee70be3c6e755a06",
        "mints": 0,
        "number": 119757,
        "premine": 0,
        "spaced_rune": "FIRST•CAT•EATING•BITCOINER",
        "symbol": "🙀",
        "terms": {
          "amount": 1000,
          "cap": 21000,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728157837,
        "turbo": true
      }
    ],
    [
      "864333:1142",
      {
        "block": 864333,
        "burned": 0,
        "divisibility": 0,
        "etching": "7488c2909e2bb5f39fb836ee1e18c23487d078e48e2420cc11776c8d7931fea5",
        "mints": 0,
        "number": 119756,
        "premine": 0,
        "spaced_rune": "AI•CRYPTO•AI•CRYPTO",
        "symbol": "A",
        "terms": {
          "amount": 1000,
          "cap": 1,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728157837,
        "turbo": false
      }
    ],
    [
      "864333:1140",
      {
        "block": 864333,
        "burned": 0,
        "divisibility": 0,
        "etching": "a024e2d4c4e15eab941376a954bb9176bc95990ba6b2a6d31e5b7c26cd8d7e7c",
        "mints": 0,
        "number": 119755,
        "premine": 0,
        "spaced_rune": "SACMKSOKCMPOKMWCLWMCLWCDWC",
        "symbol": "c",
        "terms": {
          "amount": 221,
          "cap": 2111111,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728157837,
        "turbo": false
      }
    ],
    [
      "864333:1136",
      {
        "block": 864333,
        "burned": 0,
        "divisibility": 0,
        "etching": "d6358e0601130c5ebbdb535aa93bbe2e752fd7fd6eee8601fe5af29e7ff179e1",
        "mints": 0,
        "number": 119754,
        "premine": 0,
        "spaced_rune": "XQOFVAHHLCQR",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 94964916,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728157837,
        "turbo": false
      }
    ],
    [
      "864333:1135",
      {
        "block": 864333,
        "burned": 0,
        "divisibility": 0,
        "etching": "62aa2bd48b0eb8a1c3bb090c6129bdc52a2348f3b8e25a2e2eeaa27313e242af",
        "mints": 0,
        "number": 119753,
        "premine": 0,
        "spaced_rune": "YEPWCVNODTII",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 39185064,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728157837,
        "turbo": false
      }
    ],
    [
      "864333:1134",
      {
        "block": 864333,
        "burned": 0,
        "divisibility": 0,
        "etching": "e3e6a144d3ac57d35f7f141f79ea818bd26a78bf900c2d0aeaa2a95ce68f8c9e",
        "mints": 0,
        "number": 119752,
        "premine": 0,
        "spaced_rune": "SDFGJUJTYHTGRSFAD",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 5,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728157837,
        "turbo": false
      }
    ],
    [
      "864333:1133",
      {
        "block": 864333,
        "burned": 0,
        "divisibility": 0,
        "etching": "97600a89179c0bfd4b7c69bc5f4e9fc2f206124fbc08d4872f18ac6be29a525e",
        "mints": 0,
        "number": 119751,
        "premine": 0,
        "spaced_rune": "XQEKAAGEYDXY",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 147617461,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728157837,
        "turbo": false
      }
    ],
    [
      "864333:1131",
      {
        "block": 864333,
        "burned": 0,
        "divisibility": 0,
        "etching": "8ecabca3a2b1518c67c5ee41c93e7874d1117edfd0b36e46ea68eb83e6f9eaad",
        "mints": 0,
        "number": 119750,
        "premine": 0,
        "spaced_rune": "XFHSGMZJEUML",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 1014672,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728157837,
        "turbo": false
      }
    ],
    [
      "864333:1130",
      {
        "block": 864333,
        "burned": 0,
        "divisibility": 0,
        "etching": "77b1518d7ad77d89118eeb8eb92c120e1732d2e7ce9d6780cda180f5f4968df6",
        "mints": 0,
        "number": 119749,
        "premine": 0,
        "spaced_rune": "DJLNUHRYYTGR",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 146717679,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728157837,
        "turbo": false
      }
    ],
    [
      "864333:1129",
      {
        "block": 864333,
        "burned": 0,
        "divisibility": 0,
        "etching": "4da09c158447950fabd281c7910c6e3f251b9b9a98ab7058e2f4b26304e332ee",
        "mints": 0,
        "number": 119748,
        "premine": 0,
        "spaced_rune": "CBAQVALKVMYP",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 181932658,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728157837,
        "turbo": false
      }
    ],
    [
      "864333:1128",
      {
        "block": 864333,
        "burned": 0,
        "divisibility": 0,
        "etching": "b947075130f5a5f93a5cdfa9a216c76b761ff7cd2fb7ca677b3d00a3ca5d53e0",
        "mints": 0,
        "number": 119747,
        "premine": 0,
        "spaced_rune": "POJSRGWQBBWQ",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 100105873,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728157837,
        "turbo": false
      }
    ],
    [
      "864333:1127",
      {
        "block": 864333,
        "burned": 0,
        "divisibility": 0,
        "etching": "a356dd06600bb163cb4d68bbe601f83d987c3c2cd456e3784616ab297d1843c0",
        "mints": 0,
        "number": 119746,
        "premine": 0,
        "spaced_rune": "FMPQPSLKENKY",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 82531312,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728157837,
        "turbo": false
      }
    ],
    [
      "864333:1126",
      {
        "block": 864333,
        "burned": 0,
        "divisibility": 0,
        "etching": "b6ecdb27bb269949f58ace2ba162726483070e80c140dc60329b5fdbbd3e6395",
        "mints": 0,
        "number": 119745,
        "premine": 0,
        "spaced_rune": "GOARBTCEASGJ",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 99967467,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728157837,
        "turbo": false
      }
    ],
    [
      "864333:1125",
      {
        "block": 864333,
        "burned": 0,
        "divisibility": 0,
        "etching": "abf680ed211d18428ddda208f164539fbf662705bd88d4041575c53e655ed794",
        "mints": 0,
        "number": 119744,
        "premine": 0,
        "spaced_rune": "MNBIUEEAKPBJ",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 168164931,
          "height": [
            null,
            null
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728157837,
        "turbo": false
      }
    ],
    [
      "864333:1124",
      {
        "block": 864333,
        "burned": 0,
        "divisibility": 0,
        "etching": "74e290bc2ed6b39c887ab3b456f86d91edbadb829936c63bb166d42233527491",
        "mints": 0,
        "number": 119743,
        "burned": 0,
        "divisibility": 0,
        "etching": "74e290bc2ed6b39c887ab3b456f86d91edbadb829936c63bb166d42233527491",
        "mints": 0,
        "number": 119743,
        "divisibility": 0,
        "etching": "74e290bc2ed6b39c887ab3b456f86d91edbadb829936c63bb166d42233527491",
        "mints": 0,
        "number": 119743,
        "premine": 0,
        "spaced_rune": "CWTYCFSOTBSU",
        "symbol": null,
        "etching": "74e290bc2ed6b39c887ab3b456f86d91edbadb829936c63bb166d42233527491",
        "mints": 0,
        "number": 119743,
        "premine": 0,
        "spaced_rune": "CWTYCFSOTBSU",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 29807122,
        "mints": 0,
        "number": 119743,
        "premine": 0,
        "spaced_rune": "CWTYCFSOTBSU",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 29807122,
        "premine": 0,
        "spaced_rune": "CWTYCFSOTBSU",
        "symbol": null,
        "terms": {
          "amount": 1,
          "cap": 29807122,
          "height": [
            null,
            null
        "terms": {
          "amount": 1,
          "cap": 29807122,
          "height": [
            null,
            null
          "height": [
            null,
            null
            null
          ],
          ],
          "offset": [
            null,
            null
          ]
        },
        "timestamp": 1728157837,
        "turbo": false
      }
    ]
  ],
  "more": true,
  "prev": null,
  "next": 1
}
GET /sat/<SAT>

Description

Returns details about a specific satoshi. Requires index with --index-sats flag.

Exemplo

curl -s -H "Accept: application/json" \
  http://0.0.0.0:80/sat/2099994106992659
{
  "block": 3891094,
  "charms": [],
  "cycle": 3,
  "decimal": "3891094.16797",
  "degree": "3°111094′214″16797‴",
  "epoch": 18,
  "inscriptions": [],
  "name": "satoshi",
  "number": 2099994106992659,
  "offset": 16797,
  "percentile": "99.99971949060254%",
  "period": 1930,
  "rarity": "common",
  "satpoint": null,
  "timestamp": 3544214021
}
GET /status

Description

Returns details about the server installation and index.

Exemplo

curl -s -H "Accept: application/json" \
  http://0.0.0.0:80/status
{
  "address_index": true,
  "blessed_inscriptions": 76332641,
  "chain": "mainnet",
  "cursed_inscriptions": 472043,
  "height": 864351,
  "initial_sync_time": {
    "secs": 59213,
    "nanos": 979632000
  },
  "inscriptions": 76804684,
  "lost_sats": 0,
  "minimum_rune_for_next_block": "PVHGFEDCAZZ",
  "rune_index": true,
  "runes": 119811,
  "sat_index": false,
  "started": "2024-09-27T17:43:39.291876400Z",
  "transaction_index": false,
  "unrecoverably_reorged": false,
  "uptime": {
    "secs": 709843,
    "nanos": 910346200
  }
}
GET /tx/<TRANSACTION_ID>

Description

Returns details about the specified transaction.

Exemplo

curl -s -H "Accept: application/json" \
  http://0.0.0.0:80/tx/99811de396ff10152cdfc9588d9750d0151501f081df2e56071c42dc3532b743
{
  "chain": "mainnet",
  "etching": null,
  "inscription_count": 1,
  "transaction": {
    "version": 2,
    "lock_time": 0,
    "input": [
      {
        "previous_output": "7d154f826f68e86370105641e3b5b1c6afc697613b8dfce48e4e40db01e8317a:1",
        "script_sig": "",
        "sequence": 4294967295,
        "witness": [
          "e68e67c60dfc06f570dfa8fe880cc09f1041a9b10b285743dd72b8f2e672987f7176ced40d46d279385c148a0c39b9914b91d9d503b7388791f6758884f0c2f4",
          "200c97fe0e7bb78d8dd7447bc098386c61248e1e9a7dfd263fd828c5373b945735ac0063036f7264010109696d6167652f706e67004d080289504e470d0a1a0a0000000d49484452000000360000003608060000008c456add000000017352474200aece1ce900000306494441546881ed9abf4e1b4110c63f477903a4b4a6a04186c21532a54de1c214a432051406d14471830405a2b25cb8701344e75c43a4d0514041112843a8281c642972111ec0cfb029ec3976d7b7e7fd670cd1fe24747b6b666ebf9bbdd9b9b581402010083c93f1e5a8130d18b5776b73defcdae26500a56a8df1e73fbe7f1d3acf6404ff2f29fe9d0f27c5fcba705cdbdcc1dae60ed8086028aad1aea0d1ae18f96612ba76ef8daea24131bf8edb874b004381fd6e0f8c3136bfb46aec4bb6fbfbfba7b6ad97881d1d6e6446471c1d6e089f2d2c2f627e69d56850c0b82853bc08234ad51a00e0e63c12fa49dcf1fe95961f5ed4d3e31d9e1eef70bc7f35f6cca6e155188f2c0e001aed4aaab84e34609d6820881af51b271b6f998932a32c88a20800fd6e2f6e2709e4138b8b28600ac94397b4ece82a0a98e25424f8082e2c2fc66d1abc0cf59fd64f9cd6ba99450c508bf3c1d423362bbc444c2ea9542465ca69613d879bad0b461506210d5cf09dcd1562f17bdb07906d937cb8240f2b233e42095150facce60a8c4f202a7c88339e8aa56a8d513d68220a1866452a942962fcda46647305e7c462953c14d348ebaede3e5ca68a22b2b9020060b73627bceee862953c6ece23a1a230b505c48a24293a24cc164d44012b610917d57e0664db490bb52dffed3a1684bd3582b0b78695b0848ca5bdced0abfe246692ee6dd730575b138c23d6eff650ccaf27550d13a346b60afb18bea4b2ad15ad8a60be524f98562a9f6c643bd13fefd35698ed3396d9db3e00301ca83458a6f88b074db60adf71db657bc069974ab53325fdcf589fce0be769fd049fbe7c7e5d7b1eb6627ce26b6b20b1df568c6bb4802944eca523a3c25a98bc81f35a0411b60b74da9e8792d3fa8970feebcf3700c0d9f5bdcd3052319ec726a23ad1403857a5eeadf20a0344812e3b5480a1b049a2642180d957b25be515e6539c16cdd6052b556bacd9ba10165efaeaa7130dd8e8cec7fd36d7e17db8f8d17ec66867898e141dfe8ed29472e1ecfa3e2347ce066d611f3fe49fdb29a5ce56790580dbaf02489cad7d20100804026f9d7f6be4942aeb43f7890000000049454e44ae42608268",
          "c10c97fe0e7bb78d8dd7447bc098386c61248e1e9a7dfd263fd828c5373b945735"
        ]
      }
    ],
    "output": [
      {
        "value": 546,
        "script_pubkey": "51208a2ade400b30af7cae07e30a9afa8ac49f54fb3ff7d0f42bbf4a66578a34c280"
      }
    ]
  },
  "txid": "99811de396ff10152cdfc9588d9750d0151501f081df2e56071c42dc3532b743"
}

Recursive Endpoints

See Recursion.

Explorador Ordinal

The ord binary includes a block explorer. We host an instance of the block explorer on mainnet at ordinals.com, on signet at signet.ordinals.com, and on testnet at testnet.ordinals.com. As of version 0.16.0 the wallet needs ord server running in the background. This is analogous to how bitcoin-cli needs bitcoind running in the background.

Executando o Explorador

O servidor pode ser executado localmente com:

ord server

Para especificar uma porta, adicione o sinalizador --http-port:

ord server --http-port 8080

The JSON-API endpoints are enabled by default, to disable them add the --disable-json-api flag (see here for more info):

ord server --disable-json-api

Procurar

A caixa de pesquisa aceita uma variedade de representações de objetos.

Blocos

Os blocos podem ser pesquisados por hash, por exemplo, o bloco gênesis:

000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f

Transações

As transações podem ser pesquisadas por hash, por exemplo, a transação coinbase do bloco gênesis:

4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b

Saídas

Transaction outputs can be searched by outpoint, for example, the only output of the genesis block coinbase transaction:

4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b:0

Sats

Sats podem ser pesquisados por número inteiro, sua posição dentro de toda a oferta de bitcoin

2099994106992659

Por decimal, seu bloco e deslocamento dentro daquele bloco:

481824.0

Por grau, seu ciclo, blocos desde o último halving, blocos desde o último ajuste de dificuldade e deslocamento dentro do bloco:

1°0′0″0‴

Por nome, sua representação na base 26 usando as letras "a" até "z":

ahistorical

Ou por percentil, a porcentagem do oferta de bitcoin que foi ou terá sido emitida quando ele for minerado:

100%

Wallet

Sats individuais podem ser inscritos com conteúdo arbitrário, criando artefatos digitais nativos do Bitcoin que podem ser mantidos em uma carteira Bitcoin e transferidos usando transações Bitcoin. As inscrições são tão duráveis, imutáveis, seguras e descentralizadas quanto o próprio Bitcoin.

Trabalhar com inscrições requer um nó completo do Bitcoin, para fornecer uma visão do estado atual da blockchain do Bitcoin, e uma carteira que pode criar inscrições e realizar controle de sat ao construir transações para enviar inscrições para outra carteira.

O Bitcoin Core fornece um nó completo e uma carteira Bitcoin. No entanto, a carteira Bitcoin Core não pode criar inscrições e não realiza controle de sat.

Isso requer ord, o utilitário ordinal. ord não implementa sua própria carteira, então os subcomandos ord wallet interagem com carteiras Bitcoin Core.

Este guia cobre:

  1. Instalando Bitcoin Core
  2. Sincronizando a blockchain do Bitcoin
  3. Criando uma carteira Bitcoin Core
  4. Usando ord wallet receive para receber sats
  5. Criando inscrições com ord wallet inscribe
  6. Enviando inscrições com ord wallet send
  7. Recebendo inscrições com ord wallet receive
  8. Batch inscribing with ord wallet inscribe --batch

Obtendo Ajuda

Se você tiver dúvidas, tente pedir ajuda no Ordinals Discord Server ou verifique o GitHub para problemas relevantes e discussões.

Instalando Bitcoin Core

O Bitcoin Core está disponível em bitcoincore.org na página de download.

Making inscriptions requires Bitcoin Core 28 or newer.

This guide does not cover installing Bitcoin Core in detail. Once Bitcoin Core is installed, you should be able to run bitcoind -version successfully from the command line. Do NOT use bitcoin-qt.

Configurando o Bitcoin Core

ord requires Bitcoin Core's transaction index and rest interface.

Para configurar seu nó Bitcoin Core para manter um índice de transação, adicione o seguinte ao seu bitcoin.conf:

txindex=1

Ou execute bitcoind com -txindex:

bitcoind -txindex

Details on creating or modifying your bitcoin.conf file can be found here.

Sincronizando a Blockchain do Bitcoin

Para sincronizar a cadeia, execute:

bitcoind -txindex

…e deixe rodando até getblockcount:

bitcoin-cli getblockcount

concorde com a contagem de blocos em um explorador de blocos como o explorador de blocos mempool.space. ord interage com bitcoind, então você deve deixar bitcoind rodando em segundo plano quando você estiver usando o ord.

The blockchain takes about 600GB of disk space. If you have an external drive you want to store blocks on, use the configuration option blocksdir=<external_drive_path>. This is much simpler than using the datadir option because the cookie file will still be in the default location for bitcoin-cli and ord to find.

Solução de problemas

Make sure you can access bitcoind with bitcoin-cli -getinfo and that it is fully synced.

If bitcoin-cli -getinfo returns Could not connect to the server, bitcoind is not running.

Make sure rpcuser, rpcpassword, or rpcauth are NOT set in your bitcoin.conf file. ord requires using cookie authentication. Make sure there is a file .cookie in your bitcoin data directory.

If bitcoin-cli -getinfo returns Could not locate RPC credentials, then you must specify the cookie file location. If you are using a custom data directory (specifying the datadir option), then you must specify the cookie location like bitcoin-cli -rpccookiefile=<your_bitcoin_datadir>/.cookie -getinfo. When running ord you must specify the cookie file location with --cookie-file=<your_bitcoin_datadir>/.cookie.

Make sure you do NOT have disablewallet=1 in your bitcoin.conf file. If bitcoin-cli listwallets returns Method not found then the wallet is disabled and you won't be able to use ord.

Make sure txindex=1 is set. Run bitcoin-cli getindexinfo and it should return something like

{
  "txindex": {
    "synced": true,
    "best_block_height": 776546
  }
}

If it only returns {}, txindex is not set. If it returns "synced": false, bitcoind is still creating the txindex. Wait until "synced": true before using ord.

If you have maxuploadtarget set it can interfere with fetching blocks for ord index. Either remove it or set whitebind=127.0.0.1:8333.

Instalando o ord

O utilitário ord é escrito em Rust e pode ser compilado a partir da fonte. Binários pré-construídos estão disponíveis na página de lançamentos.

Você pode instalar o binário pré-construído mais recente a partir da linha de comando com:

curl --proto '=https' --tlsv1.2 -fsLS https://ordinals.com/install.sh | bash -s

Depois que o ord estiver instalado, você poderá executar:

ord --version

Que imprime o número da versão do ord.

Creating a Wallet

ord uses bitcoind to manage private keys, sign transactions, and broadcast transactions to the Bitcoin network. Additionally the ord wallet requires ord server running in the background. Make sure these programs are running:

bitcoind -txindex
ord server

To create a wallet named ord, the default, for use with ord wallet, run:

ord wallet create

This will print out your seed phrase mnemonic, store it somewhere safe.

{
  "mnemonic": "dignity buddy actor toast talk crisp city annual tourist orient similar federal",
  "passphrase": ""
}

If you want to specify a different name or use an ord server running on a non-default URL you can set these options:

ord wallet --name foo --server-url http://127.0.0.1:8080 create

To see all available wallet options you can run:

ord wallet help

Restoring and Dumping Wallet

The ord wallet uses descriptors, so you can export the output descriptors and import them into another descriptor-based wallet. To export the wallet descriptors, which include your private keys:

$ ord wallet dump
==========================================
= THIS STRING CONTAINS YOUR PRIVATE KEYS =
=        DO NOT SHARE WITH ANYONE        =
==========================================
{
  "wallet_name": "ord",
  "descriptors": [
    {
      "desc": "tr([551ac972/86'/1'/0']tprv8h4xBhrfZwX9o1XtUMmz92yNiGRYjF9B1vkvQ858aN1UQcACZNqN9nFzj3vrYPa4jdPMfw4ooMuNBfR4gcYm7LmhKZNTaF4etbN29Tj7UcH/0/*)#uxn94yt5",
      "timestamp": 1296688602,
      "active": true,
      "internal": false,
      "range": [
        0,
        999
      ],
      "next": 0
    },
    {
      "desc": "tr([551ac972/86'/1'/0']tprv8h4xBhrfZwX9o1XtUMmz92yNiGRYjF9B1vkvQ858aN1UQcACZNqN9nFzj3vrYPa4jdPMfw4ooMuNBfR4gcYm7LmhKZNTaF4etbN29Tj7UcH/1/*)#djkyg3mv",
      "timestamp": 1296688602,
      "active": true,
      "internal": true,
      "range": [
        0,
        999
      ],
      "next": 0
    }
  ]
}

An ord wallet can be restored from a mnemonic:

ord wallet restore --from mnemonic

Type your mnemonic and press return.

To restore from a descriptor in descriptor.json:

cat descriptor.json | ord wallet restore --from descriptor

To restore from a descriptor in the clipboard:

ord wallet restore --from descriptor

Paste the descriptor into the terminal and press CTRL-D on unix and CTRL-Z on Windows.

Recebendo Sats

As inscrições são feitas em sats individuais, usando transações normais de Bitcoin que pagam taxas em sats, então sua carteira precisará de alguns sats.

Obtenha um novo endereço da sua carteira ord executando:

ord wallet receive

E envie alguns fundos.

Você pode ver transações pendentes com:

ord wallet transactions

Assim que a transação for confirmada, você poderá ver as saídas da transação com ord wallet outputs.

Criando conteúdo de inscrição

Sats pode ser inscrito com qualquer tipo de conteúdo, mas a carteira ord só suporta tipos de conteúdo que podem ser exibidos pelo explorador de blocos ord.

Além disso, as inscrições estão incluídas nas transações, portanto, quanto maior o conteúdo, maior será a taxa que a transação de inscrição deverá pagar.

O conteúdo da inscrição está incluído nas testemunhas da transação, que recebem o desconto de testemunha. Para calcular a taxa aproximada que uma transação de inscrição pagará, divida o tamanho do conteúdo por quatro e multiplique pela taxa da rede." BOOKMAR

As transações de inscrição devem ter menos de 400.000 unidades de peso ou não serão retransmitidas pelo Bitcoin Core. Um byte de conteúdo de inscrição custa uma unidade de peso. Como uma transação de inscrição não inclui apenas o conteúdo da inscrição, limite o conteúdo da inscrição a menos de 400.000 unidades de peso. 390.000 unidades de peso é uma margem segura.

Criando Inscrições

Para criar uma inscrição com o conteúdo de ARQUIVO, execute:

ord wallet inscribe --fee-rate FEE_RATE --file FILE

Ord produzirá dois IDs de transação, um para a transação de confirmação, outro para a transação de revelação, e o ID de inscrição. Os IDs de inscrição têm o formato TXIDiN, onde TXID é o ID da transação de revelação e N é o índice da inscrição na transação de revelação.

A transação de commit confirma um tapscript contendo o conteúdo da inscrição, e a transação de revelação gasta a partir desse tapscript, revelando o conteúdo na cadeia e inscrevendo-o no primeiro sat da entrada que contém o tapscript correspondente.

Aguarde até que a transação de revelação seja extraída. Você pode verificar o status do commit e revelar transações usando o explorador de blocos mempool.space.

Depois que a transação de revelação for minerada, o ID da inscrição deverá ser impresso quando você executar:

ord wallet inscriptions

Parent-Child Inscriptions

Parent-child inscriptions enable what is colloquially known as collections, see provenance for more information.

To make an inscription a child of another, the parent inscription has to be inscribed and present in the wallet. To choose a parent run ord wallet inscriptions and copy the inscription id (<PARENT_INSCRIPTION_ID>).

Now inscribe the child inscription and specify the parent like so:

ord wallet inscribe --fee-rate FEE_RATE --parent <PARENT_INSCRIPTION_ID> --file CHILD_FILE

This relationship cannot be added retroactively, the parent has to be present at inception of the child.

Enviando Inscrições

Peça ao destinatário para gerar um novo endereço executando:

ord wallet receive

Envie a inscrição executando:

ord wallet send --fee-rate <FEE_RATE> <ADDRESS> <INSCRIPTION_ID>

Veja a transação pendente com:

ord wallet transactions

Assim que a transação de envio for confirmada, o destinatário poderá confirmar o recebimento executando:

ord wallet inscriptions

Sending Runes

Peça ao destinatário para gerar um novo endereço executando:

ord wallet receive

Send the runes by running:

ord wallet send --fee-rate <FEE_RATE> <ADDRESS> <RUNES_AMOUNT>

Where RUNES_AMOUNT is the number of runes to send, a : character, and the name of the rune. For example if you want to send 1000 of the EXAMPLE rune, you would use 1000:EXAMPLE.

ord wallet send --fee-rate 1 SOME_ADDRESS 1000:EXAMPLE

Veja a transação pendente com:

ord wallet transactions

Once the send transaction confirms, the recipient can confirm receipt with:

ord wallet balance

Recebendo Inscrições

Gere um novo endereço de recebimento usando:

ord wallet receive

O remetente pode transferir a inscrição para o seu endereço usando:

ord wallet send --fee-rate <FEE_RATE> ADDRESS INSCRIPTION_ID

Veja a transação pendente com:

ord wallet transactions

Once the send transaction confirms, you can confirm receipt by running:

ord wallet inscriptions

Batch Inscribing

Multiple inscriptions can be created at the same time using the pointer field. This is especially helpful for collections, or other cases when multiple inscriptions should share the same parent, since the parent can passed into a reveal transaction that creates multiple children.

To create a batch inscription using a batchfile in batch.yaml, run the following command:

ord wallet batch --fee-rate 21 --batch batch.yaml

Example batch.yaml

# example batch file

# inscription modes:
# - `same-sat`: inscribe on the same sat
# - `satpoints`: inscribe on the first sat of specified satpoint's output
# - `separate-outputs`: inscribe on separate postage-sized outputs
# - `shared-output`: inscribe on a single output separated by postage
mode: separate-outputs

# parent inscriptions:
parents:
- 6ac5cacb768794f4fd7a78bf00f2074891fce68bd65c4ff36e77177237aacacai0

# postage for each inscription:
postage: 12345

# allow reinscribing
reinscribe: true

# sat to inscribe on, can only be used with `same-sat`:
# sat: 5000000000

# rune to etch (optional)
etching:
  # rune name
  rune: THE•BEST•RUNE
  # allow subdividing super-unit into `10^divisibility` sub-units
  divisibility: 2
  # premine
  premine: 1000.00
  # total supply, must be equal to `premine + terms.cap * terms.amount`
  supply: 10000.00
  # currency symbol
  symbol: $
  # mint terms (optional)
  terms:
    # amount per mint
    amount: 100.00
    # maximum number of mints
    cap: 90
    # mint start and end absolute block height (optional)
    height:
      start: 840000
      end: 850000
    # mint start and end block height relative to etching height (optional)
    offset:
      start: 1000
      end: 9000
  # future runes protocol changes may be opt-in. this may be for a variety of
  # reasons, including that they make light client validation harder, or simply
  # because they are too degenerate.
  #
  # setting `turbo` to `true` opts in to these future protocol changes,
  # whatever they may be.
  turbo: true

# inscriptions to inscribe
inscriptions:
  # path to inscription content
- file: mango.avif
  # inscription to delegate content to (optional)
  delegate: 6ac5cacb768794f4fd7a78bf00f2074891fce68bd65c4ff36e77177237aacacai0
  # destination (optional, if no destination is specified a new wallet change address will be used)
  destination: bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4
  # inscription metadata (optional)
  metadata:
    title: Delicious Mangos
    description: >
      Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam semper,
      ligula ornare laoreet tincidunt, odio nisi euismod tortor, vel blandit
      metus est et odio. Nullam venenatis, urna et molestie vestibulum, orci
      mi efficitur risus, eu malesuada diam lorem sed velit. Nam fermentum
      dolor et luctus euismod.

- file: token.json
  # inscription metaprotocol (optional)
  metaprotocol: DOPEPROTOCOL-42069

- file: tulip.png
  destination: bc1pdqrcrxa8vx6gy75mfdfj84puhxffh4fq46h3gkp6jxdd0vjcsdyspfxcv6
  metadata:
    author: Satoshi Nakamoto

- file: gallery.png
  # gallery items
  gallery:
  - a4676e57277b70171d69dc6ad2781485b491fe0ff5870f6f6b01999e7180b29ei0
  - a4676e57277b70171d69dc6ad2781485b491fe0ff5870f6f6b01999e7180b29ei3

Splitting

Complex transactions can be created using the ord wallet split command.

The split command takes a YAML configuration file, which specifies any number of outputs to be created, their bitcoin value, and their value of any number of runes. It does not currently allow assigning inscriptions to outputs.

The split command can be used to split cardinal, bitcoin-only outputs for transacting, distribute runes to large numbers of recipients in a single transaction.

To send a split transaction using the configuration in splits.yaml, run the following command:

ord wallet split --fee-rate 21 --splits split.yaml

Example splits.yaml --------------------`

# example split file

# output fields:
#   address: output recipient bitcoin address
#   value: output bitcoin value (optional, defaults to minimal-non dust value for `address`)
#   runes: output rune value map (values respect rune divisibility)
outputs:
- address: bc1p5d7rjq7g6rdk2yhzks9smlaqtedr4dekq08ge8ztwac72sfr9rusxg3297
  value: 10 sat
  runes:
    UNCOMMON•GOODS: 1234
    GRIEF•WAGE: 5000000
- address: 3J98t1WpEZ73CNmQviecrnyiWrnqRhWNLy
  runes:
    HELLO•WORLD: 22.5

Colecionando

Atualmente, ord é a única carteira que suporta controle e seleção de sats, que são necessários para armazenar e enviar com segurança sats e inscrições raras, doravante ordinais.

A forma recomendada de enviar, receber e armazenar ordinais é com ord, mas se você for cuidadoso, é possível armazenar com segurança e, em alguns casos, enviar ordinais com outras carteiras.

Como observação geral, receber ordinais em uma carteira não suportada não é perigoso. Os ordinais podem ser enviados para qualquer endereço bitcoin e são seguros desde que o UTXO que os contém não seja gasto. Porém, se essa carteira for usada para enviar bitcoin, ela poderá selecionar o UTXO contendo o ordinal como entrada e enviar a inscrição ou gastá-la em taxas.

Um guia para criar uma carteira compatível com ord com Sparrow Wallet está disponível neste manual.

Observe que se você seguir este guia, não deverá usar a carteira que criou para enviar BTC, a menos que realize a seleção manual de moedas para evitar o envio de ordinais.

Colecionando Inscrições e Ordinals com Sparrow

Usuários que não podem ou ainda não configuraram a carteira ord podem receber inscrições e ordinais com carteiras bitcoin alternativas, desde que sejam muito cuidadosos sobre como gastam fundos daquela carteira.

Este guia fornece alguns passos básicos sobre como criar uma carteira com Sparrow Wallet que é compatível com ord e pode ser posteriormente importada para ord.

⚠️⚠️ Aviso!! ⚠️⚠️

Como regra geral, se você adotar essa abordagem, deverá usar esta carteira com o software Sparrow como uma carteira somente para recebimento.

Não gaste nenhum satoshi desta carteira, a menos que tenha certeza de que sabe o que está fazendo. Você pode facilmente perder inadvertidamente o acesso aos seus ordinais e inscrições se não prestar atenção a este aviso.

Configuração da Carteira & Recebendo

Baixe a Sparrow Wallet na página de lançamentos para seu sistema operacional específico.

Selecione File -> New Wallet e crie uma nova carteira chamada ord.

Altere o Script Type (Tipo de script) para Taproot (P2TR) e selecione a opção New or Imported Software Wallet.

Selecione Use 12 Words (Usar 12 palavras) e clique em Generate New (Gerar novo). Deixe a passphrase em branco.

Uma nova frase inicial BIP39 de 12 palavras será gerada para você. Anote isso em algum lugar seguro, pois este é o seu backup para ter acesso à sua carteira. NUNCA compartilhe ou mostre esta frase-semente para ninguém.

Depois de escrever a frase inicial, clique em Confirm Backup.

Digite novamente a frase inicial que você anotou e clique em Create Keystore.

Clique em Import Keystore.

Clique em Apply (aplicar). Adicione uma senha para a carteira se desejar.

Agora você tem uma carteira compatível com ord e pode ser importada para ord usando a frase inicial BIP39. Para receber ordinais ou inscrições, clique na aba Receive e copie um novo endereço.

Cada vez que desejar receber, você deve usar um endereço totalmente novo e não reutilizar endereços existentes.

Observe que o bitcoin é diferente de algumas outras carteiras de blockchain, pois esta carteira pode gerar um número ilimitado de novos endereços. Você pode gerar um novo endereço clicando no botão Get Next Address. Você pode ver todos os seus endereços na guia Addresses do aplicativo.

Você pode adicionar um rótulo (label) a cada endereço para saber para que ele foi usado.

Validando / Visualizando Inscrições Recebidas

Depois de receber uma inscrição você verá uma nova transação na aba Transactions do Sparrow, bem como um novo UTXO na aba UTXOs.

Inicialmente essa transação pode ter um status "Unconfirmed" e você precisará esperar que ela seja minerada em um bloco de bitcoin antes de ser totalmente recebida.

Para rastrear o status da sua transação, você pode clicar com o botão direito sobre ela, selecionar Copy Transaction ID e colar o ID da transação no mempool.space.

Uma vez confirmada a transação, você pode validar e visualizar sua inscrição indo até a aba UTXOs, encontrando o UTXO que deseja verificar, clicando com o botão direito em Output e selecionando Copy Transaction Output. Esse ID de saída da transação pode então ser usado para busca em ordinals.com.

Congelando UTXOs

Conforme explicado acima, cada uma de suas inscrições é armazenada em uma saída de transação não gasta (UTXO). Você deve ter muito cuidado para não gastar acidentalmente suas inscrições, e uma maneira de dificultar que isso aconteça é congelar o UTXO.

Para fazer isso, vá até a aba UTXOs, encontre o UTXO que deseja congelar, clique com o botão direito em Output e selecione Frreeze UTXO (Congelar UTXO).

Agora este UTXO (Inscrição) não pode ser gasto na carteira Sparrow até que você o descongele.

Importando para a carteira ord

For details on setting up Bitcoin Core and the ord wallet check out the Wallet Guide

Ao configurar ord, em vez de executar ord wallet create para criar uma carteira totalmente nova, você pode importar sua carteira existente usando ord wallet restore "BIP39 SEED PHRASE" usando a frase inicial que você gerou na sua carteira Sparrow.

Atualmente existe um bug que faz com que uma carteira importada não seja automaticamente verificada novamente na blockchain. Para contornar isso, você precisará acionar manualmente uma nova verificação usando o bitcoin core cli: bitcoin-cli -rpcwallet=ord rescanblockchain 767430

Você pode então verificar as inscrições da sua carteira usandoord wallet inscriptions

Observe que se você já criou uma carteira com ord, então você já terá uma carteira com o nome padrão e precisará dar um nome diferente à sua carteira importada. Você pode usar o parâmetro --wallet em todos os comandos ord para referenciar uma carteira diferente, por exemplo:

ord wallet --name ord_from_sparrow wallet restore --from mnemonic

ord wallet --name ord_from_sparrow wallet inscriptions

bitcoin-cli -rpcwallet=ord_from_sparrow rescanblockchain 767430

Enviando inscrições com a Sparrow Wallet

⚠️⚠️ Aviso ⚠️⚠️

Embora seja altamente recomendado que você configure um nó de bitcoin core e execute o software ord, existem certas maneiras limitadas de enviar inscrições da Sparrow Wallet de maneira segura. Observe que isso não é recomendado e você só deve fazer isso se compreender totalmente o que está fazendo.

O uso do software ord removerá grande parte da complexidade que descrevemos aqui, pois ele é capaz de lidar com o envio de inscrições de maneira fácil e automática.

⚠️⚠️ Aviso Adicional ⚠️⚠️

Não use sua carteira Sparrow com inscrições para fazer envios gerais de bitcoins sem inscrição. Você pode configurar uma carteira separada no Sparrow se precisar fazer transações normais de Bitcoin e manter sua carteira de inscrições separada.

O Modelo UTXO do Bitcoin

Antes de enviar qualquer transação, é importante que você tenha um bom modelo mental para o sistema Unspent Transaction Output (UTXO) do bitcoin. A forma como o Bitcoin funciona é fundamentalmente diferente de muitas outras blockchains, como o Ethereum. No Ethereum geralmente você tem um único endereço no qual armazena ETH e não pode diferenciar nenhum dos ETH - é apenas um valor único do valor total nesse endereço. O Bitcoin funciona de maneira muito diferente, pois geramos um novo endereço na carteira para cada recebimento, e toda vez que você recebe sats em um endereço da sua carteira, você está criando um novo UTXO. Cada UTXO pode ser visto e gerenciado individualmente. Você pode selecionar UTXOs específicos que deseja gastar e pode optar por não gastar determinados UTXOs.

Algumas carteiras Bitcoin não expõem esse nível de detalhe e apenas mostram um único valor resumido de todos os bitcoins em sua carteira. Porém, ao enviar inscrições é importante que você utilize uma carteira como a Sparrow que permite o controle de UTXOs.

Inspecionando sua inscrição antes de enviar

Como descrevemos anteriormente, as inscrições são inscritas em sats e os sats são armazenados em UTXOs. UTXOs são uma coleção de satoshis com algum valor específico do número de satoshis (o valor de saída). Normalmente (mas nem sempre) a inscrição será inscrita no primeiro satoshi do UTXO.

Ao inspecionar sua inscrição antes de enviá-la, o principal que você deve verificar é em qual satoshi do UTXO sua inscrição está inscrita.

Para fazer isso, você pode seguir Validando/Visualizando Inscrições Recebidas descrito acima para encontrar a página de inscrição para sua inscrição em ordinals.com.

Lá você encontrará alguns metadados sobre sua inscrição que se parecem com os seguintes:

Há algumas coisas importantes para verificar aqui:

  • O identificador output corresponde ao identificador do UTXO que você vai enviar.
  • O offset da inscrição é 0 (isto significa que a inscrição está localizada no primeiro sat no UTXO)
  • O output_value tem sats suficientes para cobrir a taxa de transação (postagem) para enviar a transação. O valor exato que você precisará depende da taxa que você selecionará para a transação.

Se todos os itens acima forem verdadeiros para sua inscrição, será seguro enviá-la usando o método abaixo.

⚠️⚠️ Tenha muito cuidado ao enviar sua inscrição, principalmente se o valor offset não for 0. Não é recomendado usar este método se for esse o caso, pois ao fazê-lo você pode enviar acidentalmente sua inscrição para um minerador de bitcoin, a menos que saiba o que está fazendo.

Enviando sua inscrição

Para enviar uma inscrição navegue até a aba UTXOs e encontre o UTXO que você validou anteriormente que contém sua inscrição.

Se você congelou o UXTO anteriormente, precisará clicar com o botão direito nele e descongelá-lo.

Selecione o UTXO que deseja enviar e certifique-se de que apenas aquele UTXO esteja selecionado. Você deverá ver UTXOs 1/1 na interface. Quando tiver certeza de que este é o caso, você pode clicar em Send Selected.

Em seguida, será apresentada a interface de construção da transação. Há algumas coisas que você precisa verificar aqui para ter certeza de que este é um envio seguro:

  • A transação deve ter apenas 1 entrada (input), e esta deve ser o UTXO com o rótulo que você deseja enviar
  • A transação deverá ter apenas 1 saída (output), que é o endereço/etiqueta para onde deseja enviar a inscrição

Se a sua transação parecer diferente, por exemplo, você tem múltiplas entradas ou múltiplas saídas, então esta pode não ser uma transferência segura da sua inscrição e você deve abandonar o envio até entender mais, ou importar para a carteira ord.

Você deve definir uma taxa de transação apropriada; o Sparrow geralmente recomendará uma taxa razoável, mas você também pode verificar mempool.space para ver qual é a taxa de taxa recomendada para o envio de uma transação no momento.

Você deve adicionar um rótulo (label) para o endereço do destinatário, um rótulo como endereço de Alice para inscrição 123 seria o ideal.

Depois de verificar se a transação é segura usando as verificações acima e estiver confiante para enviá-la, você pode clicar em Create Transaction.

Aqui, novamente, você pode verificar se sua transação parece segura e, quando estiver confiante, clique em Finalize Transaction for Signing.

Aqui você pode verificar tudo três vezes antes de clicar em Sign para assinar.

E então, na verdade, você terá a última chance de verificar tudo antes de clicar em Broadcast Transaction. Depois de transmitir a transação, ela é enviada para a rede Bitcoin e começa a ser propagada na mempool.

Se quiser acompanhar o status da sua transação, você pode copiar o Transaction Id (Txid) e colá-lo em mempool.space.

Assim que a transação for confirmada, você pode verificar a página de inscrição em ordinals.com para validar que ela foi movida para o novo local e endereço de saída.

Solução de problemas

A carteira Sparrow não mostra uma transação/UTXO, mas posso ver em mempool.space!

Certifique-se de que sua carteira esteja conectada a um nó bitcoin. Para validar isso, vá até Preferences-> configurações de Server e clique em Edit Existing Connection.

A partir daí você pode selecionar um nó e clicar em Test Connection para validar se o Sparrow é capaz de se conectar com sucesso.

Moderação

ord inclui um explorador de blocos, que você pode executar localmente com ord server.

O explorador de blocos permite visualizar inscrições. As inscrições são conteúdos gerados pelo usuário, que podem ser questionáveis ou ilegais.

É de responsabilidade de cada indivíduo que executa uma instância do explorador de bloco ordinal compreender suas responsabilidades em relação ao conteúdo ilegal e decidir qual política de moderação é apropriada para sua própria instância.

Para evitar que inscrições específicas sejam exibidas em uma instância ord, elas podem ser incluídas em um arquivo de configuração YAML, que é carregado com a opção --config.

Para ocultar inscrições, primeiro crie um arquivo de configuração, com o ID da inscrição que deseja ocultar:

hidden:
- 0000000000000000000000000000000000000000000000000000000000000000i0

O nome sugerido para os arquivos de configuração do ord é ord.yaml, mas qualquer nome de arquivo pode ser usado.

Em seguida, passe o arquivo para --config ao iniciar o servidor:

ord --config ord.yaml server

Observe que a opção --config vem depois de ord, mas antes do subcomando server.

ord deve ser reiniciado para carregar as alterações no arquivo de configuração.

ordinals.com

As instâncias ordinals.com usam systemd para executar o serviço ord server, que é chamado ord, com um arquivo de configuração localizado em /var/lib/ord/ord.yaml.

Para ocultar uma inscrição em ordinals.com:

  1. Conecte-se ao servidor com SSH
  2. Adicione o ID da inscrição a /var/lib/ord/ord.yaml
  3. Reinicie o serviço com systemctl restart ord
  4. Monitore a reinicialização com journalctl -u ord

Atualmente, ord demora para reiniciar, então o site não voltará a ficar online imediatamente.

Reindexação

Às vezes, o banco de dados ord deve ser reindexado, o que significa excluir o banco de dados e reiniciar o processo de indexação com ord index update ou ord server. Os motivos para reindexar são:

  1. Uma nova versão principal do ord, que altera o esquema do banco de dados
  2. CO banco de dados foi corrompido de alguma forma

O banco de dados que ord usa é chamado redb, então damos ao índice o nome de arquivo padrão index.redb. Por padrão, armazenamos esse arquivo em locais diferentes, dependendo do seu sistema operacional.

PlataformaValorExemplo
Linux$XDG_DATA_HOME/ord ou $HOME/.local/share/ord/home/alice/.local/share/ord
macOS$HOME/Library/Application Support/ord/Users/Alice/Library/Application Support/ord
Windows{FOLDERID_RoamingAppData}\ordC:\Users\Alice\AppData\Roaming\ord

Portanto, para deletar o banco de dados e reindexar no MacOS você teria que executar os seguintes comandos no terminal:

rm ~/Library/Application Support/ord/index.redb
ord index update

É claro que você também pode definir a localização do diretório de dados com ord --datadir <DIR> index update ou fornecer um nome de arquivo e caminho específicos com ord --index <ARQUIVO> index update.

Caçando Sats

A caça de Ordinals é difícil, mas gratificante. A sensação de possuir uma carteira cheia de UTXOs impregnada com o cheiro de sats raros e exóticos é incomparável.

Os Ordinals são números para satoshis. Todo satoshi possui um número ordinal e todo número ordinal possui um satoshi.

Preparação

Existem algumas coisas que você precisa antes de começar.

  1. Primeiro, você precisará de um nó Bitcoin Core sincronizado com um índice de transação. Para ativar a indexação de transações, passe -txindex na linha de comando:

    bitcoind -txindex
    

    Ou coloque o seguinte em seu arquivo de configuração Bitcoin:

    txindex=1
    

    Execute-o e espere que ele alcance a ponta da cadeia, momento em que o seguinte comando deverá imprimir a altura atual do bloco:

    bitcoin-cli getblockcount
    
  2. Em segundo lugar, você precisará de um índice ord sincronizado.

    • Obtenha uma cópia do ord no repo.

    • Run ord --index-sats server. It should connect to your bitcoin core node and start indexing.

    • Once it has finished indexing, leave the server running and submit new ord commands in a separate terminal session.

  3. Terceiro, você precisará de uma carteira com UTXOs que deseja pesquisar.

Procurando por Ordinais Raros

Procurando por Ordinais Raros em uma Carteira Bitcoin Core

O comando ord wallet é apenas um wrapper da API RPC do Bitcoin Core, portanto, procurar por ordinais raros em uma carteira Bitcoin Core é fácil. Supondo que sua carteira se chame foo:

  1. Carregue sua carteira:

    bitcoin-cli loadwallet foo
    
  2. Exiba os UTXOs da carteira foo de ordinais raros:

    ord --index-sats wallet --name foo sats
    

Procurando por ordinais raros em uma carteira que não seja Bitcoin Core

O comando ord wallet é apenas um wrapper da API RPC do Bitcoin Core, portanto, para procurar ordinais raros em uma carteira que não seja do Bitcoin Core, você precisará importar os descritores da sua carteira para o Bitcoin Core.

Os descritores descrevem as maneiras pelas quais as carteiras geram chaves privadas e chaves públicas.

Você só deve importar descritores para o Bitcoin Core para as chaves públicas da sua carteira, não para as chaves privadas.

Se o descritor de chave pública da sua carteira for comprometido, um invasor poderá ver os endereços da sua carteira, mas seus fundos estarão seguros.

Se o descritor de chave privada da sua carteira estiver comprometido, um invasor poderá drenar os fundos da sua carteira.

  1. Obtenha o descritor da carteira cujos UTXOs você deseja pesquisar por ordinais raros. Vai parecer algo assim:

    wpkh([bf1dd55e/84'/0'/0']xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/0/*)#csvefu29
    
  2. CCrie uma carteira somente de leitura chamada foo-apenas-leitura:

    bitcoin-cli createwallet foo-watch-only true true
    

    Sinta-se à vontade para dar um nome melhor do que foo-apenas-leitura!

  3. Carregue a carteira foo-apenas-leitura:

    bitcoin-cli loadwallet foo-watch-only
    
  4. Importe os descritores da sua carteira para foo-apenas-leitura:

    bitcoin-cli importdescriptors \
      '[{ "desc": "wpkh([bf1dd55e/84h/0h/0h]xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/0/*)#tpnxnxax", "timestamp":0 }]'
    

    Se você sabe o timestamp de data/hora Unix de quando sua carteira começou a receber transações, você pode usá-lo para o valor de "timestamp" em vez de 0. Isso reduzirá o tempo que o Bitcoin Core leva para procurar os UTXOs da sua carteira.

  5. Verifique se tudo funcionou:

    bitcoin-cli getwalletinfo
    
  6. Exiba os ordinais raros da sua carteira:

    ord wallet sats
    

Procurando Ordinais Raros em uma Carteira que Exporta Descritores de Múltiplos Caminhos (Multi-Path)

AAlguns descritores descrevem vários caminhos em um descritor usando colchetes angulares, por exemplo, <0;1>. Descritores de múltiplos caminhos ainda não são suportados pelo Bitcoin Core, então primeiro você precisará convertê-los em múltiplos descritores e, em seguida, importar esses múltiplos descritores para o Bitcoin Core.

  1. Primeiro, obtenha o descritor de múltiplos caminhos da sua carteira. Vai parecer algo assim:

    wpkh([bf1dd55e/84h/0h/0h]xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/<0;1>/*)#fw76ulgt
    
  2. Crie um descritor para o caminho do endereço de recebimento:

    wpkh([bf1dd55e/84'/0'/0']xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/0/*)
    

    E o caminho do endereço de troco:

    wpkh([bf1dd55e/84'/0'/0']xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/1/*)
    
  3. Obtenha e anote a soma de verificação (checksum) do descritor do endereço de recebimento, neste caso tpnxnxax:

    bitcoin-cli getdescriptorinfo \
      'wpkh([bf1dd55e/84h/0h/0h]xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/0/*)'
    
    {
      "descriptor": "wpkh([bf1dd55e/84'/0'/0']xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/0/*)#csvefu29",
      "checksum": "tpnxnxax",
      "isrange": true,
      "issolvable": true,
      "hasprivatekeys": false
    }
    

    E para o descritor do endereço de troco, neste caso 64k8wnd7:

    bitcoin-cli getdescriptorinfo \
      'wpkh([bf1dd55e/84h/0h/0h]xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/1/*)'
    
    {
      "descriptor": "wpkh([bf1dd55e/84'/0'/0']xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/1/*)#fyfc5f6a",
      "checksum": "64k8wnd7",
      "isrange": true,
      "issolvable": true,
      "hasprivatekeys": false
    }
    
  4. Carregue a carteira para a qual deseja importar os descritores:

    bitcoin-cli loadwallet foo-watch-only
    
  5. Agora importe os descritores, com os checksums corretos, para o Bitcoin Core.

    bitcoin-cli \
     importdescriptors \
     '[
       {
         "desc": "wpkh([bf1dd55e/84h/0h/0h]xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/0/*)#tpnxnxax"
         "timestamp":0
       },
       {
         "desc": "wpkh([bf1dd55e/84h/0h/0h]xpub6CcJtWcvFQaMo39ANFi1MyXkEXM8T8ZhnxMtSjQAdPmVSTHYnc8Hwoc11VpuP8cb8JUTboZB5A7YYGDonYySij4XTawL6iNZvmZwdnSEEep/1/*)#64k8wnd7",
         "timestamp":0
       }
     ]'
    

    Se você conhece o timestamp de data/hora Unix quando sua carteira começou a receber transações, você pode usá-lo para o valor dos campos "timestamp" em vez de 0. Isso reduzirá o tempo que o Bitcoin Core leva para procurar os UTXOs da sua carteira.

  6. Verifique se tudo funcionou:

    bitcoin-cli getwalletinfo
    
  7. Exiba os ordinais raros da sua carteira:

    ord wallet sats
    

Exportando Descritores

Carteira Sparrow

Navegue até a guia Configurações, depois até Política de script e pressione o botão de edição para exibir o descritor.

Transferindo Ordinals

The ord wallet supports transferring specific satoshis by using the name of the satoshi. To send the satoshi zonefruits, do:

ord wallet send <RECEIVING_ADDRESS> zonefruits --fee-rate 21

You can also use the bitcoin-cli commands createrawtransaction, signrawtransactionwithwallet, and sendrawtransaction, but this method can be complex and is outside the scope of this guide.

Settings

ord can be configured with the command line, environment variables, a configuration file, and default values.

The command line takes precedence over environment variables, which take precedence over the configuration file, which takes precedence over defaults.

The path to the configuration file can be given with --config <CONFIG_PATH>. ord will error if <CONFIG_PATH> doesn't exist.

The path to a directory containing a configuration file name named ord.yaml can be given with --config-dir <CONFIG_DIR_PATH> or --datadir <DATA_DIR_PATH> in which case the config path is <CONFIG_DIR_PATH>/ord.yaml or <DATA_DIR_PATH>/ord.yaml. It is not an error if it does not exist.

If none of --config, --config-dir, or --datadir are given, and a file named ord.yaml exists in the default data directory, it will be loaded.

For a setting named --setting-name on the command line, the environment variable will be named ORD_SETTING_NAME, and the config file field will be named setting_name. For example, the data directory can be configured with --datadir on the command line, the ORD_DATA_DIR environment variable, or data_dir in the config file.

See ord --help for documentation of all the settings.

ord's current configuration can be viewed as JSON with the ord settings command.

Example Configuration

# example config

# see `ord --help` for setting documentation

bitcoin_data_dir: /var/lib/bitcoin
bitcoin_rpc_password: bar
bitcoin_rpc_url: https://localhost:8000
bitcoin_rpc_username: foo
chain: mainnet
commit_interval: 10000
config: /var/lib/ord/ord.yaml
config_dir: /var/lib/ord
cookie_file: /var/lib/bitcoin/.cookie
data_dir: /var/lib/ord
height_limit: 1000
hidden:
- 6fb976ab49dcec017f1e201e84395983204ae1a7c2abf7ced0a85d692e442799i0
- 703e5f7c49d82aab99e605af306b9a30e991e57d42f982908a962a81ac439832i0
index: /var/lib/ord/index.redb
index_addresses: true
index_cache_size: 1000000000
index_runes: true
index_sats: true
index_transactions: true
integration_test: true
no_index_inscriptions: true
server_password: bar
server_url: http://localhost:8888
server_username: foo

Hiding Inscription Content

Inscription content can be selectively prevented from being served by ord server.

Unlike other settings, this can only be configured with the configuration file or environment variables.

To hide inscriptions with an environment variable:

export ORD_HIDDEN='6fb976ab49dcec017f1e201e84395983204ae1a7c2abf7ced0a85d692e442799i0 703e5f7c49d82aab99e605af306b9a30e991e57d42f982908a962a81ac439832i0'

Or with the configuration file:

hidden:
- 6fb976ab49dcec017f1e201e84395983204ae1a7c2abf7ced0a85d692e442799i0
- 703e5f7c49d82aab99e605af306b9a30e991e57d42f982908a962a81ac439832i0

Teleburning

Teleburn addresses can be used to burn assets on other blockchains, leaving behind in the smoking rubble a sort of forwarding address pointing to an inscription on Bitcoin.

Teleburning an asset means something like, "I'm out. Find me on Bitcoin."

Teleburn addresses are derived from inscription IDs. They have no corresponding private key, so assets sent to a teleburn address are burned. Currently, only Ethereum teleburn addresses are supported. Pull requests adding teleburn addresses for other chains are welcome.

Ethereum

Ethereum teleburn addresses are derived by taking the first 20 bytes of the SHA-256 hash of the inscription ID, serialized as 36 bytes, with the first 32 bytes containing the transaction ID, and the last four bytes containing big-endian inscription index, and interpreting it as an Ethereum address.

Exemplo

The ENS domain name rodarmor.eth, was teleburned to inscription zero.

The inscription ID of inscription zero is 6fb976ab49dcec017f1e201e84395983204ae1a7c2abf7ced0a85d692e442799i0.

Passing 6fb976ab49dcec017f1e201e84395983204ae1a7c2abf7ced0a85d692e442799i0 to the teleburn command:

$ ord teleburn 6fb976ab49dcec017f1e201e84395983204ae1a7c2abf7ced0a85d692e442799i0

Returns:

{
  "ethereum": "0xe43A06530BdF8A4e067581f48Fae3b535559dA9e"
}

Indicating that 0xe43A06530BdF8A4e067581f48Fae3b535559dA9e is the Ethereum teleburn address for inscription zero, which is, indeed, the current owner, on Ethereum, of rodarmor.eth.

Testando

Test Environment

ord env <DIRECTORY> creates a test environment in <DIRECTORY>, spins up bitcoind and ord server instances, prints example commands for interacting with the test bitcoind and ord server instances, waits for CTRL-C, and then shuts down bitcoind and ord server.

ord env tries to use port 9000 for bitcoind's RPC interface, and port 9001 for ord's RPC interface, but will fall back to random unused ports.

Inside of the env directory, ord env will write bitcoind's configuration to bitcoin.conf, ord's configuration to ord.yaml, and the env configuration to env.json.

env.json contains the commands needed to invoke bitcoin-cli and ord wallet, as well as the ports bitcoind and ord server are listening on.

These can be extracted into shell commands using jq:

bitcoin=`jq -r '.bitcoin_cli_command | join(" ")' env/env.json`
$bitcoin listunspent

ord=`jq -r '.ord_wallet_command | join(" ")' env/env.json`
$ord outputs

If ord is in the $PATH and the env directory is env, the bitcoin-cli command will be:

bitcoin-cli -datadir=env

And the ord will be:

ord --datadir env

Test Networks

Ord pode ser testado usando os seguintes sinalizadores para especificar a rede de teste. Para obter mais informações sobre como executar o Bitcoin Core para testes, consulte a documentação do desenvolvedor do Bitcoin.

Most ord commands in wallet and explorer can be run with the following network flags:

RedeBandeira
Testnet--testnet ou -t
Signet--signet o -s
Regtest--regtest o -r

Regtest doesn't require downloading the blockchain since you create your own private blockchain, so indexing ord is almost instantaneous.

Exemplo

Run bitcoind in regtest with:

bitcoind -regtest -txindex

Run ord server in regtest with:

ord --regtest server

Crie uma carteira em regtest com:

ord --regtest wallet create

Obtenha um endereço de recebimento de regtest com:

ord --regtest wallet receive

Minere 101 blocos (para desbloquear a coinbase) com:

bitcoin-cli -regtest generatetoaddress 101 <receive address>

Inscreva no regtest com:

ord --regtest wallet inscribe --fee-rate 1 --file <file>

Minere a inscrição:

bitcoin-cli -regtest generatetoaddress 1 <receive address>

By default, browsers don't support compression over HTTP. To test compressed content over HTTP, use the --decompress flag:

ord --regtest server --decompress

Testando Recursão

Ao testar recursão, inscreva as dependências primeiro (exemplo com p5.js):

ord --regtest wallet inscribe --fee-rate 1 --file p5.js

This will return the inscription ID of the dependency which you can then reference in your inscription.

However, inscription IDs differ between mainnet and test chains, so you must change the inscription IDs in your inscription to the mainnet inscription IDs of your dependencies before making the final inscription on mainnet.

Então você pode inscrever sua inscrição recursiva com:

ord --regtest wallet inscribe --fee-rate 1 --file recursive-inscription.html

Finalmente você terá que minerar alguns blocos e iniciar o servidor:

bitcoin-cli generatetoaddress 6 <receive address>

Mainnet Dependencies

To avoid having to change dependency inscription IDs to mainnet inscription IDs, you may utilize a content proxy when testing. ord server accepts a --proxy option, which takes the URL of a another ord server instance. When making a request to /content/<INSCRIPTION_ID> when a content proxy is set and the inscription is not found, ord server will forward the request to the content proxy. This allows you to run a test ord server instance with a mainnet content proxy. You can then use mainnet inscription IDs in your test inscription, which will then return the content of the mainnet inscriptions.

ord --regtest server --proxy https://ordinals.com

Dicas para Caça à Recompensa de Ordinals

  • A carteira ord pode enviar e receber satoshis específicos. Além disso, a teoria ordinal é extremamente simples. Um hacker inteligente deve ser capaz de escrever código do zero para manipular satoshis usando a teoria ordinal rapidamente.

  • Para obter mais informações sobre a teoria ordinal, consulte o FAQ para uma visão geral, o BIP para os detalhes técnicos e o repositório ord para a carteira ord e o explorador de blocos.

  • Satoshi foi o desenvolvedor original da teoria ordinal. No entanto, ele sabia que outros considerariam isso herético e perigoso, então ele escondeu seu conhecimento e ele se perdeu nas areias do tempo. Esta poderosa teoria só agora está sendo redescoberta. Você pode ajudar pesquisando satoshis raros.

Boa sorte!

Recompensa Ordinal 0

Critérios

Enviar um sat cujo número ordinal termina em zero para o endereço de entrega:

✅: 1857578125803250

❌: 1857578125803251

O sat deve ser o primeiro sat da saída que você envie.

Recompensa

100.000 sats

Endereço de Entrega

1PE7u4wbDP2RqfKN6geD1bG57v9Gj9FXm3

Estado

Reivindicado por @count_null!

Recompensa Ordinal 1

Critérios

Será considerada vencedora a transação que entregar um UTXO contendo o sat mais antigo, ou seja, aquele com o menor número, entre todos os UTXOs entregues.

A recompensa está aberta para inscrições até o bloco 753984 – o primeiro bloco do período de ajuste de dificuldade 374. As inscrições incluídas no bloco 753984 ou posterior não serão consideradas.

Recompensa

200.000 sats

Endereço de Entrega

145Z7PFHyVrwiMWwEcUmDgFbmUbQSU9aap

Estado

Reivindicado por @ordinalsindex!

Recompensa Ordinal 2

Critérios

Send an uncommon sat to the submission address:

✅: 347100000000000

❌: 6685000001337

Confirme se o endereço de entrega não recebeu transações antes de enviar sua inscrição. Somente o primeiro envio bem-sucedido será recompensado.

Recompensa

300.000 sats

Endereço de Entrega

1Hyr94uypwWq5CQffaXHvwUMEyBPp3TUZH

Estado

Reivindicado por @utxoset!

Recompensa Ordinal 3

Critérios

A Recompensa Ordinal 3 tem duas partes, ambas baseadas em nomes ordinais. Os nomes ordinais são uma codificação modificada de base 26 de números ordinais. Para evitar o bloqueio de nomes curtos dentro da recompensa da coinbase do bloco genesis, que não pode ser gasta, os nomes ordinais ficam mais curtos à medida que o número ordinal fica mais longo. O nome do sat 0, o primeiro sat a ser extraído é nvtdijuwxlp e o nome do sat 2.099.999.997.689.999, o último sat a ser extraído, é a.

The bounty is open for submissions until block 840000—the first block after the fourth halving. Submissions included in block 840000 or later will not be considered.

Ambas as partes usam frequency.tsv, uma lista de palavras e o número de vezes que elas ocorrem no conjunto de dados Ngram do Google Books filtrado para incluir apenas os nomes dos sats que terão sido minerados até o final do período de entrega, que aparecem pelo menos 5.000 vezes no corpus.

frequency.tsv é um arquivo de valores separados por tabulações. A primeira coluna é a palavra e a segunda é o número de vezes que ela aparece no corpus. As entradas são classificadas da que ocorre com menos frequência para a que ocorre com mais frequência.

frequency.tsv foi compilado usando este programa.

Para pesquisar sats em uma carteira ord com um nome em frequency.tsv, use o seguinte comando ord:

ord wallet sats --tsv frequency.tsv

Este comando requer o índice sat (sat index), então --index-sats deve ser passado ao ord ao criar o índice pela primeira vez.

Parte 0

Sats raros combinam melhor com palavras raras.

A transação que enviar o UTXO contendo o sat cujo nome apareça com menor número de ocorrências em frequency.tsv será a vencedora da parte 0.

Parte 1

Popularity is the fount of value.

A transação que enviar o UTXO contendo o sat cujo nome apareça com maior número de ocorrências em frequency.tsv será a vencedora da parte 1.

Desempate

Em caso de empate, onde ocorrerem dois envios com a mesma frequência, o envio que foi realizado primeiro será o vencedor.

Recompensa

  • Parte 0: 200.000 sats
  • Parte 1: 200.000 sats
  • Total: 400.000 sats

Endereço de Entrega

17m5rvMpi78zG8RUpCRd6NWWMJtWmu65kg

Estado

Não foi reivindicado!