TAPEAPIDocs GitHub

Introduction

Tape out a circuit, and its container is your API. TapeAPI is the service and communication layer of the TapeOut ecosystem on BNB Chain: DeWEB is websites, TapeSend is messaging, and TapeAPI is services.

An API today is a URL plus an account plus trust. TapeAPI replaces the account with an on-chain identity and the trust with a signature anyone can check:

  • The service is a circuit. Whoever holds the circuit NFT owns the service. Transfer the NFT and the service moves with it.
  • Every answer is signed and bound to your request. A client checks the signature against a key the circuit's holder authorised on chain. A tampered, replayed or unsigned answer is an error, never a result.
  • No sign-up, no API keys. Free methods are just called. Paid methods take off-chain vouchers that settle on chain in batches, and the protocol takes zero fees.
  • Containers can talk privately. End-to-end encrypted channels and groups between containers, carried by relays or by the chain itself.

How it works

  1. Identity. A provider tapes out a circuit on TapeOut. The circuit's container (an ERC-6551 account) is the service's address.
  2. Manifest. The provider writes .well-known/tapeapi.json into the container's site: endpoints, methods, prices, the signing key, and the holder's EIP-712 delegation of that key.
  3. Resolve. A client reads the manifest from the chain through several RPC nodes that must agree, checks its hash, and checks the delegation against the circuit's current holder.
  4. Call. The client sends a request; the service answers with an envelope signed by the delegated key and bound to that request. The SDK returns the result only after checking it.

Choose your path

I want toRead
Read BNB Chain data now, free and signed, or use a public relayPublic API
Call a TapeAPI service from an appCall a service
Offer my code or an existing API as a serviceRun a service
Send encrypted messages between containersPrivate channels
Let an AI agent use services safelyAI agents
Fix an errorFAQ

Status

Pre-alpha, version 0.1.0. The free tier runs on TapeOut's deployed contracts. Our own contracts have no third-party audit; the paid-call escrow is not deployed yet. Interfaces may still change, and the TAP numbers are proposed to the TapeKit maintainers, not yet assigned.

On-chain addresses

BNB Smart Chain, chainId 56.

ContractAddressOwner
DeWebHub0xe61A9C7213a6Aa616C246a2B569e555B417b25eeTapeOut
SiteRegistry0xd006ffdd5Ae313B17729621A00999cD3C71CE5e6TapeOut
Processor factory0x68224F668083c29e9800Be2a646d42d18cedF7e2TapeOut
BEM token0x5ce033b2bfca3af30b3e8c8457deaf776a8b695aTapeOut
ChannelBus0x486110c35d9b90a9d6D85c8063A065f9e7b6b707TapeAPI: no owner, no state, no upgrade path
TapeAPIEscrow, ServiceDirectorynot deployedTapeAPI

Public services

Free TapeAPI services run by the project, each under its own circuit on processor 1013 (0xe02c26c7432A7121168AA9B610DE24eCf9a1a414). They are services, not contracts; see Public API.

ServiceIdentityContainerURL
Public API (8 read methods)11.1013.tape0x1b2A657BcBa9D3229f57aC2f4FcbEE2AA756aAe8https://api.tapeapi.fun
Public relay (relaySend, relayHandshake, relayRecv)12.1013.tape0x9cD838625251576c199B2DeF7A17e50266843185https://relay.tapeapi.fun

Specifications

The protocol is written down as TAPs, in English and Chinese (English authoritative), under CC0.

TAPTitle
TAP-20Service identity and manifest
TAP-21Signed response envelope
TAP-22Metered payment
TAP-23Attested cross-chain read
TAP-24Intent RFQ (frozen)
TAP-25Circuit-verified methods
TAP-26Private channels
TAP-27Private groups

Source code, examples and the conformance suite are on GitHub.

Credits

The idea of a service layer for TapeOut came from @Theairresearch. A permanent 10% of any revenue TapeAPI earns goes to them.

Edit this page on GitHub