Unificar el ecosistema
async function usdcCrossChainTransfer(amount: number, destinationAddress: string) { // Deposit USDC tokens for burn and obtain transaction hash const burnUsdcTx = await ethTokenMessengerContract.depositForBurn(amount, AVAX_DESTINATION_DOMAIN, destinationAddress, USDC_ETH_CONTRACT_ADDRESS).send(); // Extract message from burn transaction and calculate messageHash const { messageBytes, messageHash } = extractMessageAndHash(burnUsdcTx); // Retrieve attestation for message hash and mint USDC on AVAX tokens on the destination chain const { attestation } = await fetch(`https://iris-api-sandbox.circle.com/attestations/${messageHash}`).json(); // Mint the USDC on AVAX tokens on the destination chain using the burn transaction message and attestation await avaxMessageTransmitterContract.receiveMessage(messageBytes, attestation).send(); }
USDC interoperable de forma nativa
Cross-Chain Transfer Protocol (CCTP) es una utilidad en cadena sin permiso que facilita las transferencias de USDC de forma segura entre blockchains a través de la quema y acuñación nativas.
Máxima eficiencia de capital
CCTP resuelve los problemas de fragmentación de liquidez y de mala experiencia del usuario causados por formas puente de USDC no oficiales que surgen en torno al ecosistema.
Básicamente, las aplicaciones fundadas en CCTP pueden teletransportar USDC de una blockchain a otra, lo que proporciona a los usuarios una forma altamente segura y eficiente en términos de capital para realizar transacciones en un mundo multicadena.
Sin permisos y componible
CCTP es un recurso de base primario para que los desarrolladores aprovechen y amplíen. Inserte el protocolo dentro de su aplicación, billetera o puente, y permita a los usuarios mover cualquier cantidad de USDC a cualquier ecosistema compatible.
En muchos casos, su aplicación puede heredar la funcionalidad de CCTP de un SDK de puente o billetera que ya forma parte de su pila.
Cómo funciona
Quema y acuñación programáticas
// Call the MessageTransmitter receiveMessage function on the destination chain const receiveTx = await) avaxMessageTransmitterContract.receiveMessage(receivingMessageBytes, signature);
Transferencia completa en la cadena de destino
Su aplicación utiliza la certificación para activar la acuñación de USDC. La cantidad especificada de USDC se acuña en la cadena de destino y se envía a la dirección de la billetera del destinatario.
// Extract the message from the emitted MessageSent event const transactionReceipt = await web3.eth.getTransactionReceipt(burnTx.transactionHash); const eventTopic = web3.utils.keccak256('MessageSent(bytes)') const log = transactionReceipt.logs.find((l) => l.topics[0] === eventTopic) const messageBytes = web3.eth.abi.decodeParameters(['bytes']) const messageHash = web3.utils.keccak256(messageBytes); // Fetch the attestation from Circle's API let attestationResponse = {status: 'pending'}; while (attestationResponse.status != 'complete') { attestationResponse = (await fetch('https://iris-api-sandbox.circle.com/attestations/${messageHash}')).json(); // Wait 2 seconds in between calls await new Promise(r => setTimeout(r, 2000)); }
Obtener un certificado firmado de Circle
Circle vigila y certifica el evento de quema en la cadena de origen. Su aplicación solicita la certificación de Circle, lo cual proporciona la autorización para acuñar la cantidad especificada de USDC en la cadena de destino.
// Call the TokenMessenger depositForBurn const transactionReceipt = await web3.eth.getTransactionReceipt(burnTx.transactionHash); function on the source chain const burnTx = await ethTokenMessengerContract.methods.depositForBurn(amount, AVAX_DESTINATION_DOMAIN, destinationAddressInBytes32, USDC_ETH_CONTRACT_ADDRESS).send();
Iniciar la transferencia en la cadena de origen
El usuario accede a su aplicación para iniciar una transferencia de USDC de una blockchain a otra y especifica la dirección de la billetera del destinatario en la cadena de destino. Su aplicación facilita la quema de la cantidad especificada de USDC en la cadena de origen.
Innovar
Cree los nuevos casos del mundo real
Desarrolle sobre CCTP para crear experiencias integradas que agrupen funciones, como intercambios, préstamos, pagos, NFT, juegos, entre otros. Todo esto sin complejidades para el usuario.
Ofrecer intercambios entre cadenas
Permita que los usuarios intercambien activos digitales que conviven en diferentes blockchains, incluso a través de grupos L2 (p. ej., el ARB en Arbitrum por OP en OP Mainnet). De forma completamente automatizada, el ARB se puede intercambiar por USDC en Arbitrum, enrutarse mediante CCTP a OP Mainnet y cambiarse por OP.
Habilitar depósitos entre cadenas
Permita que los usuarios utilicen USDC en Ethereum para abrir una posición de trading en un decentralized exchange en Base. Dado que CCTP puede enrutar USDC entre blockchains en silencio, los usuarios pueden incorporar una nueva aplicación y nunca tener que cambiar de billetera ni pensar en qué blockchain tienen los USDC.
Ofrece compras entre cadenas
Con un solo clic, el usuario puede utilizar USDC en Polygon PoS para comprar un NFT basado en Avalanche en Uniswap y ponerlo a la venta en OpenSea. Cuando el usuario inicia la transacción, CCTP enruta su USDC de Polygon PoS a Avalanche para comprar el NFT de Uniswap y, a continuación, abre la venta en OpenSea.
Optimizar la tesorería entre cadenas
Las aplicaciones del mercado pueden aceptar pagos en USDC en múltiples blockchains y usar CCTP para transferencias masivas en segundo plano. Los intercambios y los puentes de reserva de liquidez pueden usar CCTP para reequilibrar de manera segura las tenencias de USDC por blockchain a fin de reducir los costos operativos y satisfacer la demanda de retiro sobre la marcha.
Disponibilidad
Disponible en 8 cadenas que habilitan 56 rutas
CCTP está disponible en Arbitrum, Avalanche, Base, Ethereum, Noble, OP Mainnet, Polygon PoS y Solana.
Preguntas frecuentes
CCTP es una utilidad en cadena sin permisos que permite la circulación de USDC entre cadenas mediante la quema y acuñación nativas. Con CCTP, el USDC se teletransporta de forma efectiva de una blockchain a otra.
CCTP constituye una infraestructura sin permisos que los desarrolladores pueden usar de base para construir sus aplicaciones, billeteras y puentes existentes, o para integrarla a ellos.
No. CCTP es una utilidad en cadena sin permisos para desarrolladores de terceros.
Habría una tarifa de gas en la cadena de origen y una tarifa de gas en la cadena de destino. La aplicación que integre CCTP sería la encargada de determinar cómo se manejan las tarifas de gas o se las transmiten al usuario final. No hay cargos adicionales por parte de CCTP.
CCTP está disponible en la red principal para Arbitrum, Avalanche, Base, Ethereum, Noble, OP Mainnet, Polygon PoS y Solana. Los desarrolladores pueden acceder a nuestros documentos para desarrolladores para comenzar a crear sobre CCTP.
Sí, Circle Mint y Core API tienen la capacidad de mover USDC de forma nativa entre cadenas. Sin embargo, esos productos comerciales solo están disponibles para las empresas calificadas con aprobación de Circle.
Los exchanges centralizados suelen contener varias formas nativas de liquidez del USDC en sus plataformas. Los usuarios que poseen una cuenta en un exchange centralizado pueden depositar USDC (nativo de una cadena determinada) en la billetera de su exchange y, luego, retirar USDC (nativo de una cadena diferente) a su billetera externa.
Por el contrario, CCTP no requiere permisos, por lo que, cualquier desarrollador externo tiene acceso a CCTP y puede integrarlo en sus aplicaciones sin necesidad de registrarse para obtener una cuenta. Los usuarios pueden mover USDC a través de una aplicación con CCTP habilitado a cualquier blockchain compatible en cualquier momento. Además, los desarrolladores pueden crear nuevas experiencias en cadena fundadas en CCTP dentro de sus aplicaciones.
CCTP no requiere reserva de liquidez del USDC para realizar transferencias entre cadenas, lo que aumenta la eficiencia del capital y evita el cargo de tarifas por parte de los proveedores de liquidez.
Todas las quemas de USDC emiten un evento en la cadena de origen que el servicio de certificación de Circle vigila automáticamente. La aplicación que facilita la quema de USDC se encarga de obtener el certificado firmado de Circle, que, a su vez, permite que CCTP acuñe USDC en la cadena de destino.
Si bien su falta de disponibilidad impediría temporalmente que se firmen nuevos mensajes de quema, anticipamos un tiempo de actividad y disponibilidad firmes similares a la forma en que operan nuestros servicios de acuñación existentes en la actualidad.
No.
CCTP no tiene impacto directo sobre las versiones puente existentes del USDC.
Los planes de Circle de llevar USDC de forma nativa a más redes blockchain siguen intactos y seguirán creciendo. Nuestra visión es que CCTP establezca el USDC como una capa de liquidez universal para internet que sea accesible para todos.